SlideShare uma empresa Scribd logo
1 de 82
PLATAFORMA
XAMARIN
William S. Rodriguez
Arquiteto de Soluções no Grupo Viceri
wrodriguez@viceri.com.br
Agenda
Desenvolvimento mobile;
Por que criar aplicações nativas;
A Plataforma Xamarin e código
compartilhado;
Clico de vida de aplicativos e DevOps;
Xamarin e Microsoft;
Xamarin no Grupo Viceri
DESENVOLVIMENT
O MOBILE
Arquiteturas e modelos de
desenvolvimento
2012
2014
http://bit.ly/mobile-social-data
O mesmo aplicativo várias vezes
Abordagem
de Silos
Java
Eclipse
Android App
C#
Visual Studio
Windows App
Objective-C
XCoce
iOS App
Três vezes mais problemas
• Perfis diferentes de profissionais;
• Investimento em hardware diferentes;
• Linguagens incompatíveis entre si (JAVA, Objective C, C#);
• Sobrecarga na Gestão;
• Dificuldades para execução de Teste;
• Maior tempo para lançamento de novas funcionalidades.
Então vamos começar pelo mais fácil
• Aplicativos Android custam de 2 a 3 vezes mais
para desenvolver do que Aplicativos iOS;
• Fragmentação de ambiente (8 versões do OS e
mais de 7mil dispositivos diferentes);
• Produtividade;
• API’s mais complexas (difíceis de utilizar);
Dispositivos Android
* Mesmo se você tiver o mesmo esforço
de desenvolvimento para todas as três
plataformas ainda terá três meses
de projeto
* Utopia
1 Mês iOS + 2 Meses para Android = 1 projeto de 3 meses;
Abordagem da “caixa mágica preta”
• Experiência do usuário pobre
• Não utiliza toda a capacidade de recursos das
plataformas de forma homogenia;
• Apresenta problemas de compatibilidade e
performance;
• Difícil manutenção e debug;
• Alta taxa de abandono e desperdício de
investimento
Black Box
Escreva uma vez e execute em qualquer
dispositivo
Interfaces fora
do padrão
Performance
não nativa
Acesso a API’s
limitados
Mas o HTML5 vai nos salvar!?
"The biggest mistake we made as a
company was betting too much on
HTML5 rather than native"
- Mark Zuckerberg
Mas o HTML5 vai nos salvar!?
HTML5 APP NATIVA
Por que criar
App’s Nativas?
“As pessoas esperam uma grande
experiência em dispositivos Mobile”
- Miguel de Icaza
Aplicações Nativas
Interface de usuário Nativa
High-fidelity API Access
Native Performance
App’s são construídas 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.
A PLATAFORMA
XAMARIN
Código NATIVO compartilhado
Xamarin Utiliza uma Abordagem Única
Criar aplicações nativas iOS, Android,
Mac e Windows utilizando C#.
Por que Xamarin?
Mobile Enterprise Application Platform
Construa App's Nativas Teste Monitore
Código C#
Compartilhado no Backend
Xamarin
Android C# UI Windows C# UIiOS C# UI
API's Windows
iOS API's 100% de Cobertura
Android API's 100% de Cobertura
Não só Smartphones e Tablets
Nearables
Xamarin.Robotics
Wearables
http://bit.ly/xamarin-nearables
http://bit.ly/xamarin-robotics
http://bit.ly/xamarin-wearables
Por que Xamarin?
Compartilhe o código que faz sentido, tire
vantagem da UX nativa de cada plataforma.
Compartilhamento de Código
• Compartilhar apenas o core da
aplicação;
• Interface Nativa;
• Cria a interface de acordo com as
características de cada plataforma.
• Abuso das características do
dispositivo;
• 100% de compatibilidade;
C#
Backend
70%
C# UI
30%
Media de Compartilhamento
Desenvolvimento Acelerado com
Compartilhamento de Código
Estatísticas de construção utilizando código compartilhado com Xamarin, para um aplicativo
simulador de circuitos em tempo real utilizado para desenha circuitos analógicos e digitais.
User Interface Code
App Logic
70%
30%
86%
14%
85%
15%
88%
12%
{ iOS } { Android } { Windows RT } { OS X }
http://icircuitapp.com/
50 milhões de linhas de código
compartilhado
• Precisavam de uma solução escalável para
aplicativos nativos em múltiplas plataformas.
• Aplicativos originais construídos utilizando
abordagem de silos. Equipe era incapaz de
entregar novos recursos em todas as
plataformas simultaneamente.
• Custos elevados para desenvolvimento e
manutenção de aplicativos.
50 milhões de linhas de código
compartilhado
Utilizando Xamarin
Rdio agora compartilha mais de 50 milhões
linhas código de C # através iOS, Android e
Windows, permitindo que eles se concentrem
em recurso de paridade e experiência do
usuário.
“Rdio’s mobile app is also the best looking and best
implemented of the three [music streaming apps reviewed]”
– Wired
Xamarin é Código Nativo
• Interoperabilidade com qualquer linguagem;
• Utilizar bibliotecas Android e iOS de forma nativa;
• Debug de objetos Java e Objective C.
• Executa código Java e Objective C
• Empacota e disponibiliza uma aplicação nativa única;
• Posso utilizar Binding para bibliotecas e objetos Java (JAR);
• Não é possível fazer fora de framework nativo.
Performance Nativa
App’s construídas com Xamarin são nativas pois utilizam código
nativo.
Xamarin.iOS executa compilação Ahead Of
Time (AOT) produzindo o binário (.app) ARM
para Apple App Store.
Xamarin.Android tira vantage da compilação
Just In Time (JIT) nos dispositivos Android.
Qualquer coisa que você conseguir fazer
utilizando Objective-C, Swift, ou Java! Pode ser
feita com C# e Xamarin no Visual Studio
Visual Studio como IDE
• Todas as funcionalidades do
Visual Studio disponíveis
• Help, debug, intelisense,
refactor, watch, etc...
• Debugar código nativo;
• Integração com TFS.
Visual Studio como IDE
• Desenho de telas integrado (iOS, Android e Windows Phone)
• Gerenciar dependências via
NuGet ou NuGet privado;
• Uso de uma única linguagem
de desenvolvimento C#;
• Suporte a PCL;
• DLL portáveis.
Integração com Mac (build host)
• Licenciamento da Apple requer um Mac para Build e teste de
aplicativos iOS.
Xamarin Android Designer
• Integração completa com
Visual Studio;
• Drag and drop de
componentes;
• Muilti edit.
Xamarin iOS Designer
• Integração completa com
Visual Studio;
• Suporte a StoryBoard;
• Suporte a auto-layout;
• Live preview para controles
customizados.
Por que C#?
C Hash Tag ou dó sustenido?
C# roda em 2.5 Bilhões
de dispositivos
De computadores, smarthphones, tablets até consoles de jogos
como PS4
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();
Task<string> getStringTask = client.
GetStringAsync(“http://viceri.com.br”);
E por ai vai...
C# é mais produtivo
Menos código mais resultado
Objective-C C# com Xamarin
Java C# com Xamarin
C# Linguagem Conhecida
Uso de mão de obra já qualificada;
Sem necessidade de treinamento para utilizar o
framework;
Utilizar componentes de mercado ou comunidade;
Reaproveitamento de legado.
Xamarin Scanner (C#)
Verificar compatibilidade do seu .exe ou .dll;
Identifica as dependências;
Verificar o quão o código é compatível para as
plataformas iOS, Android e Windows;
Fornece um relatório de compatibilidade.
http://scan.xamarin.com
Xamarin Mobile API
API’s comuns a todos os dispositivos, expostas
em um namespace único;
Xamarin.Mobile, é a mesma API para as 3
plataformas;
Contatos, camera e geolocalização.
* Roadmap inclui notificações e acelerômetro
70% de compartilhamento
de código não é
suficiente!?
XAMARIN
FORMS
Até 99% de
compartilhamento
de código
Construa interfaces Nativas para iOS, Android e
Windows Phone a partir de uma única base de
código C# compartilhada.
Xamarin + Xamarin Forms
Xamarin.Forms - Interface do usuário compartilhada C#
Código C#
Compartilhado no Backend
Escrever uma vez só a
interface que é reutilizada
nas 3 plataformas.
Xamarin Forms
• Maximiza o compartilhamento de código entre plataformas;
• Mais de 40 controles, páginas e layouts;
• Construa interfaces usando C# ou XAML;
• Two-way Data Binding;
• Navegação, animação, mensageria.
Xamarin Forms Xaml
• Uso de XAML para especificar as telas;
• Binds automatizados;
• Sem código C# para update de interface;
• DataBind com MVVM;
• Customização por Extensões.
* Breve um Design de telas
Xamarin Forms
Pages
Layouts
Xamarin Forms
Controles
C# XAML
Button btn = new Button {
Text = "Clique aqui!",
Rotation = 180,
IsVisible = true,
HorizontalOptions = LayoutOptions.Center,
VerticalOptions = LayoutOptions.Center,
TextColor = Color.Gray,
BorderColor = Color.FromHex("#000000"),
Font = Font.SystemFontOfSize(NamedSize.Medium,
FontAttributes.Italic)
};
<Button Text="Clique aqui!"
Rotation=“180"
IsVisible=“true"
HorizontalOptions=“Center"
VerticalOptions=“Center"
TextColor=“Gray"
BorderColor=“#000000"
Font=“Italic,Medium" />
Mesmo código,
três plataformas
Compatibilidade e
Atualizações?
Compatibilidade e Atualizações
• Tudo que está no iOS 8 (no mesmo dia)
• 100% suportado pelo Xamarin Designer
• Android L
• 100% de suporte
• Única solução Cross-plataforma a suportar Wearables
• 100% de suporte ao GoogleGlass e Android Wear
• Única solução Cross-plataforma a suportar Amazon Fire
TV
Xamarin Player
Emuladores nativos não são performáticos
Xamarin Player
• Boot mais rápido;
• Windows e iOS;
• Drag and drop para instalar
Apps;
• Aceleração gráfica;
• ADB Sync
• Muilt Touch;
O Mais rápido do mercado
1565
1853
65
GOOLE NEXUS 4 XAMARIN ANDROID
PLAYER
GOOGLE EMULATOR
GeekBench 3 Mult-core
Xamarin Component Store
• Diretório de
componentes pagos e
gratuitos.
DevOps e ALM
Plataforma corporativa
suportando o clico de vida de
aplicações mobile
Todo o clico de vida de um Aplicativo
• Reaproveitamento de Código;
• Especificação;
• Gestão;
• Construção da Interface;
• Compilação;
• Automação de testes;
• Teste na Nuvem;
• Deploy Automatizado;
• Rastreamento e Monitoramento de aplicações;
Automação de Testes
• Todo o Ciclo de Automação de testes suportado;
• Testes unitários;
• Teste de Integração;
• Teste de Interface.
• Praticas com TDD, Integração Contínua, Refatoração, etc;
• Casos de Testes rodam no emulador ou no próprio dispositivo.
Xamarin Test Cloud
• Testar aplicações de
Local (nuvem privada);
• Testar aplicações na
nuvem de dispositivos
da Xamarin
• Parallel Test.
https://testcloud.xamarin.com/devices
DevOps
• De acordo com o processo
definido pela equipe;
• CI, gated, etc..
Integração Continua
• Team City
• TFS
• Jenkins
• Travis
TFS
• Integrado ao Visual Studio
• Integração ao Xamarin
TestCloud
Mac Build (iOS)
CI e Monitoramento
Xamarin Insights Analytics
• Rastreamento e Log da App;
• Crash Report;
• Monitoramento das sessões;
• Integração com bugreport;
• Integração com CI;
Xamarin Profiler (beta)
• Call Stack;
• Consumo de memória;
• Tempo de execução;
• Alocação de memória;
• Snapshot da memória;
• Visualização de todos os objetos em
memória.
Xamarin e Microsoft
Parceria estratégica
Tecnologias Microsoft
async
PCL &
Shared
Projects
Parceria Global com Microsoft
• Suporte ao Visual Studio 2013 e 2015;
• Oferta especial para MSDN Subscribers
• Preços especial
• Versão Trial de 90 dias
• .NET Foundation
• 27 projetos Open Source Microsoft e Xamarin
• .NET Compiler Plataform “Roslyn”
• Xamarin’s MimeKit and Mailkit
Xamarin
no Grupo Viceri
1. Protótipo construído pelo
design de UX;
2. Arquiteto define diretivas
e organização do projeto;
3. Time de desenvolvimento
C# constrói o aplicativo;
4. Arquitetura apoia o
processo de DevOps;
OBRIGADO
William S. Rodriguez
Arquiteto de Soluções no Grupo Viceri
wrodriguez@viceri.com.br

Mais conteúdo relacionado

Mais procurados

Xamarin Introdução
Xamarin IntroduçãoXamarin Introdução
Xamarin Introduçãoakamud
 
Entendendo Xamarin.Forms
Entendendo Xamarin.FormsEntendendo Xamarin.Forms
Entendendo Xamarin.FormsLetticia Nicoli
 
Entendendo Xamarin.Forms V2
Entendendo Xamarin.Forms V2Entendendo Xamarin.Forms V2
Entendendo Xamarin.Forms V2Letticia Nicoli
 
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 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
 
Desenvolvimento Cross-Mobile com Xamarin
Desenvolvimento Cross-Mobile com Xamarin Desenvolvimento Cross-Mobile com Xamarin
Desenvolvimento Cross-Mobile com Xamarin Letticia Nicoli
 
Desenvolvimento Cross-mobile com Xamarin
Desenvolvimento Cross-mobile com XamarinDesenvolvimento Cross-mobile com Xamarin
Desenvolvimento Cross-mobile com Xamarinakamud
 
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
 
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
 
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
 
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
 
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
 
Criando Apps com .net: o Poder do Xamarin.Forms
Criando Apps com .net: o Poder do Xamarin.FormsCriando Apps com .net: o Poder do Xamarin.Forms
Criando Apps com .net: o Poder do Xamarin.FormsThiago Bertuzzi
 
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
 
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
 
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
 

Mais procurados (20)

Xamarin Introdução
Xamarin IntroduçãoXamarin Introdução
Xamarin Introdução
 
Entendendo Xamarin.Forms
Entendendo Xamarin.FormsEntendendo Xamarin.Forms
Entendendo Xamarin.Forms
 
Entendendo Xamarin.Forms V2
Entendendo Xamarin.Forms V2Entendendo Xamarin.Forms V2
Entendendo Xamarin.Forms V2
 
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 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...
 
Desenvolvimento Cross-Mobile com Xamarin
Desenvolvimento Cross-Mobile com Xamarin Desenvolvimento Cross-Mobile com Xamarin
Desenvolvimento Cross-Mobile com Xamarin
 
Introdução ao Azure Mobile Apps
Introdução ao Azure Mobile AppsIntrodução ao Azure Mobile Apps
Introdução ao Azure Mobile Apps
 
Desenvolvimento Cross-mobile com Xamarin
Desenvolvimento Cross-mobile com XamarinDesenvolvimento Cross-mobile com Xamarin
Desenvolvimento Cross-mobile com Xamarin
 
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
 
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
 
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
 
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
 
Mobile Brazil Conference - Xamarin Test Cloud
Mobile Brazil Conference - Xamarin Test CloudMobile Brazil Conference - Xamarin Test Cloud
Mobile Brazil Conference - Xamarin Test Cloud
 
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
 
Criando Apps com .net: o Poder do Xamarin.Forms
Criando Apps com .net: o Poder do Xamarin.FormsCriando Apps com .net: o Poder do Xamarin.Forms
Criando Apps com .net: o Poder do Xamarin.Forms
 
Xamarin plataform
Xamarin plataformXamarin plataform
Xamarin plataform
 
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
 
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
 
Dotnet conflocal Salvador 2016 - Xamarin.Forms
Dotnet conflocal Salvador 2016 - Xamarin.FormsDotnet conflocal Salvador 2016 - Xamarin.Forms
Dotnet conflocal Salvador 2016 - Xamarin.Forms
 
Watch & Wear com Xamarin e C#
Watch & Wear com Xamarin e C#Watch & Wear com Xamarin e C#
Watch & Wear com Xamarin e C#
 

Destaque

Xamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.FormsXamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.FormsWilliam S. Rodriguez
 
TDC2016SP - Xamarin Test Cloud: Testes de UI cross-mobile
TDC2016SP - Xamarin Test Cloud: Testes de UI cross-mobileTDC2016SP - Xamarin Test Cloud: Testes de UI cross-mobile
TDC2016SP - Xamarin Test Cloud: Testes de UI cross-mobiletdc-globalcode
 
The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...
The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...
The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...Paulo Cesar Ortins Brito
 
Reaproveitamento de código com Xamarin e MVVM Cross
Reaproveitamento de código com Xamarin e MVVM CrossReaproveitamento de código com Xamarin e MVVM Cross
Reaproveitamento de código com Xamarin e MVVM CrossRicardo Dorta
 
Seminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidSeminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidWilliam Higino
 
Tutorial para Desenvolvimento Mobile usando HTML CSS e Javascript
Tutorial para Desenvolvimento Mobile usando HTML CSS e JavascriptTutorial para Desenvolvimento Mobile usando HTML CSS e Javascript
Tutorial para Desenvolvimento Mobile usando HTML CSS e JavascriptWillys Campos
 
Introdução ao Desenvolvimento de APP’s para Windows 8(C#,XAML)
Introdução ao Desenvolvimento de APP’s para Windows 8(C#,XAML)Introdução ao Desenvolvimento de APP’s para Windows 8(C#,XAML)
Introdução ao Desenvolvimento de APP’s para Windows 8(C#,XAML)Anderson Sa
 
Application Insights + Apps Mobile Híbridos
Application Insights + Apps Mobile HíbridosApplication Insights + Apps Mobile Híbridos
Application Insights + Apps Mobile HíbridosLetticia Nicoli
 
Desenvolvimento Mobile: Híbrido x Nativo
Desenvolvimento Mobile: Híbrido x NativoDesenvolvimento Mobile: Híbrido x Nativo
Desenvolvimento Mobile: Híbrido x NativoLetticia Nicoli
 

Destaque (14)

Xamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.FormsXamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.Forms
 
Xamarin & Realm
Xamarin & RealmXamarin & Realm
Xamarin & Realm
 
TDC2016SP - Xamarin Test Cloud: Testes de UI cross-mobile
TDC2016SP - Xamarin Test Cloud: Testes de UI cross-mobileTDC2016SP - Xamarin Test Cloud: Testes de UI cross-mobile
TDC2016SP - Xamarin Test Cloud: Testes de UI cross-mobile
 
The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...
The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...
The Developer's Conference 2015 - Florianópolis - Use o Xamarin.Forms e surpr...
 
Reaproveitamento de código com Xamarin e MVVM Cross
Reaproveitamento de código com Xamarin e MVVM CrossReaproveitamento de código com Xamarin e MVVM Cross
Reaproveitamento de código com Xamarin e MVVM Cross
 
Abertura #DotNetConf #Curitiba
Abertura #DotNetConf #CuritibaAbertura #DotNetConf #Curitiba
Abertura #DotNetConf #Curitiba
 
C# 7 em 7 minutos
C# 7 em 7 minutosC# 7 em 7 minutos
C# 7 em 7 minutos
 
Seminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para AndroidSeminário SD - Ambiente de Desenvolvimento para Android
Seminário SD - Ambiente de Desenvolvimento para Android
 
Tutorial para Desenvolvimento Mobile usando HTML CSS e Javascript
Tutorial para Desenvolvimento Mobile usando HTML CSS e JavascriptTutorial para Desenvolvimento Mobile usando HTML CSS e Javascript
Tutorial para Desenvolvimento Mobile usando HTML CSS e Javascript
 
Introdução ao Desenvolvimento de APP’s para Windows 8(C#,XAML)
Introdução ao Desenvolvimento de APP’s para Windows 8(C#,XAML)Introdução ao Desenvolvimento de APP’s para Windows 8(C#,XAML)
Introdução ao Desenvolvimento de APP’s para Windows 8(C#,XAML)
 
Application Insights + Apps Mobile Híbridos
Application Insights + Apps Mobile HíbridosApplication Insights + Apps Mobile Híbridos
Application Insights + Apps Mobile Híbridos
 
Desenvolvimento Mobile: Híbrido x Nativo
Desenvolvimento Mobile: Híbrido x NativoDesenvolvimento Mobile: Híbrido x Nativo
Desenvolvimento Mobile: Híbrido x Nativo
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Google android pdf
Google android pdfGoogle android pdf
Google android pdf
 

Semelhante a Conheça a Plataforma 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
 
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
 
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
 
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 - Dev Day 2015
Xamarin - Dev Day 2015Xamarin - Dev Day 2015
Xamarin - Dev Day 2015Studyxnet
 
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
 
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
 
Xamarin fest latam Salvador 2017
Xamarin fest latam Salvador 2017Xamarin fest latam Salvador 2017
Xamarin fest latam Salvador 2017Alisson Sena, MBA
 
Xamarin em 7 minutos
Xamarin em 7 minutosXamarin em 7 minutos
Xamarin em 7 minutosakamud
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-PlatformAdriel Café
 
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
 
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
 
TDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteira
TDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteiraTDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteira
TDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteiraDiego Gabriel Cardoso
 
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çãoLeonardo Braga
 
Introdução ao Xamarin iOS
Introdução ao Xamarin iOSIntrodução ao Xamarin iOS
Introdução ao Xamarin iOSStudyxnet
 
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
 
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
 

Semelhante a Conheça a Plataforma 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?
 
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
 
Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#Construindo Aplicativos Android Nativos com C#
Construindo Aplicativos Android Nativos com C#
 
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 - Dev Day 2015
Xamarin - Dev Day 2015Xamarin - Dev Day 2015
Xamarin - Dev Day 2015
 
iBeer #2 - Xamarin
iBeer #2 - XamariniBeer #2 - Xamarin
iBeer #2 - Xamarin
 
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
 
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
 
Xamarin fest latam Salvador 2017
Xamarin fest latam Salvador 2017Xamarin fest latam Salvador 2017
Xamarin fest latam Salvador 2017
 
Xamarin em 7 minutos
Xamarin em 7 minutosXamarin em 7 minutos
Xamarin em 7 minutos
 
Mobile Apps Cross-Platform
Mobile Apps Cross-PlatformMobile Apps Cross-Platform
Mobile Apps Cross-Platform
 
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
 
Microsoft Xamarin
Microsoft XamarinMicrosoft Xamarin
Microsoft Xamarin
 
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...
 
TDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteira
TDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteiraTDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteira
TDC2016 - SP - Trilha Xamarin - Entrega Contínua com Xamarin #MonteSuaEsteira
 
Windows 10 Developer Readiness - Brasil
Windows 10 Developer Readiness - BrasilWindows 10 Developer Readiness - Brasil
Windows 10 Developer Readiness - Brasil
 
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
 
Introdução ao Xamarin iOS
Introdução ao Xamarin iOSIntrodução ao Xamarin iOS
Introdução ao Xamarin iOS
 
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?
 
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...
 

Mais de William S. Rodriguez

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 HubsWilliam S. Rodriguez
 
Microsoft Cognitive Services, Construindo Aplicativos Inteligentes
Microsoft Cognitive Services, Construindo Aplicativos InteligentesMicrosoft Cognitive Services, Construindo Aplicativos Inteligentes
Microsoft Cognitive Services, Construindo Aplicativos InteligentesWilliam S. Rodriguez
 
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#William S. Rodriguez
 
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...William S. Rodriguez
 
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 2016William S. Rodriguez
 
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 2016William S. Rodriguez
 
Challenges of a mobile application developer
Challenges of a mobile application developerChallenges of a mobile application developer
Challenges of a mobile application developerWilliam S. Rodriguez
 
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?William S. Rodriguez
 
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 AzureWilliam S. Rodriguez
 
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?William S. Rodriguez
 
Construindo aplicativos SharePoint 2013 com AngularJS
Construindo aplicativos SharePoint 2013 com AngularJSConstruindo aplicativos SharePoint 2013 com AngularJS
Construindo aplicativos SharePoint 2013 com AngularJSWilliam S. Rodriguez
 
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 NuvemWilliam S. Rodriguez
 
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 LivreWilliam S. Rodriguez
 

Mais de William S. Rodriguez (16)

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
 
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
 
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#
 
.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
 
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...
 
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
 
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
 
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?
 
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
 
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
 

Conheça a Plataforma Xamarin

  • 1. PLATAFORMA XAMARIN William S. Rodriguez Arquiteto de Soluções no Grupo Viceri wrodriguez@viceri.com.br
  • 2. Agenda Desenvolvimento mobile; Por que criar aplicações nativas; A Plataforma Xamarin e código compartilhado; Clico de vida de aplicativos e DevOps; Xamarin e Microsoft; Xamarin no Grupo Viceri
  • 3. DESENVOLVIMENT O MOBILE Arquiteturas e modelos de desenvolvimento
  • 7. O mesmo aplicativo várias vezes Abordagem de Silos Java Eclipse Android App C# Visual Studio Windows App Objective-C XCoce iOS App
  • 8. Três vezes mais problemas • Perfis diferentes de profissionais; • Investimento em hardware diferentes; • Linguagens incompatíveis entre si (JAVA, Objective C, C#); • Sobrecarga na Gestão; • Dificuldades para execução de Teste; • Maior tempo para lançamento de novas funcionalidades.
  • 9. Então vamos começar pelo mais fácil • Aplicativos Android custam de 2 a 3 vezes mais para desenvolver do que Aplicativos iOS; • Fragmentação de ambiente (8 versões do OS e mais de 7mil dispositivos diferentes); • Produtividade; • API’s mais complexas (difíceis de utilizar);
  • 11. * Mesmo se você tiver o mesmo esforço de desenvolvimento para todas as três plataformas ainda terá três meses de projeto * Utopia 1 Mês iOS + 2 Meses para Android = 1 projeto de 3 meses;
  • 12. Abordagem da “caixa mágica preta” • Experiência do usuário pobre • Não utiliza toda a capacidade de recursos das plataformas de forma homogenia; • Apresenta problemas de compatibilidade e performance; • Difícil manutenção e debug; • Alta taxa de abandono e desperdício de investimento Black Box
  • 13. Escreva uma vez e execute em qualquer dispositivo Interfaces fora do padrão Performance não nativa Acesso a API’s limitados
  • 14. Mas o HTML5 vai nos salvar!? "The biggest mistake we made as a company was betting too much on HTML5 rather than native" - Mark Zuckerberg
  • 15. Mas o HTML5 vai nos salvar!? HTML5 APP NATIVA
  • 17. “As pessoas esperam uma grande experiência em dispositivos Mobile” - Miguel de Icaza
  • 18. Aplicações Nativas Interface de usuário Nativa High-fidelity API Access Native Performance App’s são construídas 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.
  • 20. Xamarin Utiliza uma Abordagem Única Criar aplicações nativas iOS, Android, Mac e Windows utilizando C#.
  • 21. Por que Xamarin? Mobile Enterprise Application Platform Construa App's Nativas Teste Monitore
  • 22. Código C# Compartilhado no Backend Xamarin Android C# UI Windows C# UIiOS C# UI
  • 24. iOS API's 100% de Cobertura
  • 25. Android API's 100% de Cobertura
  • 26. Não só Smartphones e Tablets Nearables Xamarin.Robotics Wearables http://bit.ly/xamarin-nearables http://bit.ly/xamarin-robotics http://bit.ly/xamarin-wearables
  • 27. Por que Xamarin? Compartilhe o código que faz sentido, tire vantagem da UX nativa de cada plataforma.
  • 28. Compartilhamento de Código • Compartilhar apenas o core da aplicação; • Interface Nativa; • Cria a interface de acordo com as características de cada plataforma. • Abuso das características do dispositivo; • 100% de compatibilidade; C# Backend 70% C# UI 30% Media de Compartilhamento
  • 29. Desenvolvimento Acelerado com Compartilhamento de Código Estatísticas de construção utilizando código compartilhado com Xamarin, para um aplicativo simulador de circuitos em tempo real utilizado para desenha circuitos analógicos e digitais. User Interface Code App Logic 70% 30% 86% 14% 85% 15% 88% 12% { iOS } { Android } { Windows RT } { OS X } http://icircuitapp.com/
  • 30. 50 milhões de linhas de código compartilhado • Precisavam de uma solução escalável para aplicativos nativos em múltiplas plataformas. • Aplicativos originais construídos utilizando abordagem de silos. Equipe era incapaz de entregar novos recursos em todas as plataformas simultaneamente. • Custos elevados para desenvolvimento e manutenção de aplicativos.
  • 31. 50 milhões de linhas de código compartilhado Utilizando Xamarin Rdio agora compartilha mais de 50 milhões linhas código de C # através iOS, Android e Windows, permitindo que eles se concentrem em recurso de paridade e experiência do usuário. “Rdio’s mobile app is also the best looking and best implemented of the three [music streaming apps reviewed]” – Wired
  • 32. Xamarin é Código Nativo • Interoperabilidade com qualquer linguagem; • Utilizar bibliotecas Android e iOS de forma nativa; • Debug de objetos Java e Objective C. • Executa código Java e Objective C • Empacota e disponibiliza uma aplicação nativa única; • Posso utilizar Binding para bibliotecas e objetos Java (JAR); • Não é possível fazer fora de framework nativo.
  • 33. Performance Nativa App’s construídas com Xamarin são nativas pois utilizam código nativo. Xamarin.iOS executa compilação Ahead Of Time (AOT) produzindo o binário (.app) ARM para Apple App Store. Xamarin.Android tira vantage da compilação Just In Time (JIT) nos dispositivos Android.
  • 34. Qualquer coisa que você conseguir fazer utilizando Objective-C, Swift, ou Java! Pode ser feita com C# e Xamarin no Visual Studio
  • 35. Visual Studio como IDE • Todas as funcionalidades do Visual Studio disponíveis • Help, debug, intelisense, refactor, watch, etc... • Debugar código nativo; • Integração com TFS.
  • 36. Visual Studio como IDE • Desenho de telas integrado (iOS, Android e Windows Phone) • Gerenciar dependências via NuGet ou NuGet privado; • Uso de uma única linguagem de desenvolvimento C#; • Suporte a PCL; • DLL portáveis.
  • 37. Integração com Mac (build host) • Licenciamento da Apple requer um Mac para Build e teste de aplicativos iOS.
  • 38. Xamarin Android Designer • Integração completa com Visual Studio; • Drag and drop de componentes; • Muilti edit.
  • 39. Xamarin iOS Designer • Integração completa com Visual Studio; • Suporte a StoryBoard; • Suporte a auto-layout; • Live preview para controles customizados.
  • 40. Por que C#? C Hash Tag ou dó sustenido?
  • 41. C# roda em 2.5 Bilhões de dispositivos De computadores, smarthphones, tablets até consoles de jogos como PS4
  • 42. 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(); Task<string> getStringTask = client. GetStringAsync(“http://viceri.com.br”); E por ai vai...
  • 43. C# é mais produtivo Menos código mais resultado
  • 45. Java C# com Xamarin
  • 46. C# Linguagem Conhecida Uso de mão de obra já qualificada; Sem necessidade de treinamento para utilizar o framework; Utilizar componentes de mercado ou comunidade; Reaproveitamento de legado.
  • 47. Xamarin Scanner (C#) Verificar compatibilidade do seu .exe ou .dll; Identifica as dependências; Verificar o quão o código é compatível para as plataformas iOS, Android e Windows; Fornece um relatório de compatibilidade. http://scan.xamarin.com
  • 48. Xamarin Mobile API API’s comuns a todos os dispositivos, expostas em um namespace único; Xamarin.Mobile, é a mesma API para as 3 plataformas; Contatos, camera e geolocalização. * Roadmap inclui notificações e acelerômetro
  • 49. 70% de compartilhamento de código não é suficiente!?
  • 51. Construa interfaces Nativas para iOS, Android e Windows Phone a partir de uma única base de código C# compartilhada.
  • 52. Xamarin + Xamarin Forms Xamarin.Forms - Interface do usuário compartilhada C# Código C# Compartilhado no Backend
  • 53. Escrever uma vez só a interface que é reutilizada nas 3 plataformas.
  • 54. Xamarin Forms • Maximiza o compartilhamento de código entre plataformas; • Mais de 40 controles, páginas e layouts; • Construa interfaces usando C# ou XAML; • Two-way Data Binding; • Navegação, animação, mensageria.
  • 55. Xamarin Forms Xaml • Uso de XAML para especificar as telas; • Binds automatizados; • Sem código C# para update de interface; • DataBind com MVVM; • Customização por Extensões. * Breve um Design de telas
  • 58. C# XAML Button btn = new Button { Text = "Clique aqui!", Rotation = 180, IsVisible = true, HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center, TextColor = Color.Gray, BorderColor = Color.FromHex("#000000"), Font = Font.SystemFontOfSize(NamedSize.Medium, FontAttributes.Italic) }; <Button Text="Clique aqui!" Rotation=“180" IsVisible=“true" HorizontalOptions=“Center" VerticalOptions=“Center" TextColor=“Gray" BorderColor=“#000000" Font=“Italic,Medium" />
  • 61. Compatibilidade e Atualizações • Tudo que está no iOS 8 (no mesmo dia) • 100% suportado pelo Xamarin Designer • Android L • 100% de suporte • Única solução Cross-plataforma a suportar Wearables • 100% de suporte ao GoogleGlass e Android Wear • Única solução Cross-plataforma a suportar Amazon Fire TV
  • 62. Xamarin Player Emuladores nativos não são performáticos
  • 63. Xamarin Player • Boot mais rápido; • Windows e iOS; • Drag and drop para instalar Apps; • Aceleração gráfica; • ADB Sync • Muilt Touch;
  • 64. O Mais rápido do mercado 1565 1853 65 GOOLE NEXUS 4 XAMARIN ANDROID PLAYER GOOGLE EMULATOR GeekBench 3 Mult-core
  • 65. Xamarin Component Store • Diretório de componentes pagos e gratuitos.
  • 66. DevOps e ALM Plataforma corporativa suportando o clico de vida de aplicações mobile
  • 67. Todo o clico de vida de um Aplicativo • Reaproveitamento de Código; • Especificação; • Gestão; • Construção da Interface; • Compilação; • Automação de testes; • Teste na Nuvem; • Deploy Automatizado; • Rastreamento e Monitoramento de aplicações;
  • 68. Automação de Testes • Todo o Ciclo de Automação de testes suportado; • Testes unitários; • Teste de Integração; • Teste de Interface. • Praticas com TDD, Integração Contínua, Refatoração, etc; • Casos de Testes rodam no emulador ou no próprio dispositivo.
  • 69. Xamarin Test Cloud • Testar aplicações de Local (nuvem privada); • Testar aplicações na nuvem de dispositivos da Xamarin • Parallel Test. https://testcloud.xamarin.com/devices
  • 70. DevOps • De acordo com o processo definido pela equipe; • CI, gated, etc..
  • 71. Integração Continua • Team City • TFS • Jenkins • Travis
  • 72. TFS • Integrado ao Visual Studio • Integração ao Xamarin TestCloud
  • 75. Xamarin Insights Analytics • Rastreamento e Log da App; • Crash Report; • Monitoramento das sessões; • Integração com bugreport; • Integração com CI;
  • 76. Xamarin Profiler (beta) • Call Stack; • Consumo de memória; • Tempo de execução; • Alocação de memória; • Snapshot da memória; • Visualização de todos os objetos em memória.
  • 78.
  • 80. Parceria Global com Microsoft • Suporte ao Visual Studio 2013 e 2015; • Oferta especial para MSDN Subscribers • Preços especial • Versão Trial de 90 dias • .NET Foundation • 27 projetos Open Source Microsoft e Xamarin • .NET Compiler Plataform “Roslyn” • Xamarin’s MimeKit and Mailkit
  • 81. Xamarin no Grupo Viceri 1. Protótipo construído pelo design de UX; 2. Arquiteto define diretivas e organização do projeto; 3. Time de desenvolvimento C# constrói o aplicativo; 4. Arquitetura apoia o processo de DevOps;
  • 82. OBRIGADO William S. Rodriguez Arquiteto de Soluções no Grupo Viceri wrodriguez@viceri.com.br

Notas do Editor

  1. Tradicionalmente, interfaces por plataforma
  2. 24 linhas vs 11 linhas
  3. 24 linhas vs 11 linhas