O documento discute as vantagens da plataforma Xamarin para desenvolver aplicativos móveis cross-platform nativos em C# de forma compartilhada e produtiva, conectando-se aos dados corporativos na nuvem via Azure Mobile Apps.
3. “no menor tempo ($) possível”;
Construir um módulo
mobile de um sistema
em produção
desafio
>
4. “Mais de 140 ferramentas & frameworks no mercado”;
O que não queremos?
escolha
>
5. O mesmo aplicativo várias vezes
Java
Eclipse
Android App
C#
Visual Studio
Windows App
Objective-C
XCoce
iOS App
“Abordagem de Silos”;>
6. Três vezes mais problemas
Maior tempo para
lançamento de novas
funcionalidades e
dificuldades para
execução de teste
Sobrecarga na gestão Investimento em
hardware diferentes
Perfis diferentes de
profissionais e
linguagens
incompatíveis entre si
(JAVA, Objective C, C#)
9. API’s mais complexas
(difíceis de utilizar)
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)
Baixa produtividade
Mais fácil... Mesmo?
10. 1 Mês iOS + 2 Meses para Android = 1 projeto de 3 meses;
Fugir de utopias,
unicórnios e arco-íris
escolha
>
11. “Mesmo se você tiver o mesmo esforço
de desenvolvimento para todas as três
plataformas ainda terá três meses de
projeto”
+ =
18. Altas taxas de abandono e
desperdício de investimento
Apresenta problemas de
compatibilidade e
performance (não
nativa)
Experiência do usuário
pobre e Interfaces fora
do padrão;
Difícil manutenção e
debug
Não utiliza toda a
capacidade de recursos
das plataformas de
forma homogenia e tem
acesso limitados a API’s
20. A melhor experiência possível para os
usuários, com as premissas;
Experiências nativas
acesso a GPU, Stylus,
GPS, Acelerômetro e
ficar aberto a
tendências e novas
tecnologias.
Produtividade e
reaproveitar o código
Suporte ALM e TFS,
evolução continua e
interação com
componentes e
bibliotecas de terceiros
Aproveitar intelecto
(programadores C#)
26. “With Xamarin, developers
combine all of the productivity
benefits of C#, Visual Studio
2013 and Windows Azure with
the flexibility to quickly build for
multiple device targets.”
S.Somasegar
Corporate Vice President, Microsoft
30. 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.
33. 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
34. Não só para Smartphones e Tablets
Nearables
Xamarin.Robotics
Wearables
http://bit.ly/xamarin-nearables
http://bit.ly/xamarin-robotics
http://bit.ly/xamarin-wearables
35. 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.
36. Qualquer coisa que você conseguir fazer utilizando
Objective-C, Swift, ou Java! Pode ser feita com
C# e Xamarin no Visual Studio
37. Visual Studio como IDE
Desenho de telas
integrado (iOS, Android
e Windows Phone)
Suporte a PCL
DLL portáveis
Uso de uma única
linguagem de
desenvolvimento
Team Foundation Server
(TFS), NuGet e
ReSharper
40. 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/>
41. Escrever uma vez só a
interface que é reutilizada
nas 3 plataformas?
42. Construa interfaces Nativas para iOS, Android e
Windows Phone a partir de uma única base de código
C# compartilhada.
48. Compatibilidade e Atualizações
Única solução Cross-
plataforma a suportar
Amazon Fire
Única solução Cross-
plataforma a suportar
Wearables e Nearables
100% de suporte
Android L
100% de suporte ao iOS
8 (no mesmo dia)
50. Team Foundation Server
Agilidade para o time
de desenvolvimento
Build, deploy e
Integração Continua
(DevOps)
Debug para iOS,
Android e Windows
Controle e visibilidade
para gestores
(TFS portal)
57. Azure Mobile Apps
Antes, Azure Mobile Services>
Sincronização de dados
offline para criar
aplicativos dinâmicos
Conexões Híbridas e
VPN para conectar
aplicativos aos dados
locais
Notificações
personalizadas por push
Dimensionamento
automático interno de
acordo com as
necessidades dos
aplicativos
58. Backend para aplicações móveis
“.NET ou Node.js”;>
Conectar-se a recursos
locais como SAP, Oracle
e SQL Server e
SharePoint
Autenticação e
Autorização com
integrado ao Active
Directory
SSO utilizando conta
Microsoft ou de redes
sociais
(Twitter, Facebook, Google)
Conectar-se a
aplicações SaaS
(Sales Force, Office 365)
59. Data & Synchronizing Data
Sincronização baseada
em nuvem para criar
aplicativos que
funcionam off-line
Sincronização entre
múltiplos dispositivos
Armazenamento de
dados em SQL,
Armazenamento de
Tabela e MongoDB
Capacidade Cross
platforma
60. A melhor experiência para usuários aliada a
qualidade e produtividade para nossos time
de desenvolvimento
Criar aplicações nativas iOS, Android, Mac e Windows utilizando C#.
PCL
Um Código-fonte
Um Projeto
Um Binário
Múltiplas Platformas!
Tradicionalmente, interfaces por plataforma
Interface Nativa;
Cria a interface de acordo com as características de cada plataforma.
Abuso das características do dispositivo;
100% de compatibilidade;
Compartilhar apenas o core da aplicação;
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.
iOS 8 mais de 300 novidades ou alterações em APIS
Testar aplicações de Local (nuvem privada);
Testar aplicações na nuvem de dispositivos da Xamarin
Parallel Test.
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.
Rastreamento e Log da App;
Crash Report;
Monitoramento das sessões;
Integração com bugreport;
Integração com CI;
Hospedar uma API Web de .NET ou Node.js com monitoramento e gerenciamento 24 horas por dia, 7 dias por semana
Armazenamento de dados em SQL, Armazenamento de Tabela e MongoDB
Criar aplicações nativas iOS, Android, Mac e Windows utilizando C#.
Criar aplicações nativas iOS, Android, Mac e Windows utilizando C#.