Post on 15-Jan-2017
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
Globalcode – Open4education
Agenda• O que é o Xamarin.Forms
• Reaproveitamento de Código
• Principais Características
• Código
• Resumo
Globalcode – Open4education
XAMARIN.FORMS
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
Globalcode – Open4education
Globalcode – Open4education
RESULTADOS
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-------------------------------------------------------------------
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-------------------------------------------------------------------
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-------------------------------------------------------------------
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
Globalcode – Open4education
Globalcode – Open4education
THE GOOD
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)
Globalcode – Open4education
THE BAD
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
Globalcode – Open4education
THE UGLY
Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
daniel.noguchi@opus-software.com.brguilherme@opus-software.com.br