SlideShare uma empresa Scribd logo
1 de 67
Baixar para ler offline
Aplicativos Android Nativos
com C#
William S. Rodriguez
@williamsrodz
william@28bytes.com.br
Father • Community Addicted
Quem?
#MonkeyNights • #DotNetCuritiba • #DevExp/DevDay
Comunidades!
silos
Cross Platform Apps
Escreva uma vez e execute em
qualquer lugar.
Interfaces fora do
padrão
Performance não
nativa
Acesso a API’s
limitados
Black Box
Magic / Black Box
Bom para o
desenvolvedor…
Bom para o
cliente…
Péssimo para o
usuário!
"The biggest mistake we made
as a company was betting too
much on HTML5 rather than
native"
Image source huffingtonpost.in
HTML5
Image source huffingtonpost.in
APP NATIVA
"Webviews are the duct
tape of the mobile world"
https://medium.com/bpxl-craft/apple-tv-a-world-without-webkit-5c428a64a6dd
Native Apps
"People expect great
experiences from their
mobile devices"
Miguel de Icaza
Native Apps
Interface de Usuário Nativa
App’s são construídas utilizando interface
e , controles padrão permitindo interações
fáceis e familiares
High-fidelity API Access
App’s têm acesso a toda a gama de
funcionalidade exposta pela plataforma
independente de dispositivo
Native Performance
App’s tiram vantagem de aceleração de
hardware e recursos específicos da
plataforma, e são compilados como
binários nativos, não interpretadas em
tempo de execução.
"Only native apps deliver the
high-quality, high- performance
apps that your users expect"
John Doe
Então?
Como compartilhar e
reutilizar código…
sem sacrificar, ux,
performance ou features?
Mono
• Open source implementation of the CLR
• Execute .Net code across Linux, MacOS X, Solaris,
BSD, Wii, PS3…
• Started in 2001 as Ximian, purchased by Novell in
2003, released in 2004;
• Mono “died" in April 2011 when Novel was acquired
by Attachmate Group;
Mono
• 2009, Mono.Touch created (released in 2010);
• 2010: Mono.Droid created (release in 2011);
• May 2011 Xamarin was founded;
Mono
C# em 2.6 bilhões de dispositivos
+ +
C# em 2.6 bilhões de dispositivos
Xamarin
4 anos de vida
+1 milhão de
desenvolvedores
15 mil clientes utilizando a
plataforma
Xamarin utiliza uma
Abordagem Única
C#
Compartilhe o código que faz sentido, tire
vantagem da UX nativa de cada plataforma.
Xamarin Abordagem Tradicional
Shared C# Client/Server
Shared C# codebase • 100% native API access • High performance
Shared C# Mobile
iOS C# UI Windows C# UIAndroid C# UI
C# Server
Linux/Mono
CoreCLR
Azure
Xamarin Forms
Shared C# Client/Server
Shared C# codebase • 100% native API access • High performance
Shared C# Mobile C# Server
Linux/Mono
CoreCLR
Azure
Xamarin é 100% Código Nativo
Debug de objetos Java
e Objective C
Interoperabilidade com
linguagem nativa
Utilizar bibliotecas
Android e iOS de forma
nativa
Empacotar e
disponibilizar uma
aplicação nativa única
Windows APIs
Microsoft.Phone Microsoft.Networking Windows.Storage Windows.Foundation Microsoft.Devices
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
C#
iOS – 100% API Coverage
MapKit UIKit iBeacon CoreGraphics CoreMotion
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
C#
Android – 100% API Coverage
Text-to-speech ActionBar
Printing
Framework
Renderscript NFC
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
C#
Native Android packages
Xamarin.Android tira vantage da
compilação Just In Time (JIT) nos
dispositivos Android.
Compatibilidade e Atualizações
Única solução Cross-
plataforma a suportar
Amazon Fire
Única solução Cross-
plataforma a suportar
Wearables e Nearables
100% de suporte
Android M
100% de suporte ao
iOS 8 (no mesmo dia)
Compartilhamento de Código
C#
70%
Backend
C#
30%
UI
* Media de Compartilhamento
Compartilhamento de Código
20%
C#
Client / Server
86%
C#
Android
75%
C#
iOS
85%
C#
Windows RT
http://icircuitapp.com/
50 milhões de linhas de código
compartilhado
rdio
Xamarin.Android
Xamarin Installer
https://xamarin.com/download
Ambiente de Desenvolvimento
Windows
Visual Studio ou
Xamarin Studio
Mac
Xamarin Studio
Xamarin Android Designer
• Integração completa
com Visual Studio;
• Drag and drop de
componentes;
• Muilti edit.
Anything you can do in Android
Studio, you can do in Xamarin
Studio ou Visual Studio
Xamarin Android Player
Goole Nexus 4 Xamarin Android Player Google Emulator
65
1853
1565
GeekBench 3 Mult-core
Documentação
https://developer.android.com/
guide/index.html
https://developer.xamarin.com/guides/android/
Componentes
https://components.xamarin.com
C#
Anything you can do in
Objective-C, Swift or Java, you
can do in C#.
C#
• Suporte a Linq e
Lambdas;
• Eventos e delegates;
• Paralelismo;
• Programação
Assíncrona;
• Generics;
• Métodos anônimos;
var doc = Xdocument.Load(utl);
foreach(var item in doc.Root.Elements()) {
var text = item.value;
}
from p in Table<Pessoa>()
where p.ID == id
select p;
button.TouchUpInside += (s,o) => {
message.Text = “Olá!”;
}
from item in itens.AsParallel()
let result = VaiDemorarUmPouco(item)
select result;
var client = new HttpClient();
var getStringTask = await
client.GetStringAsync(“http://28bytes.com.br”);
Demo
Xamarin Studio
Novo App
Novo App
Activity, code view
Activity, design view
Activity, design xml view
http://bit.ly/mixradioapp
http://bit.ly/DsKids
http://bit.ly/1MsEHNb
Dúvidas?
Para saber mais
• https://xamarin.com
• http://developer.xamarin.com/guides/android/
• https://www.facebook.com/MonkeyNightsDevs
• http://monobrasil.com
Quanto Custa?
William S. Rodriguez
@williamsrodz
william@28bytes.com.br
Obrigado :)
Father • Community Addicted

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

GDG Tech Talk - Quer desenvolver aplicações nativas e cross-plataforma usando...
GDG Tech Talk - Quer desenvolver aplicações nativas e cross-plataforma usando...GDG Tech Talk - Quer desenvolver aplicações nativas e cross-plataforma usando...
GDG Tech Talk - Quer desenvolver aplicações nativas e cross-plataforma usando...
 
iBeer #2 - Xamarin
iBeer #2 - XamariniBeer #2 - Xamarin
iBeer #2 - Xamarin
 
TDC Porto Alegre 2014 - Quer desenvolver aplicações nativas e cross-plataform...
TDC Porto Alegre 2014 - Quer desenvolver aplicações nativas e cross-plataform...TDC Porto Alegre 2014 - Quer desenvolver aplicações nativas e cross-plataform...
TDC Porto Alegre 2014 - Quer desenvolver aplicações nativas e cross-plataform...
 
Desenvolvimento multiplataforma com Xamarin e MVVM: da arquitetura a UIs espe...
Desenvolvimento multiplataforma com Xamarin e MVVM: da arquitetura a UIs espe...Desenvolvimento multiplataforma com Xamarin e MVVM: da arquitetura a UIs espe...
Desenvolvimento multiplataforma com Xamarin e MVVM: da arquitetura a UIs espe...
 
Introdução ao Xamarin
Introdução ao XamarinIntrodução ao Xamarin
Introdução ao Xamarin
 
Desenvolvimento Mobile com Ionic
Desenvolvimento Mobile com IonicDesenvolvimento Mobile com Ionic
Desenvolvimento Mobile com Ionic
 
Desmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbridoDesmistificando o desenvolvimento de mobile híbrido
Desmistificando o desenvolvimento de mobile híbrido
 
Mobile Brazil Conference - Xamarin Test Cloud
Mobile Brazil Conference - Xamarin Test CloudMobile Brazil Conference - Xamarin Test Cloud
Mobile Brazil Conference - Xamarin Test Cloud
 
Aplicações Hibridas com Phonegap e HTML5
Aplicações Hibridas com Phonegap e HTML5Aplicações Hibridas com Phonegap e HTML5
Aplicações Hibridas com Phonegap e HTML5
 
Apresentação Jornadas de Informática 2017
Apresentação Jornadas de Informática 2017Apresentação Jornadas de Informática 2017
Apresentação Jornadas de Informática 2017
 
Aplicações Móveis Híbridas
Aplicações Móveis HíbridasAplicações Móveis Híbridas
Aplicações Móveis Híbridas
 
Conheça a Plataforma Xamarin
Conheça a Plataforma XamarinConheça a Plataforma Xamarin
Conheça a Plataforma Xamarin
 
Minicurso de Desenvolvimento Híbrido utilizando Ionic Framework
Minicurso de Desenvolvimento Híbrido utilizando Ionic FrameworkMinicurso de Desenvolvimento Híbrido utilizando Ionic Framework
Minicurso de Desenvolvimento Híbrido utilizando Ionic Framework
 
Desenvolvimento Android
Desenvolvimento AndroidDesenvolvimento Android
Desenvolvimento Android
 
Ionic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento MobileIonic + Cordova para Desenvolvimento Mobile
Ionic + Cordova para Desenvolvimento Mobile
 
Uma visão única da jornada do cliente pelos diferentes dispositivos
Uma visão única da jornada do cliente pelos diferentes dispositivosUma visão única da jornada do cliente pelos diferentes dispositivos
Uma visão única da jornada do cliente pelos diferentes dispositivos
 
Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-...
Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-...Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-...
Semana Computação Unifacs 2014 - Quer desenvolver aplicações nativas e cross-...
 
Semana Computação UFBA 2014 - Quer desenvolver aplicações nativas e cross-pla...
Semana Computação UFBA 2014 - Quer desenvolver aplicações nativas e cross-pla...Semana Computação UFBA 2014 - Quer desenvolver aplicações nativas e cross-pla...
Semana Computação UFBA 2014 - Quer desenvolver aplicações nativas e cross-pla...
 
Win302 daniel semedo_10 motivos para utilizar apache cordova (1)
Win302 daniel semedo_10 motivos para utilizar apache cordova (1)Win302 daniel semedo_10 motivos para utilizar apache cordova (1)
Win302 daniel semedo_10 motivos para utilizar apache cordova (1)
 
PhoneGap - criando aplicações Android e iOS com HTML5
PhoneGap - criando aplicações Android e iOS com HTML5PhoneGap - criando aplicações Android e iOS com HTML5
PhoneGap - criando aplicações Android e iOS com HTML5
 

Destaque

Constitution Party
Constitution PartyConstitution Party
Constitution Party
guest31a89
 
Work With Neet Young Men Mohammed Khan
Work With Neet Young Men   Mohammed KhanWork With Neet Young Men   Mohammed Khan
Work With Neet Young Men Mohammed Khan
guest99fbb
 
Un pez muy especial
Un pez muy especialUn pez muy especial
Un pez muy especial
rperera
 
Poesies 5è b
Poesies 5è bPoesies 5è b
Poesies 5è b
rperera
 
POEMES JOAN DUCH 6è A
POEMES JOAN DUCH  6è APOEMES JOAN DUCH  6è A
POEMES JOAN DUCH 6è A
rperera
 

Destaque (20)

Global Azure Bootcamp 2015 Curitiba, Open Source‬ e Microsoft Azure
Global Azure Bootcamp 2015 Curitiba, Open Source‬ e Microsoft AzureGlobal Azure Bootcamp 2015 Curitiba, Open Source‬ e Microsoft Azure
Global Azure Bootcamp 2015 Curitiba, Open Source‬ e Microsoft Azure
 
.NET (r)evolution
.NET (r)evolution.NET (r)evolution
.NET (r)evolution
 
Hangout: Novidades do Xamarin
Hangout: Novidades do XamarinHangout: Novidades do Xamarin
Hangout: Novidades do Xamarin
 
Apps Nativas para iOS e Android com C#
Apps Nativas para  iOS e Android com C#Apps Nativas para  iOS e Android com C#
Apps Nativas para iOS e Android com C#
 
Plugue seu Aplicativo a Nuvem no The Developers Conference, Mobile Cloud Hack...
Plugue seu Aplicativo a Nuvem no The Developers Conference, Mobile Cloud Hack...Plugue seu Aplicativo a Nuvem no The Developers Conference, Mobile Cloud Hack...
Plugue seu Aplicativo a Nuvem no The Developers Conference, Mobile Cloud Hack...
 
Abertura #DotNetConf #Curitiba
Abertura #DotNetConf #CuritibaAbertura #DotNetConf #Curitiba
Abertura #DotNetConf #Curitiba
 
Plugue seu Aplicativo a Nuvem no The Developers Conference, Florianópolis 2016
Plugue seu Aplicativo  a Nuvem no The Developers Conference, Florianópolis 2016Plugue seu Aplicativo  a Nuvem no The Developers Conference, Florianópolis 2016
Plugue seu Aplicativo a Nuvem no The Developers Conference, Florianópolis 2016
 
Internet of Thing, is there a place for C# and .NET Framework?
Internet of Thing, is there a place for C# and .NET Framework?Internet of Thing, is there a place for C# and .NET Framework?
Internet of Thing, is there a place for C# and .NET Framework?
 
USANA
USANAUSANA
USANA
 
Forges
ForgesForges
Forges
 
Overview European Industrial Heritage
Overview European Industrial HeritageOverview European Industrial Heritage
Overview European Industrial Heritage
 
Car Racing
Car RacingCar Racing
Car Racing
 
Pickme
PickmePickme
Pickme
 
Constitution Party
Constitution PartyConstitution Party
Constitution Party
 
Work With Neet Young Men Mohammed Khan
Work With Neet Young Men   Mohammed KhanWork With Neet Young Men   Mohammed Khan
Work With Neet Young Men Mohammed Khan
 
Un pez muy especial
Un pez muy especialUn pez muy especial
Un pez muy especial
 
Poesies 5è b
Poesies 5è bPoesies 5è b
Poesies 5è b
 
REBECCA Musical On Broadway In 2012
REBECCA Musical On Broadway In 2012REBECCA Musical On Broadway In 2012
REBECCA Musical On Broadway In 2012
 
POEMES JOAN DUCH 6è A
POEMES JOAN DUCH  6è APOEMES JOAN DUCH  6è A
POEMES JOAN DUCH 6è A
 
School Manchester Sven Bremberg
School Manchester   Sven BrembergSchool Manchester   Sven Bremberg
School Manchester Sven Bremberg
 

Semelhante a Construindo Aplicativos Android Nativos com C#

Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGap
Lucas Félix
 

Semelhante a Construindo Aplicativos Android Nativos com C# (20)

Aumentando reaproveitamento de código com MvvmCross
Aumentando reaproveitamento de código com MvvmCrossAumentando reaproveitamento de código com MvvmCross
Aumentando reaproveitamento de código com MvvmCross
 
Desenvolvimento Cross-mobile com Xamarin
Desenvolvimento Cross-mobile com XamarinDesenvolvimento Cross-mobile com Xamarin
Desenvolvimento Cross-mobile com Xamarin
 
Xamarin em 7 minutos
Xamarin em 7 minutosXamarin em 7 minutos
Xamarin em 7 minutos
 
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobileXamarin + TDD - Reagindo rápido à mudanças no mundo mobile
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-Platform
 
Alerando o desenvolvimento de aplicativos Android e iOS com Xamarin Forms
Alerando o desenvolvimento de aplicativos Android e iOS com Xamarin FormsAlerando o desenvolvimento de aplicativos Android e iOS com Xamarin Forms
Alerando o desenvolvimento de aplicativos Android e iOS com Xamarin Forms
 
Dotnet conflocal Salvador 2016 - Xamarin.Forms
Dotnet conflocal Salvador 2016 - Xamarin.FormsDotnet conflocal Salvador 2016 - Xamarin.Forms
Dotnet conflocal Salvador 2016 - Xamarin.Forms
 
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jediLatinoware 2019 - DEsenvolvimento mobile em Nivel jedi
Latinoware 2019 - DEsenvolvimento mobile em Nivel jedi
 
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
Sencha Touch, RhoMobile, AppMobi e jQuery Mobile um comparativo entre platafo...
 
Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGap
 
Introdução ao PhoneGap
Introdução ao PhoneGapIntrodução ao PhoneGap
Introdução ao PhoneGap
 
la 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gapla 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gap
 
Phonegap
PhonegapPhonegap
Phonegap
 
Computacao Movel e Sem Fio
Computacao Movel e Sem FioComputacao Movel e Sem Fio
Computacao Movel e Sem Fio
 
Xamarin fest latam Salvador 2017
Xamarin fest latam Salvador 2017Xamarin fest latam Salvador 2017
Xamarin fest latam Salvador 2017
 
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e AndroidPalestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
Palestra Desenvolvimento de Apps Móveis: Iniciando no iOS e Android
 
Microsoft Xamarin
Microsoft XamarinMicrosoft Xamarin
Microsoft Xamarin
 
RIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à InovaçãoRIA e Flex - Dando formas à Inovação
RIA e Flex - Dando formas à Inovação
 
Apps tecnologias e usos
Apps   tecnologias e usosApps   tecnologias e usos
Apps tecnologias e usos
 
Como desenvolver softwares utilizando tecnologias microsoft
Como desenvolver softwares utilizando tecnologias microsoftComo desenvolver softwares utilizando tecnologias microsoft
Como desenvolver softwares utilizando tecnologias microsoft
 

Mais de William S. Rodriguez

Mais de William S. Rodriguez (12)

Introdução ao envio de notificações via Push com Azure Notification Hubs
Introdução ao envio de notificações via Push com Azure Notification HubsIntrodução ao envio de notificações via Push com Azure Notification Hubs
Introdução ao envio de notificações via Push com Azure Notification Hubs
 
Introdução ao Azure Mobile Apps
Introdução ao Azure Mobile AppsIntrodução ao Azure Mobile Apps
Introdução ao Azure Mobile Apps
 
Xamarin & Realm
Xamarin & RealmXamarin & Realm
Xamarin & Realm
 
Xamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.FormsXamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.Forms
 
Xamarin & Google Firebase
Xamarin & Google FirebaseXamarin & Google Firebase
Xamarin & Google Firebase
 
Microsoft Cognitive Services, Construindo Aplicativos Inteligentes
Microsoft Cognitive Services, Construindo Aplicativos InteligentesMicrosoft Cognitive Services, Construindo Aplicativos Inteligentes
Microsoft Cognitive Services, Construindo Aplicativos Inteligentes
 
Plugue seu Aplicativo a Nuvem no Codificando Night Week 2016
Plugue seu Aplicativo a Nuvem no Codificando Night Week 2016Plugue seu Aplicativo a Nuvem no Codificando Night Week 2016
Plugue seu Aplicativo a Nuvem no Codificando Night Week 2016
 
Challenges of a mobile application developer
Challenges of a mobile application developerChallenges of a mobile application developer
Challenges of a mobile application developer
 
ViceriArchitectureTalks, e quando você está limitado pela mão que te alimenta?
ViceriArchitectureTalks, e quando você está  limitado pela mão que te alimenta?ViceriArchitectureTalks, e quando você está  limitado pela mão que te alimenta?
ViceriArchitectureTalks, e quando você está limitado pela mão que te alimenta?
 
Construindo aplicativos SharePoint 2013 com AngularJS
Construindo aplicativos SharePoint 2013 com AngularJSConstruindo aplicativos SharePoint 2013 com AngularJS
Construindo aplicativos SharePoint 2013 com AngularJS
 
ALM Summit BR - Economize tempo e dinheiro com Dev & Test na Nuvem
ALM Summit BR - Economize tempo e dinheiro com Dev & Test na NuvemALM Summit BR - Economize tempo e dinheiro com Dev & Test na Nuvem
ALM Summit BR - Economize tempo e dinheiro com Dev & Test na Nuvem
 
Caracterização de um Processo de Software para Projetos de Software Livre
Caracterização de um Processo de Software para Projetos de Software LivreCaracterização de um Processo de Software para Projetos de Software Livre
Caracterização de um Processo de Software para Projetos de Software Livre
 

Construindo Aplicativos Android Nativos com C#