Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Por que você deve escolher o Xamarin para desenvolver o seu próximo app?

Por que você deve escolher o Xamarin para desenvolver o seu próximo app?

790726f5b5613d61926dea2e2efd4da1?s=128

Ione Souza Junior

July 20, 2019
Tweet

Transcript

  1. Por que você deve escolher o Xamarin para desenvolver o

    seu próximo app?
  2. Whois 4 Ione Souza Junior 4 Mobile Developer @ 4

    ❤ Xamarin ! 4 Um bom Xamaritano " 4 @ionixjunior 4 junior@ionixjunior.com.br
  3. O que vamos ver...

  4. O que vamos ver...

  5. O que vamos ver... 4 Entender como funciona o desenvolvimento

    mobile
  6. O que vamos ver... 4 Entender como funciona o desenvolvimento

    mobile 4 Entender o que é o Xamarin e como trabalhamos com ele
  7. O que vamos ver... 4 Entender como funciona o desenvolvimento

    mobile 4 Entender o que é o Xamarin e como trabalhamos com ele 4 Sanar algumas dúvidas sobre a plataforma
  8. O que vamos ver... 4 Entender como funciona o desenvolvimento

    mobile 4 Entender o que é o Xamarin e como trabalhamos com ele 4 Sanar algumas dúvidas sobre a plataforma 4 Ver exemplos práticos
  9. O que vamos ver... 4 Entender como funciona o desenvolvimento

    mobile 4 Entender o que é o Xamarin e como trabalhamos com ele 4 Sanar algumas dúvidas sobre a plataforma 4 Ver exemplos práticos 4 Ver alguns comparativos com as principais tecnologias multiplataformas
  10. ⚠ Não se preocupe! Não vou ser aquele cara chato

    que só vai falar bem do Xamarin
  11. Antes de falar sobre Xamarin, vamos contextualizar...

  12. Como o desenvolvimento mobile se iniciou...

  13. None
  14. Como o desenvolvimento mobile foi facilitado...

  15. None
  16. E o Xamarin? Existem 2 abordagens de desenvolvimento com Xamarin:

    Xamarin Clássico e Xamarin.Forms
  17. None
  18. None
  19. Xamarin Clássico

  20. None
  21. Xamarin.Forms

  22. Principais tecnologias multiplataformas

  23. Principais tecnologias multiplataformas 4 Xamarin 4 React Native 4 Flutter

    4 Ionic 4 PWA
  24. Mas essa evolução não aconteceu de forma linear...

  25. Linha do tempo

  26. Linha do tempo ‑ 2002: Release inicial do .NET Framework

  27. Linha do tempo ‑ 2002: Release inicial do .NET Framework

    ‑ 2004: Release inicial do Mono
  28. Linha do tempo ‑ 2002: Release inicial do .NET Framework

    ‑ 2004: Release inicial do Mono ‑ 2008: Surgimento das stores
  29. Linha do tempo ‑ 2002: Release inicial do .NET Framework

    ‑ 2004: Release inicial do Mono ‑ 2008: Surgimento das stores ‑ 2009: Release inicial do Cordova
  30. Linha do tempo ‑ 2002: Release inicial do .NET Framework

    ‑ 2004: Release inicial do Mono ‑ 2008: Surgimento das stores ‑ 2009: Release inicial do Cordova ‑ 2011: Xamarin foi fundado
  31. Linha do tempo ‑ 2002: Release inicial do .NET Framework

    ‑ 2004: Release inicial do Mono ‑ 2008: Surgimento das stores ‑ 2009: Release inicial do Cordova ‑ 2011: Xamarin foi fundado ‑ 2013: Release inicial do Ionic
  32. Linha do tempo ‑ 2002: Release inicial do .NET Framework

    ‑ 2004: Release inicial do Mono ‑ 2008: Surgimento das stores ‑ 2009: Release inicial do Cordova ‑ 2011: Xamarin foi fundado ‑ 2013: Release inicial do Ionic ‑ 2015: Release inicial do React Native
  33. Linha do tempo ‑ 2002: Release inicial do .NET Framework

    ‑ 2004: Release inicial do Mono ‑ 2008: Surgimento das stores ‑ 2009: Release inicial do Cordova ‑ 2011: Xamarin foi fundado ‑ 2013: Release inicial do Ionic ‑ 2015: Release inicial do React Native ‑ 2015: Flutter foi apresentado pelo Google
  34. Linha do tempo ‑ 2002: Release inicial do .NET Framework

    ‑ 2004: Release inicial do Mono ‑ 2008: Surgimento das stores ‑ 2009: Release inicial do Cordova ‑ 2011: Xamarin foi fundado ‑ 2013: Release inicial do Ionic ‑ 2015: Release inicial do React Native ‑ 2015: Flutter foi apresentado pelo Google ‑ 2015: Surgimento do termo PWA
  35. Linha do tempo ‑ 2002: Release inicial do .NET Framework

    ‑ 2004: Release inicial do Mono ‑ 2008: Surgimento das stores ‑ 2009: Release inicial do Cordova ‑ 2011: Xamarin foi fundado ‑ 2013: Release inicial do Ionic ‑ 2015: Release inicial do React Native ‑ 2015: Flutter foi apresentado pelo Google ‑ 2015: Surgimento do termo PWA ‑ 2016: Microsoft comprou o Xamarin
  36. Linha do tempo ‑ 2002: Release inicial do .NET Framework

    ‑ 2004: Release inicial do Mono ‑ 2008: Surgimento das stores ‑ 2009: Release inicial do Cordova ‑ 2011: Xamarin foi fundado ‑ 2013: Release inicial do Ionic ‑ 2015: Release inicial do React Native ‑ 2015: Flutter foi apresentado pelo Google ‑ 2015: Surgimento do termo PWA ‑ 2016: Microsoft comprou o Xamarin ‑ >= 2019: Qual será a nova plataforma? !
  37. Tá, mas... por que Xamarin?

  38. Tá, mas... por que Xamarin?

  39. Tá, mas... por que Xamarin? 4 Interfaces feitas com XML

    (Android) ou Storyboard (iOS) podem ser utilizadas
  40. Tá, mas... por que Xamarin? 4 Interfaces feitas com XML

    (Android) ou Storyboard (iOS) podem ser utilizadas 4 Códigos Java / Kotlin e Objective-C / Swift podem ser facilmente adaptados para C#
  41. Tá, mas... por que Xamarin? 4 Interfaces feitas com XML

    (Android) ou Storyboard (iOS) podem ser utilizadas 4 Códigos Java / Kotlin e Objective-C / Swift podem ser facilmente adaptados para C# 4 Paradigma de desenvolvimento praticamente igual ao nativo, mas com muitas vantagens
  42. Tá, mas... por que Xamarin? 4 Interfaces feitas com XML

    (Android) ou Storyboard (iOS) podem ser utilizadas 4 Códigos Java / Kotlin e Objective-C / Swift podem ser facilmente adaptados para C# 4 Paradigma de desenvolvimento praticamente igual ao nativo, mas com muitas vantagens 4 Desenvolvedores .NET estão praticamente em casa
  43. Tá, mas... por que Xamarin? 4 Interfaces feitas com XML

    (Android) ou Storyboard (iOS) podem ser utilizadas 4 Códigos Java / Kotlin e Objective-C / Swift podem ser facilmente adaptados para C# 4 Paradigma de desenvolvimento praticamente igual ao nativo, mas com muitas vantagens 4 Desenvolvedores .NET estão praticamente em casa 4 Utiliza uma linguagem madura estabelecida no mercado
  44. Perguntas frequentes...

  45. 1. Xamarin é nativo?

  46. 1. Xamarin é nativo?

  47. 1. Xamarin é nativo? 4 Sim! Inclusive, quem já desenvolve

    / conhece nativo pode facilmente iniciar com Xamarin
  48. 1. Xamarin é nativo? 4 Sim! Inclusive, quem já desenvolve

    / conhece nativo pode facilmente iniciar com Xamarin 4 Não tem "implementação do Xamarin" para as APIs, existem bindings nativos
  49. Show me the code! Vamos ver a abordagem com Xamarin

    Clássico
  50. 2. Xamarin é produtivo?

  51. 2. Xamarin é produtivo?

  52. 2. Xamarin é produtivo? 4 O principal benefício é o

    reaproveitamento de código de regras de negócios com C# !
  53. 2. Xamarin é produtivo? 4 O principal benefício é o

    reaproveitamento de código de regras de negócios com C# ! 4 Design pode ser feito com as ferramentas oficiais de cada plataforma (Xamarin Clássico)
  54. 2. Xamarin é produtivo? 4 O principal benefício é o

    reaproveitamento de código de regras de negócios com C# ! 4 Design pode ser feito com as ferramentas oficiais de cada plataforma (Xamarin Clássico) 4 Possui um framework de abstração de UI (Xamarin.Forms)
  55. 2. Xamarin é produtivo? 4 O principal benefício é o

    reaproveitamento de código de regras de negócios com C# ! 4 Design pode ser feito com as ferramentas oficiais de cada plataforma (Xamarin Clássico) 4 Possui um framework de abstração de UI (Xamarin.Forms) 4 Ainda não possui um hot reload nativo mas está a caminho (Xamarin.Forms)
  56. 2. Xamarin é produtivo? 4 O principal benefício é o

    reaproveitamento de código de regras de negócios com C# ! 4 Design pode ser feito com as ferramentas oficiais de cada plataforma (Xamarin Clássico) 4 Possui um framework de abstração de UI (Xamarin.Forms) 4 Ainda não possui um hot reload nativo mas está a caminho (Xamarin.Forms) 4 Times com pessoas desenvolvedoras .NET podem facilmente trabalhar com Xamarin
  57. Show me the code! Vamos ver a abordagem com Xamarin.Forms

  58. 3. Fiz meu primeiro Hello World com Xamarin, já sou

    dev mobile? A resposta também vale para as outras tecnologias...
  59. None
  60. 4. Xamarin é grátis? !

  61. None
  62. Vamos ver alguns comparativos entre as plataformas

  63. Comparativo de características Xamarin Clássico Xamarin Forms React Native Flutter

    Ionic PWA Apps nativos ✅ ✅ ✅ ✅ ❌ ❌ Controles nativos ✅ ✅ ✅ ❌ # ❌ ❌ Multithread ✅ ✅ ⚠ ✅ ❌ ✅ Polivalência ✅ ✅ ✅ ⚠ ✅ ✅ UI ✅ ✅ ✅ ✅ ✅ ⚠ UX ✅ ✅ ✅ ✅ ⚠ ⚠ Open source ✅ ✅ ✅ ✅ ✅ - Free ⚠ ⚠ ✅ ✅ ✅ ✅ Fácil para começar ❌ ❌ ⚠ ⚠ ✅ ✅ Hot Reloader ❌ ⚠ ✅ ✅ ✅ ✅
  64. Comparativo de suporte as plataformas Xamarin Clássico Xamarin Forms React

    Native Flutter Ionic PWA Android ✅ ✅ ✅ ✅ ✅ ✅ iOS ✅ ✅ ✅ ✅ ✅ ✅ Windows ✅ ✅ ❌ ❌ ✅ ✅ macOS ✅ ✅ ❌ ❌ ✅ ✅ Linux ✅ ✅ ❌ ❌ ✅ ✅ Tizen ✅ ✅ ❌ ❌ ❌ ?
  65. Comparativo 'onde consigo desenvolver' Xamarin Clássico Xamarin Forms React Native

    Flutter Ionic PWA macOS ✅ ✅ ✅ ✅ ✅ ✅ Windows ✅ ✅ ✅ ✅ ✅ ✅ Linux ❌ ❌ ✅ ✅ ✅ ✅
  66. Para refletir...

  67. Para refletir...

  68. Para refletir... 4 As tecnologias citadas tem seus prós e

    contras; Analise sua necessidade para poder escolher a solução que mais se encaixa (custo, qualidade, experiência do usuário, tempo...)
  69. Para refletir... 4 As tecnologias citadas tem seus prós e

    contras; Analise sua necessidade para poder escolher a solução que mais se encaixa (custo, qualidade, experiência do usuário, tempo...) 4 Não tem bala de prata! Nem sempre Xamarin vai ser o melhor cenário, assim como os demais...
  70. Para refletir... 4 As tecnologias citadas tem seus prós e

    contras; Analise sua necessidade para poder escolher a solução que mais se encaixa (custo, qualidade, experiência do usuário, tempo...) 4 Não tem bala de prata! Nem sempre Xamarin vai ser o melhor cenário, assim como os demais... 4 Considere o background de desenvolvimento do seu time
  71. Para refletir... 4 As tecnologias citadas tem seus prós e

    contras; Analise sua necessidade para poder escolher a solução que mais se encaixa (custo, qualidade, experiência do usuário, tempo...) 4 Não tem bala de prata! Nem sempre Xamarin vai ser o melhor cenário, assim como os demais... 4 Considere o background de desenvolvimento do seu time 4 Cuidado com as hypes ! (é fácil gastar o dinheiro que não é seu)
  72. É hora das perguntas!

  73. Estes e outros exemplos estão no Github https://github.com/ionixjunior/MobileTests

  74. Ione Souza Junior Mobile Developer @ Mercos @ionixjunior junior@ionixjunior.com.br