SlideShare uma empresa Scribd logo
1 de 34
Desenvolvimento Mobile Cross-
Platform com C# e Xamarin
Mahmoud Ali
Desenvolvedor
@akamud
Desafios de desenvolvimento Mobile
• Múltiplas plataformas
• Vários tamanhos de tela
• Vários tipos de dispositivos
• Sistemas Operacionais modificados
• Repetição de código entre plataformas
DESKTOP WEB CLOUD MOBILE GAMING IoT AI
.NET
Sua plataforma para tudo
LIBRARIES
INFRASTRUCTURE
.NET STANDARD
.NET – Uma plataforma unificada
DESKTOP WEB CLOUD MOBILE GAMING IoT AI
O que é Nativo?
Interfaces Nativas Acesso às API Nativas Performance Nativa
Tudo que você pode fazer com Objetice-C, Swift ou Java, você pode fazer com C# e Xamarin
Performance nativa
• Xamarin.iOS faz compilação Ahead
of Time (AOT) em todo o código
para produzir um binário ARM para
a App Store da Apple.
• Xamarin.Android se aproveita dos
benefícios da compilação Just In
Time (JIT) no Android.
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 APIs – 100% de cobertura
C#
MapKit UIKit iBeacon CoreGraphics CoreMotion
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
Android APIs – 100% de cobertura
C#
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
Compartilhamento de código
● Código C# Compartilhado ● 100% de acesso às APIs Nativas ● Alta performance
O que não é compartilhado
User Interface User Interface User Interface
Geolocation Geolocation Geolocation
Compass Compass Compass
Keystore Keystore Keystore
… … …
NSUserDefaults SharedPreferences ApplicationData
APIs Diferentes – Acesso às preferências
API Compartilhada
Compartilhando mais código
Plugins – Mais compartilhamento de
código
Preferences.Get(“temaUsado”, 0);
NSUserDefaults SharedPreferences ApplicationData
Xamarin Tradicional
Windows C#Android C#iOS C#
Shared C# Logic
 3 Interfaces de Usuário Nativas
 Código do App compartilhado
Xamarin.Forms- Cross Platform UI
Shared UI Code
Shared C# Logic
 UI Nativa compartilhada
 Código do App compartilhado
Xamarin.Forms
Xamarin.Forms - Resultado
Páginas
Layouts
Controles
Compartilhamento
de código
Mac
iOS
Android
Windows
iCircuit Touch
Draw
86%
14%
72%
28%
70%
30%
61%39%
88%
12%
76%
24%
90%
10%
Evolve App
(Xamarin.Forms)
91%
9%
93%
7%
98%
2%
Novidades do Xamarin.Forms
• Android Fast Renderers
• Layout Compression
• Native Forms
• LTR/RTL
• FlexLayout
• Android Bottom Tabs
• TitleView
• F100
O que está por vir em breve
• CollectionView
• CarrouselView
• Xamarin.Forms Shell
Supported Navigation UI Patterns In Shell
1 Page Bottom Tabs Bottom & Top Tabs FlyoutTop Tabs
<ShellItem Route="main" Title="Home">
<ShellContent Title="Home“ ContentTemplate="{DataTemplate local:MainPage}" />
<ShellSection Title="Notifications">
<ShellContent Title="Recent" ContentTemplate="{DataTemplate local:RecentActivityPage}" />
<ShellContent Title=“Alert Settings" ContentTemplate="{DataTemplate local:AlertSettingsPage}" />
</ShellSection>
</ShellItem>
<Shell FlyoutBehavior=“Disabled” …>
<ShellContent>
<local:MainPage />
</ShellContent>
</Shell>
<ShellItem>
<ShellContent Title="Home“ ContentTemplate="{DataTemplate local:MainPage}" />
<ShellContent Title=“Notifications“ ContentTemplate="{DataTemplate local:NotificationsPage}" />
</ShellItem>
<ShellItem Route="main" Title="Home">
<ShellSection>
<ShellContent Title=“Page 1" ContentTemplate="{DataTemplate local:FirstPage}" />
<ShellContent Title=“Page 2" ContentTemplate="{DataTemplate local:SecondPage}" />
</ShellSection>
</ShellItem>
<Shell.FlyoutHeader>
<ContentView HeightRequest=“300”>
<Label Text=“Hello XamStore” …/>
</ContentView>
</Shell.FlyoutHeader>
<ShellItem Route="main" Title="Home">
<ShellContent ContentTemplate=“{DataTemplate local:MainPage}” />
</ShellItem>
<ShellItem Route=“notifications” Title=“Notifications”>
<ShellContent ContentTemplate=“{DataTemplate local:NotificationsPage}” />
</ShellItem>
Que mais?
• Grátis!
• Integrado ao Visual Studio
• Ferramentas de produtividade
• Automatic Provisioning
• iOS Designer
• iOS Remote Simulator/Build
Open Source – open.xamarin.com
Cursos grátis
Referências
• Xamarin (visualstudio.com/xamarin)
• Documentação Xamarin (docs.microsoft.com/xamarin)
• GitHub (github.com/xamarin)
• Xamarin University (university.xamarin.com)
• Maratona Xamarin da Microsoft (grátis e em português)
(https://bit.ly/h5d-maratona)
Obrigado!
@akamud
muddibr@gmail.com

Mais conteúdo relacionado

Mais procurados

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
 
Animation com Xamarin.Forms e Custom Renderers
Animation com Xamarin.Forms e Custom RenderersAnimation com Xamarin.Forms e Custom Renderers
Animation com Xamarin.Forms e Custom Renderersakamud
 
100% de código compartilhado com Xamarin.Forms
100% de código compartilhado com Xamarin.Forms100% de código compartilhado com Xamarin.Forms
100% de código compartilhado com Xamarin.Formsakamud
 
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesConstruindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesWilliam S. Rodriguez
 
Introdução ao Xamarin
Introdução ao XamarinIntrodução ao Xamarin
Introdução ao XamarinStudyxnet
 
Publiquei meu site e não funcionou, e agora?
Publiquei meu site e não funcionou, e agora?Publiquei meu site e não funcionou, e agora?
Publiquei meu site e não funcionou, e agora?akamud
 
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
 
Aplicativos Híbridos e Xamarin Test Cloud
Aplicativos Híbridos e Xamarin Test CloudAplicativos Híbridos e Xamarin Test Cloud
Aplicativos Híbridos e Xamarin Test Cloudakamud
 
Xamarin Introdução
Xamarin IntroduçãoXamarin Introdução
Xamarin Introduçãoakamud
 
Introdução ao Xamarin Forms
Introdução ao Xamarin FormsIntrodução ao Xamarin Forms
Introdução ao Xamarin FormsStudyxnet
 
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
 
Entendendo Xamarin.Forms V2
Entendendo Xamarin.Forms V2Entendendo Xamarin.Forms V2
Entendendo Xamarin.Forms V2Letticia Nicoli
 
Entendendo Xamarin.Forms
Entendendo Xamarin.FormsEntendendo Xamarin.Forms
Entendendo Xamarin.FormsLetticia 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
 
Palestra ETEC Paulistano 27/11/19
Palestra ETEC Paulistano 27/11/19Palestra ETEC Paulistano 27/11/19
Palestra ETEC Paulistano 27/11/19Juliano Custódio
 
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
 
Introdução Xamarin.Forms 2018 - Aula 1
Introdução Xamarin.Forms 2018 - Aula 1Introdução Xamarin.Forms 2018 - Aula 1
Introdução Xamarin.Forms 2018 - Aula 1Jefferson Balivo
 
Desenvolvendo e portando App C# para Android e Iphone
Desenvolvendo e portando App C# para Android e IphoneDesenvolvendo e portando App C# para Android e Iphone
Desenvolvendo e portando App C# para Android e IphoneAlessandro Binhara
 

Mais procurados (20)

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...
 
Animation com Xamarin.Forms e Custom Renderers
Animation com Xamarin.Forms e Custom RenderersAnimation com Xamarin.Forms e Custom Renderers
Animation com Xamarin.Forms e Custom Renderers
 
100% de código compartilhado com Xamarin.Forms
100% de código compartilhado com Xamarin.Forms100% de código compartilhado com Xamarin.Forms
100% de código compartilhado com Xamarin.Forms
 
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesConstruindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
 
Introdução ao Xamarin
Introdução ao XamarinIntrodução ao Xamarin
Introdução ao Xamarin
 
Publiquei meu site e não funcionou, e agora?
Publiquei meu site e não funcionou, e agora?Publiquei meu site e não funcionou, e agora?
Publiquei meu site e não funcionou, e agora?
 
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
 
Aplicativos Híbridos e Xamarin Test Cloud
Aplicativos Híbridos e Xamarin Test CloudAplicativos Híbridos e Xamarin Test Cloud
Aplicativos Híbridos e Xamarin Test Cloud
 
Xamarin Introdução
Xamarin IntroduçãoXamarin Introdução
Xamarin Introdução
 
Introdução ao Xamarin Forms
Introdução ao Xamarin FormsIntrodução ao Xamarin Forms
Introdução ao Xamarin Forms
 
Introdução ao Azure Mobile Apps
Introdução ao Azure Mobile AppsIntrodução ao Azure Mobile Apps
Introdução ao Azure Mobile Apps
 
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
 
Entendendo Xamarin.Forms V2
Entendendo Xamarin.Forms V2Entendendo Xamarin.Forms V2
Entendendo Xamarin.Forms V2
 
Entendendo Xamarin.Forms
Entendendo Xamarin.FormsEntendendo Xamarin.Forms
Entendendo Xamarin.Forms
 
Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#
 
Palestra ETEC Paulistano 27/11/19
Palestra ETEC Paulistano 27/11/19Palestra ETEC Paulistano 27/11/19
Palestra ETEC Paulistano 27/11/19
 
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
 
Introdução Xamarin.Forms 2018 - Aula 1
Introdução Xamarin.Forms 2018 - Aula 1Introdução Xamarin.Forms 2018 - Aula 1
Introdução Xamarin.Forms 2018 - Aula 1
 
Desenvolvendo e portando App C# para Android e Iphone
Desenvolvendo e portando App C# para Android e IphoneDesenvolvendo e portando App C# para Android e Iphone
Desenvolvendo e portando App C# para Android e Iphone
 
iBeer #2 - Xamarin
iBeer #2 - XamariniBeer #2 - Xamarin
iBeer #2 - Xamarin
 

Semelhante a Desenvolvimento Mobile Cross-Platform com C# e Xamarin

Xamarin em 7 minutos
Xamarin em 7 minutosXamarin em 7 minutos
Xamarin em 7 minutosakamud
 
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 FormsRobson Soares Amorim
 
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
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-PlatformAdriel Café
 
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
 
Dotnet conflocal Salvador 2016 - Xamarin.Forms
Dotnet conflocal Salvador 2016 - Xamarin.FormsDotnet conflocal Salvador 2016 - Xamarin.Forms
Dotnet conflocal Salvador 2016 - Xamarin.FormsAlisson Sena, MBA
 
Universal Windows Platform Bridges
Universal Windows Platform BridgesUniversal Windows Platform Bridges
Universal Windows Platform BridgesCaio Chaves Garcez
 
Xamarin fest latam Salvador 2017
Xamarin fest latam Salvador 2017Xamarin fest latam Salvador 2017
Xamarin fest latam Salvador 2017Alisson Sena, MBA
 
Xamarin - Dev Day 2015
Xamarin - Dev Day 2015Xamarin - Dev Day 2015
Xamarin - Dev Day 2015Studyxnet
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo maisakamud
 
Introdução ao Xamarin iOS
Introdução ao Xamarin iOSIntrodução ao Xamarin iOS
Introdução ao Xamarin iOSStudyxnet
 
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
 
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...Paulo Cesar Ortins Brito
 
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...Paulo Cesar Ortins Brito
 
Aplicações Móveis Híbridas
Aplicações Móveis HíbridasAplicações Móveis Híbridas
Aplicações Móveis HíbridasThomas Kanzig
 
la 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gapla 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gapRoberson Alves
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?akamud
 

Semelhante a Desenvolvimento Mobile Cross-Platform com C# e Xamarin (20)

Xamarin em 7 minutos
Xamarin em 7 minutosXamarin em 7 minutos
Xamarin em 7 minutos
 
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
 
Microsoft Xamarin
Microsoft XamarinMicrosoft Xamarin
Microsoft Xamarin
 
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
 
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
 
Dotnet conflocal Salvador 2016 - Xamarin.Forms
Dotnet conflocal Salvador 2016 - Xamarin.FormsDotnet conflocal Salvador 2016 - Xamarin.Forms
Dotnet conflocal Salvador 2016 - Xamarin.Forms
 
Universal Windows Platform Bridges
Universal Windows Platform BridgesUniversal Windows Platform Bridges
Universal Windows Platform Bridges
 
Xamarin fest latam Salvador 2017
Xamarin fest latam Salvador 2017Xamarin fest latam Salvador 2017
Xamarin fest latam Salvador 2017
 
Windows 10 Developer Readiness - Brasil
Windows 10 Developer Readiness - BrasilWindows 10 Developer Readiness - Brasil
Windows 10 Developer Readiness - Brasil
 
Xamarin - Dev Day 2015
Xamarin - Dev Day 2015Xamarin - Dev Day 2015
Xamarin - Dev Day 2015
 
Watch & Wear com Xamarin e C#
Watch & Wear com Xamarin e C#Watch & Wear com Xamarin e C#
Watch & Wear com Xamarin e C#
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais
 
Introdução ao Xamarin iOS
Introdução ao Xamarin iOSIntrodução ao Xamarin iOS
Introdução ao Xamarin iOS
 
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...
 
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...
 
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...
 
Aplicações Móveis Híbridas
Aplicações Móveis HíbridasAplicações Móveis Híbridas
Aplicações Móveis Híbridas
 
la 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gapla 02Aula02 introdução phone_gap
la 02Aula02 introdução phone_gap
 
.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?.NET 6: O que há de novo e o que está por vir?
.NET 6: O que há de novo e o que está por vir?
 

Mais de akamud

Hacktoberfest - Contribuindo com Open Source
Hacktoberfest  - Contribuindo com Open SourceHacktoberfest  - Contribuindo com Open Source
Hacktoberfest - Contribuindo com Open Sourceakamud
 
Automatizando os testes da sua aplicação hoje
Automatizando os testes da sua aplicação hojeAutomatizando os testes da sua aplicação hoje
Automatizando os testes da sua aplicação hojeakamud
 
Indo além do Enterprise: fazendo aplicativos para usuários finais com Xamarin...
Indo além do Enterprise: fazendo aplicativos para usuários finais com Xamarin...Indo além do Enterprise: fazendo aplicativos para usuários finais com Xamarin...
Indo além do Enterprise: fazendo aplicativos para usuários finais com Xamarin...akamud
 
.NET MAUI - O futuro do desenvolvimento de apps no .NET
.NET MAUI - O futuro do desenvolvimento de apps no .NET.NET MAUI - O futuro do desenvolvimento de apps no .NET
.NET MAUI - O futuro do desenvolvimento de apps no .NETakamud
 
Azure DevOps + App Center: DevOps multi-staging para seu app
Azure DevOps + App Center: DevOps multi-staging para seu appAzure DevOps + App Center: DevOps multi-staging para seu app
Azure DevOps + App Center: DevOps multi-staging para seu appakamud
 
O Futuro do .NET
O Futuro do .NETO Futuro do .NET
O Futuro do .NETakamud
 
Interfaces reativas com ReactiveUI no Xamarin.Forms
Interfaces reativas com ReactiveUI no Xamarin.FormsInterfaces reativas com ReactiveUI no Xamarin.Forms
Interfaces reativas com ReactiveUI no Xamarin.Formsakamud
 
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile - Capi Conf 2019
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile - Capi Conf 2019Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile - Capi Conf 2019
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile - Capi Conf 2019akamud
 
Mobile Development Simplified with Xamarin
Mobile Development Simplified with XamarinMobile Development Simplified with Xamarin
Mobile Development Simplified with Xamarinakamud
 
O que há de novo no Xamarin.Forms
O que há de novo no Xamarin.FormsO que há de novo no Xamarin.Forms
O que há de novo no Xamarin.Formsakamud
 
Automatizando tudo no mundo mobile com fastlane
Automatizando tudo no mundo mobile com fastlaneAutomatizando tudo no mundo mobile com fastlane
Automatizando tudo no mundo mobile com fastlaneakamud
 
Tornando o Xamarin.Forms ainda melhor com Prism
Tornando o Xamarin.Forms ainda melhor com PrismTornando o Xamarin.Forms ainda melhor com Prism
Tornando o Xamarin.Forms ainda melhor com Prismakamud
 
Animações com Xamarin.Forms
Animações com Xamarin.FormsAnimações com Xamarin.Forms
Animações com Xamarin.Formsakamud
 
Instrumentação completa com Visual Studio Mobile Center
Instrumentação completa com Visual Studio Mobile CenterInstrumentação completa com Visual Studio Mobile Center
Instrumentação completa com Visual Studio Mobile Centerakamud
 
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveis
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveisXamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveis
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveisakamud
 
Instrumentação completa para sua aplicação Mobile com Visual Studio Mobile Ce...
Instrumentação completa para sua aplicação Mobile com Visual Studio Mobile Ce...Instrumentação completa para sua aplicação Mobile com Visual Studio Mobile Ce...
Instrumentação completa para sua aplicação Mobile com Visual Studio Mobile Ce...akamud
 
Soluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft OrleansSoluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft Orleansakamud
 
Programando interfaces reativas com ReacitveUI na plataforma Xamarin
Programando interfaces reativas com ReacitveUI na plataforma XamarinProgramando interfaces reativas com ReacitveUI na plataforma Xamarin
Programando interfaces reativas com ReacitveUI na plataforma Xamarinakamud
 

Mais de akamud (18)

Hacktoberfest - Contribuindo com Open Source
Hacktoberfest  - Contribuindo com Open SourceHacktoberfest  - Contribuindo com Open Source
Hacktoberfest - Contribuindo com Open Source
 
Automatizando os testes da sua aplicação hoje
Automatizando os testes da sua aplicação hojeAutomatizando os testes da sua aplicação hoje
Automatizando os testes da sua aplicação hoje
 
Indo além do Enterprise: fazendo aplicativos para usuários finais com Xamarin...
Indo além do Enterprise: fazendo aplicativos para usuários finais com Xamarin...Indo além do Enterprise: fazendo aplicativos para usuários finais com Xamarin...
Indo além do Enterprise: fazendo aplicativos para usuários finais com Xamarin...
 
.NET MAUI - O futuro do desenvolvimento de apps no .NET
.NET MAUI - O futuro do desenvolvimento de apps no .NET.NET MAUI - O futuro do desenvolvimento de apps no .NET
.NET MAUI - O futuro do desenvolvimento de apps no .NET
 
Azure DevOps + App Center: DevOps multi-staging para seu app
Azure DevOps + App Center: DevOps multi-staging para seu appAzure DevOps + App Center: DevOps multi-staging para seu app
Azure DevOps + App Center: DevOps multi-staging para seu app
 
O Futuro do .NET
O Futuro do .NETO Futuro do .NET
O Futuro do .NET
 
Interfaces reativas com ReactiveUI no Xamarin.Forms
Interfaces reativas com ReactiveUI no Xamarin.FormsInterfaces reativas com ReactiveUI no Xamarin.Forms
Interfaces reativas com ReactiveUI no Xamarin.Forms
 
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile - Capi Conf 2019
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile - Capi Conf 2019Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile - Capi Conf 2019
Xamarin + TDD - Reagindo rápido à mudanças no mundo mobile - Capi Conf 2019
 
Mobile Development Simplified with Xamarin
Mobile Development Simplified with XamarinMobile Development Simplified with Xamarin
Mobile Development Simplified with Xamarin
 
O que há de novo no Xamarin.Forms
O que há de novo no Xamarin.FormsO que há de novo no Xamarin.Forms
O que há de novo no Xamarin.Forms
 
Automatizando tudo no mundo mobile com fastlane
Automatizando tudo no mundo mobile com fastlaneAutomatizando tudo no mundo mobile com fastlane
Automatizando tudo no mundo mobile com fastlane
 
Tornando o Xamarin.Forms ainda melhor com Prism
Tornando o Xamarin.Forms ainda melhor com PrismTornando o Xamarin.Forms ainda melhor com Prism
Tornando o Xamarin.Forms ainda melhor com Prism
 
Animações com Xamarin.Forms
Animações com Xamarin.FormsAnimações com Xamarin.Forms
Animações com Xamarin.Forms
 
Instrumentação completa com Visual Studio Mobile Center
Instrumentação completa com Visual Studio Mobile CenterInstrumentação completa com Visual Studio Mobile Center
Instrumentação completa com Visual Studio Mobile Center
 
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveis
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveisXamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveis
Xamarin Forms: O caminho para 100% de código compartilhado em aplicativos móveis
 
Instrumentação completa para sua aplicação Mobile com Visual Studio Mobile Ce...
Instrumentação completa para sua aplicação Mobile com Visual Studio Mobile Ce...Instrumentação completa para sua aplicação Mobile com Visual Studio Mobile Ce...
Instrumentação completa para sua aplicação Mobile com Visual Studio Mobile Ce...
 
Soluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft OrleansSoluções escaláveis com Microsoft Orleans
Soluções escaláveis com Microsoft Orleans
 
Programando interfaces reativas com ReacitveUI na plataforma Xamarin
Programando interfaces reativas com ReacitveUI na plataforma XamarinProgramando interfaces reativas com ReacitveUI na plataforma Xamarin
Programando interfaces reativas com ReacitveUI na plataforma Xamarin
 

Desenvolvimento Mobile Cross-Platform com C# e Xamarin

  • 1. Desenvolvimento Mobile Cross- Platform com C# e Xamarin Mahmoud Ali Desenvolvedor @akamud
  • 2. Desafios de desenvolvimento Mobile • Múltiplas plataformas • Vários tamanhos de tela • Vários tipos de dispositivos • Sistemas Operacionais modificados • Repetição de código entre plataformas
  • 3.
  • 4. DESKTOP WEB CLOUD MOBILE GAMING IoT AI .NET Sua plataforma para tudo
  • 5. LIBRARIES INFRASTRUCTURE .NET STANDARD .NET – Uma plataforma unificada DESKTOP WEB CLOUD MOBILE GAMING IoT AI
  • 6.
  • 7. O que é Nativo?
  • 8. Interfaces Nativas Acesso às API Nativas Performance Nativa Tudo que você pode fazer com Objetice-C, Swift ou Java, você pode fazer com C# e Xamarin
  • 9. Performance nativa • Xamarin.iOS faz compilação Ahead of Time (AOT) em todo o código para produzir um binário ARM para a App Store da Apple. • Xamarin.Android se aproveita dos benefícios da compilação Just In Time (JIT) no Android.
  • 10. 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#
  • 11. iOS APIs – 100% de cobertura C# MapKit UIKit iBeacon CoreGraphics CoreMotion System.Data System.Windows System.Numerics System.Core System.ServiceModel System.Net System System.IO System.Linq System.Xml
  • 12. Android APIs – 100% de cobertura C# 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
  • 13. Compartilhamento de código ● Código C# Compartilhado ● 100% de acesso às APIs Nativas ● Alta performance
  • 14. O que não é compartilhado User Interface User Interface User Interface Geolocation Geolocation Geolocation Compass Compass Compass Keystore Keystore Keystore … … …
  • 15. NSUserDefaults SharedPreferences ApplicationData APIs Diferentes – Acesso às preferências
  • 17. Plugins – Mais compartilhamento de código Preferences.Get(“temaUsado”, 0); NSUserDefaults SharedPreferences ApplicationData
  • 18.
  • 19. Xamarin Tradicional Windows C#Android C#iOS C# Shared C# Logic  3 Interfaces de Usuário Nativas  Código do App compartilhado
  • 20. Xamarin.Forms- Cross Platform UI Shared UI Code Shared C# Logic  UI Nativa compartilhada  Código do App compartilhado
  • 27. Novidades do Xamarin.Forms • Android Fast Renderers • Layout Compression • Native Forms • LTR/RTL • FlexLayout • Android Bottom Tabs • TitleView • F100
  • 28. O que está por vir em breve • CollectionView • CarrouselView • Xamarin.Forms Shell
  • 29. Supported Navigation UI Patterns In Shell 1 Page Bottom Tabs Bottom & Top Tabs FlyoutTop Tabs <ShellItem Route="main" Title="Home"> <ShellContent Title="Home“ ContentTemplate="{DataTemplate local:MainPage}" /> <ShellSection Title="Notifications"> <ShellContent Title="Recent" ContentTemplate="{DataTemplate local:RecentActivityPage}" /> <ShellContent Title=“Alert Settings" ContentTemplate="{DataTemplate local:AlertSettingsPage}" /> </ShellSection> </ShellItem> <Shell FlyoutBehavior=“Disabled” …> <ShellContent> <local:MainPage /> </ShellContent> </Shell> <ShellItem> <ShellContent Title="Home“ ContentTemplate="{DataTemplate local:MainPage}" /> <ShellContent Title=“Notifications“ ContentTemplate="{DataTemplate local:NotificationsPage}" /> </ShellItem> <ShellItem Route="main" Title="Home"> <ShellSection> <ShellContent Title=“Page 1" ContentTemplate="{DataTemplate local:FirstPage}" /> <ShellContent Title=“Page 2" ContentTemplate="{DataTemplate local:SecondPage}" /> </ShellSection> </ShellItem> <Shell.FlyoutHeader> <ContentView HeightRequest=“300”> <Label Text=“Hello XamStore” …/> </ContentView> </Shell.FlyoutHeader> <ShellItem Route="main" Title="Home"> <ShellContent ContentTemplate=“{DataTemplate local:MainPage}” /> </ShellItem> <ShellItem Route=“notifications” Title=“Notifications”> <ShellContent ContentTemplate=“{DataTemplate local:NotificationsPage}” /> </ShellItem>
  • 30. Que mais? • Grátis! • Integrado ao Visual Studio • Ferramentas de produtividade • Automatic Provisioning • iOS Designer • iOS Remote Simulator/Build
  • 31. Open Source – open.xamarin.com
  • 33. Referências • Xamarin (visualstudio.com/xamarin) • Documentação Xamarin (docs.microsoft.com/xamarin) • GitHub (github.com/xamarin) • Xamarin University (university.xamarin.com) • Maratona Xamarin da Microsoft (grátis e em português) (https://bit.ly/h5d-maratona)

Notas do Editor

  1. 4
  2. 5
  3. Microsoft Build 2017
  4. Microsoft Build 2017