SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Como podemos desenvolver um mesmo
aplicativo para 3 plataformas?
iOS
Objective C
Android
Java
Windows
C#
3x mais problemas
 Gestão de Fontes
 Maior tempo para lançamento de novas versões
 Dificuldades para execução de testes nas plataformas
 Profissionais com perfis diferentes
 Linguagens diferentes (Objective C, JAVA, C#)
Aplicativos Híbridos com Cordova
 HTML, CSS, JS
 Acesso aos recursos nativos
 Roda em uma WebView
 Agilidade no desenvolvimento
Qual a diferença entre um app
híbrido e um nativo?
Aplicativos Híbridos
 Pouca Experiência do usuário
 Não utiliza toda a capacidade de recursos das plataformas;
 Apresenta problemas de compatibilidade;
 Difícil manutenção e debug;
 Interfaces fora do padrão;
 Performance não nativa;
 Acesso a API’s limitados.
Interface de Usuário Nativa
Acesso API
Performance Nativa
Desenvolvimento utilizando interface e
controles padrão permitindo interações
fáceis e familiares
App’s têm acesso a toda a gama de
funcionalidade exposta pela plataforma
independente de dispositivo
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.
Aplicativos Nativos
A PLATAFORMA XAMARIN
Código NATIVO compartilhado
Xamarin utiliza uma Abordagem Única
C#
Código C#
Compartilhado no Backend
Interfaces
nativas C#
Xamarin é 100% Código Nativo
Debug de objetos
Java e Objective C
Interoperabilidade
com qualquer
linguagem
Utilizar bibliotecas
Android e iOS de
forma nativa
Empacotar e
disponibilizar uma
aplicação nativa
única
Compartilhamento de Código
C# App Logic
C# User Interface 30%
70%
• Licenciamento da Apple requer um Mac para Build e teste de
aplicativos iOS.
Integração com Mac (build host)
70% de compartilhamento de código
não é suficiente!?
Podemos escrever uma vez só a
interface que é reutilizada nas 3
plataformas.
Xamarin.Forms
Agora temos em torno de 90% de
código compartilhado :D
Xamarin Forms
• Maximiza o compartilhamento de código entre plataformas;
• Mais de 40 controles, páginas e layouts;
• Construa interfaces usando C# ou XAML;
• Navegação, animação, mensageria.
Xamarin Forms
Pages
Layouts
Xamarin Forms
Controles
Pulo do Gato
 A aparência deve honrar a plataforma de destino.
 Aplicativos corporativos não são aplicações de consumo.
 Tire vantagem das capacidades móveis.
 Cuide da acessibilidade.
 Na apresentação de protótipos utilize o dispositivo final.
 Não sobrecarregue o app com regras de negócio.
 Use o Genymotion como emulador Android.
 Use o Gorila Player para visualização da interface XAML.
Demo Prático
DÚVIDAS
Alisson Sena
Arquiteto de Aplicações Móveis
alissonosena@gmail.com
Site Oficial
https://www.xamarin.com/

Contenu connexe

Tendances

Apresentação JAVOU 5
Apresentação JAVOU 5Apresentação JAVOU 5
Apresentação JAVOU 5Bruno Muniz
 
Introdução ao Xamarin Forms
Introdução ao Xamarin FormsIntrodução ao Xamarin Forms
Introdução ao Xamarin FormsStudyxnet
 
Entendendo Xamarin.Forms V2
Entendendo Xamarin.Forms V2Entendendo Xamarin.Forms V2
Entendendo Xamarin.Forms V2Letticia Nicoli
 
Xamarin fest latam Salvador 2017
Xamarin fest latam Salvador 2017Xamarin fest latam Salvador 2017
Xamarin fest latam Salvador 2017Alisson Sena, MBA
 
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...Alexandre Zollinger Chohfi
 
Entendendo Xamarin.Forms
Entendendo Xamarin.FormsEntendendo Xamarin.Forms
Entendendo Xamarin.FormsLetticia Nicoli
 
Adobe Phonegap
Adobe PhonegapAdobe Phonegap
Adobe Phonegapwlsilva
 
Linguagem de programação da internet
Linguagem de programação da internetLinguagem de programação da internet
Linguagem de programação da internetVictor Barreto
 
Desenvolvendo aplicações Cross-Platform com Xamarin
Desenvolvendo aplicações Cross-Platform com XamarinDesenvolvendo aplicações Cross-Platform com Xamarin
Desenvolvendo aplicações Cross-Platform com XamarinJúnior Porfirio
 
Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma
Xamarin - Como Otimizar o Desenvolvimento Mobile MultiplataformaXamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma
Xamarin - Como Otimizar o Desenvolvimento Mobile MultiplataformaXpand IT
 
Desenvolvimento Cross-Mobile com Xamarin
Desenvolvimento Cross-Mobile com Xamarin Desenvolvimento Cross-Mobile com Xamarin
Desenvolvimento Cross-Mobile com Xamarin Letticia Nicoli
 
Xamarin Introdução
Xamarin IntroduçãoXamarin Introdução
Xamarin Introduçãoakamud
 
Visual Studio Summit 2016 - Xamarin Test Cloud
Visual Studio Summit 2016 - Xamarin Test CloudVisual Studio Summit 2016 - Xamarin Test Cloud
Visual Studio Summit 2016 - Xamarin Test CloudAlexandre Zollinger Chohfi
 
TDC2016SP - Entrega Contínua com Xamarin: Monte sua esteira
TDC2016SP - Entrega Contínua com Xamarin: Monte sua esteiraTDC2016SP - Entrega Contínua com Xamarin: Monte sua esteira
TDC2016SP - Entrega Contínua com Xamarin: Monte sua esteiratdc-globalcode
 
Desenvolvimento cross-platform em C# com Xamarin - 2018
Desenvolvimento cross-platform em C# com Xamarin - 2018Desenvolvimento cross-platform em C# com Xamarin - 2018
Desenvolvimento cross-platform em C# com Xamarin - 2018akamud
 
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 FrameworkCristian Dean
 

Tendances (20)

Apresentação JAVOU 5
Apresentação JAVOU 5Apresentação JAVOU 5
Apresentação JAVOU 5
 
Introdução ao Xamarin Forms
Introdução ao Xamarin FormsIntrodução ao Xamarin Forms
Introdução ao Xamarin Forms
 
Entendendo Xamarin.Forms V2
Entendendo Xamarin.Forms V2Entendendo Xamarin.Forms V2
Entendendo Xamarin.Forms V2
 
Xamarin fest latam Salvador 2017
Xamarin fest latam Salvador 2017Xamarin fest latam Salvador 2017
Xamarin fest latam Salvador 2017
 
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...
 
Entendendo Xamarin.Forms
Entendendo Xamarin.FormsEntendendo Xamarin.Forms
Entendendo Xamarin.Forms
 
Adobe Phonegap
Adobe PhonegapAdobe Phonegap
Adobe Phonegap
 
Asso
AssoAsso
Asso
 
Linguagem de programação da internet
Linguagem de programação da internetLinguagem de programação da internet
Linguagem de programação da internet
 
Desenvolvendo aplicações Cross-Platform com Xamarin
Desenvolvendo aplicações Cross-Platform com XamarinDesenvolvendo aplicações Cross-Platform com Xamarin
Desenvolvendo aplicações Cross-Platform com Xamarin
 
Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma
Xamarin - Como Otimizar o Desenvolvimento Mobile MultiplataformaXamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma
Xamarin - Como Otimizar o Desenvolvimento Mobile Multiplataforma
 
Desenvolvimento Cross-Mobile com Xamarin
Desenvolvimento Cross-Mobile com Xamarin Desenvolvimento Cross-Mobile com Xamarin
Desenvolvimento Cross-Mobile com Xamarin
 
Xamarin plataform
Xamarin plataformXamarin plataform
Xamarin plataform
 
Xamarin Introdução
Xamarin IntroduçãoXamarin Introdução
Xamarin Introdução
 
Visual Studio Summit 2016 - Xamarin Test Cloud
Visual Studio Summit 2016 - Xamarin Test CloudVisual Studio Summit 2016 - Xamarin Test Cloud
Visual Studio Summit 2016 - Xamarin Test Cloud
 
11 palm - kaue
11   palm - kaue11   palm - kaue
11 palm - kaue
 
TDC2016SP - Entrega Contínua com Xamarin: Monte sua esteira
TDC2016SP - Entrega Contínua com Xamarin: Monte sua esteiraTDC2016SP - Entrega Contínua com Xamarin: Monte sua esteira
TDC2016SP - Entrega Contínua com Xamarin: Monte sua esteira
 
Apis Abertos
Apis AbertosApis Abertos
Apis Abertos
 
Desenvolvimento cross-platform em C# com Xamarin - 2018
Desenvolvimento cross-platform em C# com Xamarin - 2018Desenvolvimento cross-platform em C# com Xamarin - 2018
Desenvolvimento cross-platform em C# com Xamarin - 2018
 
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
 

Similaire à Desenvolvimento multiplataforma com Xamarin

Desenvolvimento Cross-mobile com Xamarin, por onde começar?
Desenvolvimento Cross-mobile com Xamarin, por onde começar?Desenvolvimento Cross-mobile com Xamarin, por onde começar?
Desenvolvimento Cross-mobile com Xamarin, por onde começar?Letticia Nicoli
 
Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#William S. Rodriguez
 
Aplicações Móveis Híbridas
Aplicações Móveis HíbridasAplicações Móveis Híbridas
Aplicações Móveis HíbridasThomas Kanzig
 
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 AndroidCarlos Eugenio Torres
 
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...Leonardo Melo Santos
 
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 mobileakamud
 
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchIntrodução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchLeonardo Soares
 
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisApresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisÉdipo Souza
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-PlatformAdriel Café
 
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)Daniel Semedo
 
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 jediAlessandro Binhara
 
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 MvvmCrossakamud
 
Xamarin em 7 minutos
Xamarin em 7 minutosXamarin em 7 minutos
Xamarin em 7 minutosakamud
 
Xamarin - Dev Day 2015
Xamarin - Dev Day 2015Xamarin - Dev Day 2015
Xamarin - Dev Day 2015Studyxnet
 

Similaire à Desenvolvimento multiplataforma com Xamarin (20)

Desenvolvimento Cross-mobile com Xamarin, por onde começar?
Desenvolvimento Cross-mobile com Xamarin, por onde começar?Desenvolvimento Cross-mobile com Xamarin, por onde começar?
Desenvolvimento Cross-mobile com Xamarin, por onde começar?
 
iBeer #2 - Xamarin
iBeer #2 - XamariniBeer #2 - Xamarin
iBeer #2 - Xamarin
 
Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#
 
Aplicações Móveis Híbridas
Aplicações Móveis HíbridasAplicações Móveis Híbridas
Aplicações Móveis Híbridas
 
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
 
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...
 
Flash mobile
Flash mobileFlash mobile
Flash mobile
 
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
 
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchIntrodução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
 
Workshop frontend
Workshop   frontendWorkshop   frontend
Workshop frontend
 
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias DigitaisApresentação de minha Monografia do curso de Sistema e Mídias Digitais
Apresentação de minha Monografia do curso de Sistema e Mídias Digitais
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-Platform
 
A vez do mobile - Dev in Bahia #3
A vez do mobile - Dev in Bahia #3A vez do mobile - Dev in Bahia #3
A vez do mobile - Dev in Bahia #3
 
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)
 
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
 
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
 
Xamarin em 7 minutos
Xamarin em 7 minutosXamarin em 7 minutos
Xamarin em 7 minutos
 
Básico de desenvolvimento com Android
Básico de desenvolvimento com AndroidBásico de desenvolvimento com Android
Básico de desenvolvimento com Android
 
Xamarin - Dev Day 2015
Xamarin - Dev Day 2015Xamarin - Dev Day 2015
Xamarin - Dev Day 2015
 
Workshop - Cordova e Ionic
Workshop - Cordova e IonicWorkshop - Cordova e Ionic
Workshop - Cordova e Ionic
 

Desenvolvimento multiplataforma com Xamarin

  • 1.
  • 2. Como podemos desenvolver um mesmo aplicativo para 3 plataformas? iOS Objective C Android Java Windows C#
  • 3. 3x mais problemas  Gestão de Fontes  Maior tempo para lançamento de novas versões  Dificuldades para execução de testes nas plataformas  Profissionais com perfis diferentes  Linguagens diferentes (Objective C, JAVA, C#)
  • 4.
  • 5. Aplicativos Híbridos com Cordova  HTML, CSS, JS  Acesso aos recursos nativos  Roda em uma WebView  Agilidade no desenvolvimento
  • 6. Qual a diferença entre um app híbrido e um nativo?
  • 7. Aplicativos Híbridos  Pouca Experiência do usuário  Não utiliza toda a capacidade de recursos das plataformas;  Apresenta problemas de compatibilidade;  Difícil manutenção e debug;  Interfaces fora do padrão;  Performance não nativa;  Acesso a API’s limitados.
  • 8. Interface de Usuário Nativa Acesso API Performance Nativa Desenvolvimento utilizando interface e controles padrão permitindo interações fáceis e familiares App’s têm acesso a toda a gama de funcionalidade exposta pela plataforma independente de dispositivo 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. Aplicativos Nativos
  • 9. A PLATAFORMA XAMARIN Código NATIVO compartilhado
  • 10. Xamarin utiliza uma Abordagem Única C#
  • 11. Código C# Compartilhado no Backend Interfaces nativas C#
  • 12. Xamarin é 100% Código Nativo Debug de objetos Java e Objective C Interoperabilidade com qualquer linguagem Utilizar bibliotecas Android e iOS de forma nativa Empacotar e disponibilizar uma aplicação nativa única
  • 13. Compartilhamento de Código C# App Logic C# User Interface 30% 70%
  • 14. • Licenciamento da Apple requer um Mac para Build e teste de aplicativos iOS. Integração com Mac (build host)
  • 15. 70% de compartilhamento de código não é suficiente!?
  • 16. Podemos escrever uma vez só a interface que é reutilizada nas 3 plataformas.
  • 18. Agora temos em torno de 90% de código compartilhado :D
  • 19. Xamarin Forms • Maximiza o compartilhamento de código entre plataformas; • Mais de 40 controles, páginas e layouts; • Construa interfaces usando C# ou XAML; • Navegação, animação, mensageria.
  • 22.
  • 23. Pulo do Gato  A aparência deve honrar a plataforma de destino.  Aplicativos corporativos não são aplicações de consumo.  Tire vantagem das capacidades móveis.  Cuide da acessibilidade.  Na apresentação de protótipos utilize o dispositivo final.  Não sobrecarregue o app com regras de negócio.  Use o Genymotion como emulador Android.  Use o Gorila Player para visualização da interface XAML.
  • 25. DÚVIDAS Alisson Sena Arquiteto de Aplicações Móveis alissonosena@gmail.com Site Oficial https://www.xamarin.com/