TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento...

19
Globalcode – Open4education Trilha – Xamarin Daniel Noguchi Gerente de Produtos OPUS Software Guilherme Ikeda Engenheiro de Software OPUS Software Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Transcript of TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento...

Page 1: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

Trilha – Xamarin

Daniel NoguchiGerente de Produtos

OPUS Software

Guilherme IkedaEngenheiro de Software

OPUS Software

Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Page 2: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

Agenda• O que é o Xamarin.Forms

• Reaproveitamento de Código

• Principais Características

• Código

• Resumo

Page 3: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

XAMARIN.FORMS

Page 4: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

• Biblioteca do ecossistema Xamarin

• Permite escrever código compartilhado de UI para iOS, Android e Windows Phone

• Mais de 40 controles cross-plataformas (100% nativos)

• Write once, Run Everywhere1

(1) Condições podem variar

Page 5: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

Page 6: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

RESULTADOS

Page 7: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

Código Xamarin.Forms➜ Mobile.Shared git:(master) cloc --exclude-ext=csproj . 112 text files. 112 unique files. 4 files ignored.

-------------------------------------------------------------------Language files blank comment code-------------------------------------------------------------------C# 96 774 408 4645XAML 12 26 37 421-------------------------------------------------------------------SUM: 108 800 445 5066-------------------------------------------------------------------

Page 8: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

Código Xamarin.iOS➜ Mobile.iOS git:(master) ✗ cloc --exclude-ext=csproj . 15 text files. 15 unique files. 7 files ignored.

-------------------------------------------------------------------Language files blank comment code-------------------------------------------------------------------C# 8 54 42 271-------------------------------------------------------------------SUM: 8 54 42 271-------------------------------------------------------------------

Page 9: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

Código Xamarin.Android➜ Mobile.Droid git:(master) ✗ cloc --exclude-ext=csproj . 28 text files. 28 unique files. 12 files ignored.

-------------------------------------------------------------------Language files blank comment code-------------------------------------------------------------------C# 11 85 65 531XML 5 9 1 53-------------------------------------------------------------------SUM: 16 94 66 584-------------------------------------------------------------------

Page 10: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

Resultados

Total: 83% de reaproveitamento de código

Em relação ao Android = 88.5%

Em relação ao iOS = 95%

Xamarin.Forms Xamarin.iOS Xamarin.Android

LOC 5066 271 584

Page 11: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

Page 12: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

THE GOOD

Page 13: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

• UI: Código unificado para todas as plataformas

• Produtividade: Menos código específico, menos retrabalho

• Reusabilidade: Não há necessidade de manter código de cada framework nativo

• UX: Experiência e aparência de controladores nativos (customização via renderizadores)

Page 14: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

THE BAD

Page 15: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

• Desempenho: Inferior ao Xamarin.Android e Xamarin.iOS

• Maturidade do Framwork: Novas features dependem do time da Xamarin

• Performance: Tempo de inicialização do Aplicativo

Page 16: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

THE UGLY

Page 17: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

Page 18: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

Page 19: TDC2016SP - Xamarin.Forms: Uma experiência real de um app iOS e Android com 90% de reaproveitamento de código

Globalcode – Open4education

[email protected]@opus-software.com.br