Quer desenvolver aplicações 
mobile nativas e cross-plataforma? 
Pergunte-me como! 
Paulo Ortins - @pauloortins – paulo.ortins@gmail.com
Sócio - OnceDev 
Mestrando - UFBA 
#HoraExtra 
Linguágil 
pauloortins.com 
Métricas de Código
Mobile Apps?
Web Apps 
Hybrid Apps 
Native Apps
33% 
da população mundial
Planos 3G/4G x Pessoas 
8 
7 
6 
5 
4 
3 
2 
1 
0 
Planos 3G/4G 
Pessoas 
2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018
Algumas dessas pessoas nem usam desktop… 
…elas estão usando apenas dispositivos móveis!
Mobile-Only Web Users 
80 
70 
60 
50 
40 
30 
20 
10 
0
30% dos usuários são exclusivamente 
mobile
Uso dos Devices
Mobile Web x Apps 
100% 
90% 
80% 
70% 
60% 
50% 
40% 
30% 
20% 
10% 
0% 
2013 2014 
Mobile Web 
Apps
Percentual de Uso 
Gaming 
32% 
Facebook 
17% 
Twitter 
1% 
Social 
Messaging 
10% 
Apple Safari 
Others 
3% 
Productivity 
4% 
Entertainment 
Youtube 
4% 
4% 
Utilities 
8% 
News 
3% 
7% 
Chrome 
5% 
Others 
2%
Facebook (HTML)
Facebook (Native)
Video
Como desenvolver aplicações nativas?
Uma linguagem para cada plataforma 
Windows 
Phone 
UI 
ViewModels 
Services 
APIs Nativas 
Android 
UI 
ViewModels 
Services 
APIs Nativas 
iOS 
UI 
ViewModels 
Services 
APIs Nativas
Como o MS C# funciona
Como o Mono C# funciona
Windows 
Phone 
UI 
ViewModels 
Services 
APIs Nativas 
Android 
UI 
ViewModels 
Services 
APIs Nativas 
iOS 
UI 
ViewModels 
Services 
APIs Nativas
Xamarin 
Windows 
Phone 
UI 
Android 
UI 
iOS 
UI 
ViewModels 
Serviços 
APIs Nativas
RDIO
Espelho das APIs Nativas 
Windows 
Phone 
Android 
Text-to-speech 
iOS 
ActionBar 
NFC 
Printing 
RenderScript 
System.Net 
System 
System.IO 
System.Xml 
System.Linq 
Microsoft.Phone 
Windows.Networking 
Windows.Storage 
Windows.Foundation 
Microsoft.Devices 
MapKit 
UIKit 
iBeacon 
CoreGraphics 
CoreMotion
IDEs
Demo: Tasky App
Xamarin.Forms
Xamarin.Forms 
Windows 
Phone 
iOS Android 
UI 
ViewModels 
Serviços 
APIs Nativas
Xamarin.Forms
Xamarin.Forms
Demo: Xamarin.Forms
Compartilhamento de Código
iCircuit
iCircuit 
70% 86% 
90% 
Code 
Sharing
Calca
Calca 
77% - 
86% 
Code 
Sharing
TouchDraw
TouchDraw 
61% 72% 
- 
Code 
Sharing
>100% 
mais produtivos
Testes
8% 
dos devs mobile usam 
testes
• Mas no final das contas 
testar o software deveria 
ser muito mais importante, 
principalmente no mobile, 
• Uma vez que após um 
release já era
Quando bugs acontecem… eles ACONTECEM!
+100 
setups disponíveis para 
testar seu app
Custos
$100/year 
Students Only
Mercado
700.000 
desenvolvedores 
cadastrados
15.000 
clientes
$700 
por dia
Frequently Asked Questions
1. Quanto tempo leva para o 
Xamarin adicionar suporte para 
novas versões do Android/iOS?
2. Posso reutilizar código Java ou 
Objective-C no Xamarin?
3. O que acontece quando minha 
licença expira?
Obrigado! 
Paulo Ortins - @pauloortins – paulo.ortins@gmail.com

Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-plataforma? Pergunte-como!