Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Xamarin.Forms & Performance
Search
Ione Souza Junior
May 27, 2017
Technology
1
150
Xamarin.Forms & Performance
Palestra realizada no Xamarin Summit
Ione Souza Junior
May 27, 2017
Tweet
Share
More Decks by Ione Souza Junior
See All by Ione Souza Junior
Dicas para desenvolver interfaces com XAML de forma mais fácil
ionixjunior
0
76
Desenvolvendo qualquer interface mobile com Xamarin.Forms
ionixjunior
0
220
Dicas para desenvolver interfaces incríveis
ionixjunior
0
78
Entendendo e otimizando o build do Android com D8, R8 e AAPT2
ionixjunior
0
140
Por que você deve escolher o Xamarin para desenvolver o seu próximo app?
ionixjunior
0
110
Continuous everything: compile, teste, distribua e monitore seus apps mobile com o App Center
ionixjunior
0
69
Desenvolvendo interfaces "like a boss" com Xamarin.Forms
ionixjunior
0
750
Scripts de build e servidores de CI para Mobile e Web
ionixjunior
0
120
Scripts de build e servidores de CI: você nunca mais vai querer executar qualquer tarefa de forma manual
ionixjunior
0
130
Other Decks in Technology
See All in Technology
Observability — Extending Into Incident Response
nari_ex
1
580
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
2
1.2k
Amazon Athena で JSON・Parquet・Iceberg のデータを検索し、性能を比較してみた
shigeruoda
1
210
コンパウンド組織のCRE #cre_meetup
layerx
PRO
1
290
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
220
書籍『実践 Apache Iceberg』の歩き方
ishikawa_satoru
0
250
プロファイルとAIエージェントによる効率的なデバッグ / Effective debugging with profiler and AI assistant
ymotongpoo
1
540
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
560
webpack依存からの脱却!快適フロントエンド開発をViteで実現する #vuefes
bengo4com
4
3.7k
AI連携の新常識! 話題のMCPをはじめて学ぶ!
makoakiba
0
150
会社を支える Pythonという言語戦略 ~なぜPythonを主要言語にしているのか?~
curekoshimizu
4
900
AIの個性を理解し、指揮する
shoota
3
460
Featured
See All Featured
Music & Morning Musume
bryan
46
6.9k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
YesSQL, Process and Tooling at Scale
rocio
173
15k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Bash Introduction
62gerente
615
210k
Code Reviewing Like a Champion
maltzj
526
40k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
140
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
890
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
640
Transcript
None
XAMARIN.FORMS & PERFORMANCE Será que com Xamarin.Forms "vai"?
Ione Souza Junior Desenvolvedor Mobile @ Unimestre @ionixjunior
XAMARIN.FORMS
XAMARIN.FORMS Um framework multiplataforma
XAMARIN.FORMS Abstrai a implementação da interface; proporciona mais compartilhamento de
código
PRINCIPAL DESAFIO
PRINCIPAL DESAFIO Manter a performance em todas as plataformas
PERFORMANCE?
PERFORMANCE? Listas sem lag durante scroll?
PERFORMANCE? Navegação rápida entre as telas?
PERFORMANCE? Início rápido do aplicativo?
TABBED PAGE
TABBED PAGE Sobreponha o método OnCurrentPageChanged e controle quando o
conteúdo de cada aba deve aparecer Isso vai ajudar a carregar as abas de forma mais fluida
TABBED PAGE Padrão Otimizado
TABBED PAGE Padrão Otimizado
MASTER DETAIL PAGE
MASTER DETAIL PAGE Um delay para esperar o menu lateral
fechar pode ajudar a deixar o app mais fluído…
CAROUSEL PAGE
CAROUSEL PAGE Evite utilizar Carousel Page Está em desenvolvimento o
Carousel View https://www.nuget.org/packages/ Xamarin.Forms.CarouselView https://forums.xamarin.com/discussion/ 69120/carouselview-2-3-0-pre2
BANCO DE DADOS
BANCO DE DADOS Desnormalize o banco de dados Se usar
SQLite, evite utilizar junções e sub-selects, prefira usar LINQ Query Entity Framework é pesado, mas existe uma versão mais leve, chama-se Entity Framework Core Conheça o Realm https://realm.io
HTTP
HTTP Use Native HttpMessageHandler Reutilize a instância do HttpClient Agrupe
as chamadas da sua API Use GZIP sempre que possível Leia as respostas com Stream, não String
XAML COMPILER
XAML COMPILER Habilite o XAMLC e deixe a renderização da
tela mais rápida
LISTVIEW CACHING STRATEGY
LISTVIEW CACHING STRATEGY Utilize ListView com CachingStrategy = RecycleElement
POR QUE NO ANDROID É MAIS LENTO?
POR QUE NO ANDROID É MAIS LENTO?
ACHA QUE É MUITA PREOCUPAÇÃO COM ANDROID? Experimenta falar isso
para o dono do projeto…
ACHA QUE É MUITA PREOCUPAÇÃO COM ANDROID? *Média de 25%
ainda possuem Android 4 * Apps do ramo da educação
O FUTURO DO XAMARIN.FORMS
O FUTURO DO XAMARIN.FORMS Novas plataformas: macOS, Linux, WPF, Tizen…
VAI DOMINAR O MUNDO! Fast Renderers Layout compression FlexLayout E muito mais….
PERGUNTAS? Fale agora ou cale-se para sempre Ione Souza Junior
Desenvolvedor Mobile @ Unimestre @ionixjunior