2. It´s-a me Bertuzzi
• Thiago Bertuzzi é desenvolvedor .net há 12 anos participando
de projetos Desktop, Services, Web e Mobile utilizando
Xamarin.
• É Microsoft MVP em Developer Technologies
• É Líder técnico na NESS
• Contribui para comunidade Xamarin escrevendo artigos,
compartilhando códigos, palestrando e criando pacotes Nuget.
3. Compartilho a Interface , mas não compartilho
as Guidelines
• Não é porque Xamarin.Forms te criar uma Tela para iOS e Android,
que eu não devo respeitar as Guidelines.
4. Vamos Abrir e utilizar nosso APP
• Mantenha o mínimo de dependências possíveis.
• Se precisar baixar muitos dados, utilize o background.
• Lazy Loading, carregue o que precisa sob demanda.
• Não espere dados carregarem para você atualizar sua tela, ninguém
gosta de ver uma tela congelada.
• Utilize só os Plugins e Controles de terceiro se necessário ;) .
• Utilize o Linker, sempre...
• MessagingCenter só em ultimo caso, para casos de BackGround, ou se
ameaçarem sua família. Utilize se possivel um framework que resolva
isso.
5. Xaml -> Boas Praticas
• Habilite Layout Compression nos layouts que aceitam. Mas verifique
antes.. (Se possui entradas de toque por exemplo )
• Não utilize bindings desnecessários ..
Title por exemplo, pra que ?
• Não utilizar os valores Default, por exemplo
se é grid.row = 0 pra que declarar ? (Evite recriação da tela )
• Utilize dispose sempre que possível Mobile não tem memoria infinita.
• Se assinar um Evento, então devemos desassinar (unsubscribe)
6. Xaml -> Boas Praticas
• Não utilize StackLayout para um controle apenas
• Reduza o carregamento de controles , nada de stacklayout dentro de
outro stacklayout
• Utilize mais Grids menos stacklayouts e principalmente
RelativeLayout :) , se você precisa de um Grid porque usa stacklayout?
• Não coloque Stacklayout nem ListView dentro de uma scrollview
7. Xaml -> Label e ListView
• Não utilize vários Labels, geralmente um Span com FormattedText
resolve seu problema.
• Utilize Estrategia de Cache no listview
• RecycleElement por padrão
• Utilize HasUnevenRows sempre que
precisar de linhas com tamanhos diferentes
• Não utilize TableView no Lugar de ListView, TableView é mais para
Layout de Settings
8. Obrigado / Duvidas?
• “Toda vez que alguém fala “Chamarin”,Deus mata um panda”
• Referencias : https://kent-boogaart.com/blog/jason-smith%27s-xamarin-
forms-performance-tips
• twitter.com/tbertuzzi
• github.com/tbertuzzi
• nuget.org/profiles/Bertuzzi
• medium.com/@bertuzzi
• bertuzzi.dev