Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
“antes da 1º linha de código”;
Aplicativos Corporativos
Cross Plataforma com
Xamarin e Azure Mobile
Apps
>
wrodriguez@viceri.com.br
William S. Rodriguez
arquiteto de soluções
móveis
>
“no menor tempo ($) possível”;
Construir um módulo
mobile de um sistema
em produção
desafio
>
“Mais de 140 ferramentas & frameworks no mercado”;
O que não queremos?
escolha
>
O mesmo aplicativo várias vezes
Java
Eclipse
Android App
C#
Visual Studio
Windows App
Objective-C
XCoce
iOS App
“Abordagem...
Três vezes mais problemas
Maior tempo para
lançamento de novas
funcionalidades e
dificuldades para
execução de teste
Sobre...
“Comece pelo Android é mais fácil!”
Evitar armadilhas ou
pegadinhas
escolha
>
Dispositivos Android
API’s mais complexas
(difíceis de utilizar)
Aplicativos Android
custam de 2 a 3 vezes
mais para desenvolver
do que Aplicat...
1 Mês iOS + 2 Meses para Android = 1 projeto de 3 meses;
Fugir de utopias,
unicórnios e arco-íris
escolha
>
“Mesmo se você tiver o mesmo esforço
de desenvolvimento para todas as três
plataformas ainda terá três meses de
projeto”
+...
Aprender com os erros
dos outros
escolha
Mark Zuckerberg
"The biggest mistake we made
as a company was betting too
much on HTML5 rather than
native"
>
Mas HTML5 é o futuro!?
HTML5 APP NATIVA
Abordagens mágicas!?
escolha
“Escreva uma vez e rode em qualquer lugar”>
Abordagem da “caixa mágica preta”
Black Box
Altas taxas de abandono e
desperdício de investimento
Apresenta problemas de
compatibilidade e
performance (não
nativa)
Ex...
O que queremos?
escolha
Isolamos os “problemas” e agora já podemos decidir.>
A melhor experiência possível para os
usuários, com as premissas;
Experiências nativas
acesso a GPU, Stylus,
GPS, Acelerôm...
Escolhemos Xamarin
decisão
Por que?>
Xamarin utiliza uma Abordagem Única
C#
Mobile Enterprise Application
Platform
Construir App's Nativas Testar Monitorar
Enterprise Customers
decisão
“Quem já usa?”>
“With Xamarin, developers
combine all of the productivity
benefits of C#, Visual Studio
2013 and Windows Azure with
the fl...
async
PCL &
Shared
Projects
Tecnologias Microsoft
Como funciona
decisão
Aplicações Nativas
Interface de Usuário Nativa
High-fidelity API Access
Native Performance
App’s são construídas utilizand...
Código C#
Compartilhado no Backend
Interfaces
nativas C#
Por que Xamarin?
Compartilhe o código que faz sentido, tire
vantagem da UX nativa de cada plataforma.
Xamarin é 100% Código Nativo
Debug de objetos Java
e Objective C
Interoperabilidade com
qualquer linguagem
Utilizar biblio...
Não só para Smartphones e Tablets
Nearables
Xamarin.Robotics
Wearables
http://bit.ly/xamarin-nearables
http://bit.ly/xamar...
Performance Nativa
App’s construídas com Xamarin são nativas pois utilizam código
nativo.
Xamarin.iOS executa compilação A...
Qualquer coisa que você conseguir fazer utilizando
Objective-C, Swift, ou Java! Pode ser feita com
C# e Xamarin no Visual ...
Visual Studio como IDE
Desenho de telas
integrado (iOS, Android
e Windows Phone)
Suporte a PCL
DLL portáveis
Uso de uma ún...
Compartilhamento de
Código
decisão
Compartilhamento de Código
C# App Logic
C# User Interface 30%
70%
Media de Compartilhamento>
Desenvolvimento Acelerado com
Compartilhamento de Código
Estatísticas de construção utilizando código compartilhado com Xa...
Escrever uma vez só a
interface que é reutilizada
nas 3 plataformas?
Construa interfaces Nativas para iOS, Android e
Windows Phone a partir de uma única base de código
C# compartilhada.
Código C#
Compartilhado no Backend
Xamarin.Forms = Interface do usuário compartilhada C#
Xamarin.Forms
Pages
Layouts
Xamarin.Forms
Controles
Mesmo código,
três plataformas
Compatibilidade e
Atualizações?
preocupações
Compatibilidade e Atualizações
Única solução Cross-
plataforma a suportar
Amazon Fire
Única solução Cross-
plataforma a su...
Suportar o nosso
processo de ALM e
DevOps?
preocupações
Team Foundation Server
Agilidade para o time
de desenvolvimento
Build, deploy e
Integração Continua
(DevOps)
Debug para iO...
Como garantir
Qualidade?
preocupações
Qualidade em mobile é vital>
Xamarin Test Cloud
https://testcloud.xamarin.com/devices>
Xamarin Profiler (beta)
Como monitorar a
aplicação no dispositivo?
preocupações
“Se algo der errado? Envie o seu smartphone para a gente!”>
Como conectar os dados
corporativos?
preocupações
Azure Mobile Apps
Antes, Azure Mobile Services>
Sincronização de dados
offline para criar
aplicativos dinâmicos
Conexões H...
Backend para aplicações móveis
“.NET ou Node.js”;>
Conectar-se a recursos
locais como SAP, Oracle
e SQL Server e
SharePoin...
Data & Synchronizing Data
Sincronização baseada
em nuvem para criar
aplicativos que
funcionam off-line
Sincronização entre...
A melhor experiência para usuários aliada a
qualidade e produtividade para nossos time
de desenvolvimento
qualquer plataforma e qualquer tipo de
aplicativo.
Dúvidas?
wrodriguez@viceri.com.br
Muito Obrigado!
>
Aplicativos Corporativos Cross Plataform com Xamarin & Azure Mobile Apps
Aplicativos Corporativos Cross Plataform com Xamarin & Azure Mobile Apps
Aplicativos Corporativos Cross Plataform com Xamarin & Azure Mobile Apps
Aplicativos Corporativos Cross Plataform com Xamarin & Azure Mobile Apps
Upcoming SlideShare
Loading in …5
×

Aplicativos Corporativos Cross Plataform com Xamarin & Azure Mobile Apps

Apresento o processo de tomada de decisão para adoção de Xamarin como plataforma de desenvolvimento mobile corporativa e respostas as perguntas mais comuns durante esse processo.

  • Be the first to comment

Aplicativos Corporativos Cross Plataform com Xamarin & Azure Mobile Apps

  1. 1. “antes da 1º linha de código”; Aplicativos Corporativos Cross Plataforma com Xamarin e Azure Mobile Apps >
  2. 2. wrodriguez@viceri.com.br William S. Rodriguez arquiteto de soluções móveis >
  3. 3. “no menor tempo ($) possível”; Construir um módulo mobile de um sistema em produção desafio >
  4. 4. “Mais de 140 ferramentas & frameworks no mercado”; O que não queremos? escolha >
  5. 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. 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#)
  7. 7. “Comece pelo Android é mais fácil!” Evitar armadilhas ou pegadinhas escolha >
  8. 8. Dispositivos Android
  9. 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. 10. 1 Mês iOS + 2 Meses para Android = 1 projeto de 3 meses; Fugir de utopias, unicórnios e arco-íris escolha >
  11. 11. “Mesmo se você tiver o mesmo esforço de desenvolvimento para todas as três plataformas ainda terá três meses de projeto” + =
  12. 12. Aprender com os erros dos outros escolha
  13. 13. Mark Zuckerberg "The biggest mistake we made as a company was betting too much on HTML5 rather than native" >
  14. 14. Mas HTML5 é o futuro!? HTML5 APP NATIVA
  15. 15. Abordagens mágicas!? escolha “Escreva uma vez e rode em qualquer lugar”>
  16. 16. Abordagem da “caixa mágica preta” Black Box
  17. 17. 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
  18. 18. O que queremos? escolha Isolamos os “problemas” e agora já podemos decidir.>
  19. 19. 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#)
  20. 20. Escolhemos Xamarin decisão Por que?>
  21. 21. Xamarin utiliza uma Abordagem Única C#
  22. 22. Mobile Enterprise Application Platform Construir App's Nativas Testar Monitorar
  23. 23. Enterprise Customers decisão “Quem já usa?”>
  24. 24. “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
  25. 25. async PCL & Shared Projects Tecnologias Microsoft
  26. 26. Como funciona decisão
  27. 27. 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.
  28. 28. Código C# Compartilhado no Backend Interfaces nativas C#
  29. 29. Por que Xamarin? Compartilhe o código que faz sentido, tire vantagem da UX nativa de cada plataforma.
  30. 30. 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
  31. 31. 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
  32. 32. 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.
  33. 33. Qualquer coisa que você conseguir fazer utilizando Objective-C, Swift, ou Java! Pode ser feita com C# e Xamarin no Visual Studio
  34. 34. 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
  35. 35. Compartilhamento de Código decisão
  36. 36. Compartilhamento de Código C# App Logic C# User Interface 30% 70% Media de Compartilhamento>
  37. 37. 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/>
  38. 38. Escrever uma vez só a interface que é reutilizada nas 3 plataformas?
  39. 39. Construa interfaces Nativas para iOS, Android e Windows Phone a partir de uma única base de código C# compartilhada.
  40. 40. Código C# Compartilhado no Backend Xamarin.Forms = Interface do usuário compartilhada C#
  41. 41. Xamarin.Forms Pages Layouts
  42. 42. Xamarin.Forms Controles
  43. 43. Mesmo código, três plataformas
  44. 44. Compatibilidade e Atualizações? preocupações
  45. 45. 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)
  46. 46. Suportar o nosso processo de ALM e DevOps? preocupações
  47. 47. 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)
  48. 48. Como garantir Qualidade? preocupações Qualidade em mobile é vital>
  49. 49. Xamarin Test Cloud https://testcloud.xamarin.com/devices>
  50. 50. Xamarin Profiler (beta)
  51. 51. Como monitorar a aplicação no dispositivo? preocupações “Se algo der errado? Envie o seu smartphone para a gente!”>
  52. 52. Como conectar os dados corporativos? preocupações
  53. 53. 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
  54. 54. 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)
  55. 55. 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
  56. 56. A melhor experiência para usuários aliada a qualidade e produtividade para nossos time de desenvolvimento
  57. 57. qualquer plataforma e qualquer tipo de aplicativo.
  58. 58. Dúvidas?
  59. 59. wrodriguez@viceri.com.br Muito Obrigado! >

×