SlideShare ist ein Scribd-Unternehmen logo
1 von 27
NOME DA APRESENTAÇÃO
Nome (Nick no Fórum)
25 DE MAIO @MICROSOFT
O desenvolvimento de aplicações móveis,
antes da 1ª linha de código
Alberto Silva (nick albertosilva)
Microsoft MVP, 2003-
moving2u, Responsável I&D, 2003-
alberto.silva@moving2u.pt
@albertosilva
Destinatários
Desenvolvimento de soluções LOB
Clientes que procuram soluções LOB App makers
# 2
Agenda
• Introdução
• A escolha das plataformas
• Necessidades de Comunicações e Dados
• Opções para o desenvolvimento
• Conclusão
• Q&A
# 3
INTRODUÇÃO
“É só uma pequena aplicação…”
Onde começao problema…
# 5
Como começaa história…
# 6
O que eu quero é só uma
aplicaçãozita para os meus técnicos
registarem os tempos quando se
deslocam aos clientes.
Pensei pedir ao meu sobrinho que
ele ajeita-se a essas coisas, mas
agora é maré de exames e o Verão
está aí à porta
Isso deve ser coisa para
uma semana ou duas, não
me peça muito dinheiro
É só por a data, o que ele
esteve a fazer, o cliente e
uma foto se estiver
alguma coisa mal
…comose desenvolve…
# 7
-Então mas tem de escrever o nome do cliente à mão? Já tenho isso
tudo no software de gestão…
- E não dá para identificar o equipamento pelo nº de série? Quer ver
a folha de Excel onde guardo isso?
-E as etiquetas de código de barras que mandei fazer servem para
quê, isso não lê, olhe que tenho um programa que lê…
- Faça lá uma alteração para poder imprimir um talão para o
cliente, é um talão pequenino
- E aproveite e quando ele escolhe o cliente, mostre as últimas
reclamações do cliente
- Ah! E não deixe aceitar reclamações se o cliente tiver faturas por
pagar
- Isso não dá para por o aparelho a mandar o GPS de onde o técnico
está? De minuto a minuto que um deles anda a aldrabar-me…
- Olhe afinal uma foto é pouco, é deixá-lo tirar até 5 fotos. E o cliente
tem de assinar!
- Então o meu cliente X diz que não posso usar estes telefones ao pé
dos tanques de combustível? E no hospital Y também reclamaram…
…comocontinua…
# 8
- O meu contabilista diz que as folhas de obra agora também vão no
SAF-T, vão ter que ser integradas no programa de gestão
- Tenho 3 ou 4 técnicos que têm uns telemóveis diferentes, também
dão para correr o programa?
- Afinal o meu operador móvel ofereceu-me um telemóvel para cada
técnico, ponha lá o programa a correr neles, são parecidos
- Você era boa pessoa era se me punha isso a gerir o stock do carro,
e a emitir guias de transporte que eles saem cedo…
- Boas notícias! Tenho 3 técnicos espanhóis a fazer a zona da Galiza!
- Anda a desaparecer informação dos telemóveis mas não posso
pedir aos técnicos para perderem um dia de trabalho para virem cá!
- Olhe a bateria não dura nada…
- Eu queria mesmo era bloquear o facebook, os jogos, as músicas,
ocupam a memória toda com tralha
- Então os PDAs que me vendeu não aguentam o frio no armazém? E
quando vão ao cliente da pedreira ficam com pó do lado de dentro do ecrã
…e como acaba…
# 9
Decisões, decisões
Plataformas móveis
Quem comprae gere os equipamentos?
# 11
Critériospara escolhada plataforma
Bateria
• Suporte a dados/push
• GPS
• Baterias de grande
capacidade/substituíveis
Utilização
• Tamanho e legibilidade do ecrã
• Utilização no exterior
• Teclados numéricos/alfanuméricos
• Utilização com uma mão
Lifecycle
• Prazo de suporte do sistema
operativo e dos equipamentos
• Fragmentação
Ambientes adversos
• Resistência a líquidos, pó, condições
de humidade e temperatura, quedas
• Utilização com luvas
Necessidades Específicas
• Leitura ótica 1D/2D, short/long range
• Impressão
• RF/NFC
• Pagamentos integrados
• Comunicações móveis, Bluetooth, …
Outros
• Suporte a soluções MDM
• Conformidade com normas
regulatórias
• Opções e condições dos Marketplace
• Localização e cultura
# 12
As principaisplataformasmóveis
•Equipamentos de
consumo
•Diferentes fabricantes
Android
(telefone /
tablet)
•Equipamentos de
consumo
•Posicionamento
premium
iPhone / iPad
•Plataforma melhor
ajustada a LOB
•Próxima versão
baseada em WP8
•Diferentes fabricantes
Windows
Embedded
Handheld
•Equipamentos de
consumo
•Diferentes fabricantes
Windows Phone
8
•Versões ‘mini’
baseadas em
arquitecturas ARM e
x86
•Diferentes fabricantes
Windows 8
•Fénix ou Ícaro?
Blackberry 10
# 13
Decisões, decisões
Modelos de comunicações e dados
Comunicações
• Modelo online / ocasionalmente online / offline
• Necessidades de interação com…
• serviços remotos próprios
• serviços de terceiros
• Avaliar…
• Disponibilidade e lifecycle de APIs de
terceiros/endpoints OData
• Exigências do ponto de vista tecnológico das API
• Licenciamento em função do tipo de aplicação
• Notificações
• Logging report
# 15
Dados
• Necessidade de repositório local
• Base de dados estruturada (exclusiva / partilhada)
• Definições
• Snapshot de sessão
• Necessidade de repositório remoto/cloud
• Cloud:
• Azure Mobile Services, Buddy.com
• Skydrive, Dropbox, …
# 16
Estratégiade “sincronização”
• Download
• Modelo de sincronização diferencial vs. pull
• Acesso a recursos de terceiros em tempo real / cache
• A pedido / em background / push
• Upload
• Modelo de sincronização diferencial / transacional
• A pedido / em background
• Integração com serviços de terceiros
síncrona/assíncrona
# 17
Decisões, decisões
Opções de desenvolvimento
Linguagensnativase IDEs
# 19
•Aplicações
desenvolvidas em Java
•Eclipse / Android IDE
Android
(telefone /
tablet)
•Objective-C
•XCode
iPhone / iPad
•C#, VB.net, C++
•Visual Studio 2008
Windows
Embedded
Handheld
•C#, VB.net. C++
•Visual Studio 2012
Windows Phone
8
•Mesmas opções que
Windows 7 para
desktop
•C#, VB.net, C++,
JavaScript para RT
•Visual Studio 2012
Windows 8
•C/C++
•QNX Momentics IDE
Blackberry 10
Mobilevs. desktop,mesmos IDE,
mesmas linguagens,mas…
Limitações ao nível de…
• Conectividade
• Interação com o utilizador
• Performance
• Autonomia
• Memória
• Armazenamento
• Impostas pelas plataformas
# 20
Estratégia Multiplataforma
# 21
Write once, run everywhere
Estratégia Multiplataforma
- Definir quanto antes
- Limitações das Soluções Multiplataforma
- Experiência nativa de UI
- Especificidades de plataforma
- Exemplo:
- HTML 5, PhoneGap, KendoUI, SensaTouch, RhoMobile, VS
Nomad
- Adobe Air
- Partilha de código entre plataformas
- PCL / Ficheiros ligados com compilação condicional /
Classes parciais
- Xamarin.IOS, Xamarin.Android, Dot42 – C# for
Android
- Ausência de estratégia multiplataforma# 22
Conclusão Ponto de partida
Não subestimaro problemaà partida…
# 24
Perguntas???
Patrocinador Gold
Patrocinadores Silver
Media Partners

Weitere ähnliche Inhalte

Ähnlich wie O desenvolvimento de aplicações móveis, antes da 1ª linha de código

Armadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de SoftwareArmadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de Softwarejamersonlima
 
Windows Phone 7 Camp MICBH + MSPs
Windows Phone 7 Camp MICBH + MSPsWindows Phone 7 Camp MICBH + MSPs
Windows Phone 7 Camp MICBH + MSPsMicrosoft
 
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Pedro Edson Silva Barros
 
Women Techmakers São Paulo
Women Techmakers São PauloWomen Techmakers São Paulo
Women Techmakers São PauloBruna Griebeler
 
Mobile First - Palestra no MobileConf 2013
Mobile First - Palestra no MobileConf 2013Mobile First - Palestra no MobileConf 2013
Mobile First - Palestra no MobileConf 2013Horácio Soares
 
MÁQUINA DE VENDA - CAPAS DE IPHONE CUSTOMIZADAS COM IMPRESSÃO 3D
MÁQUINA DE VENDA - CAPAS DE IPHONE CUSTOMIZADAS COM IMPRESSÃO 3DMÁQUINA DE VENDA - CAPAS DE IPHONE CUSTOMIZADAS COM IMPRESSÃO 3D
MÁQUINA DE VENDA - CAPAS DE IPHONE CUSTOMIZADAS COM IMPRESSÃO 3DMarco Coghi
 
Deployment no Azure
Deployment no AzureDeployment no Azure
Deployment no AzureRodrigo Kono
 
O Mercado e Desenvolvimento em Mobile
O Mercado e Desenvolvimento em MobileO Mercado e Desenvolvimento em Mobile
O Mercado e Desenvolvimento em MobileThiago Cortat
 
Entendendo a Plataforma de Desenvolvimento do Windows Phone 7
Entendendo a Plataforma de Desenvolvimento do Windows Phone 7Entendendo a Plataforma de Desenvolvimento do Windows Phone 7
Entendendo a Plataforma de Desenvolvimento do Windows Phone 7Gesmar de Paula Santos Júnior
 
3461374 82-ideias-para-ganhar-dinheiro-com-seu-computador
3461374 82-ideias-para-ganhar-dinheiro-com-seu-computador3461374 82-ideias-para-ganhar-dinheiro-com-seu-computador
3461374 82-ideias-para-ganhar-dinheiro-com-seu-computadorTailine Passos
 
Aula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisAula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisJanynne Gomes
 
Modelo de Subscrições e Suporte WSO2
Modelo de Subscrições e Suporte WSO2Modelo de Subscrições e Suporte WSO2
Modelo de Subscrições e Suporte WSO2WSO2
 
#SGames Desenvolvendo o GPS Coquetel Musical
#SGames Desenvolvendo o GPS Coquetel Musical#SGames Desenvolvendo o GPS Coquetel Musical
#SGames Desenvolvendo o GPS Coquetel MusicalLaudivan de Almeida
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2Carlos Eugenio Torres
 

Ähnlich wie O desenvolvimento de aplicações móveis, antes da 1ª linha de código (20)

Armadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de SoftwareArmadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de Software
 
Windows Phone 7 Camp MICBH + MSPs
Windows Phone 7 Camp MICBH + MSPsWindows Phone 7 Camp MICBH + MSPs
Windows Phone 7 Camp MICBH + MSPs
 
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, ...
 
Women Techmakers São Paulo
Women Techmakers São PauloWomen Techmakers São Paulo
Women Techmakers São Paulo
 
Projeto SaveSIM
Projeto SaveSIMProjeto SaveSIM
Projeto SaveSIM
 
Mobile First - Palestra no MobileConf 2013
Mobile First - Palestra no MobileConf 2013Mobile First - Palestra no MobileConf 2013
Mobile First - Palestra no MobileConf 2013
 
MÁQUINA DE VENDA - CAPAS DE IPHONE CUSTOMIZADAS COM IMPRESSÃO 3D
MÁQUINA DE VENDA - CAPAS DE IPHONE CUSTOMIZADAS COM IMPRESSÃO 3DMÁQUINA DE VENDA - CAPAS DE IPHONE CUSTOMIZADAS COM IMPRESSÃO 3D
MÁQUINA DE VENDA - CAPAS DE IPHONE CUSTOMIZADAS COM IMPRESSÃO 3D
 
Desenvolvimento Mobile Web e o PHP
Desenvolvimento Mobile Web e o PHPDesenvolvimento Mobile Web e o PHP
Desenvolvimento Mobile Web e o PHP
 
AL QAEDA
AL QAEDAAL QAEDA
AL QAEDA
 
Deployment no Azure
Deployment no AzureDeployment no Azure
Deployment no Azure
 
Clei 2010 Tutorial - Slides Parte II
Clei 2010 Tutorial - Slides Parte IIClei 2010 Tutorial - Slides Parte II
Clei 2010 Tutorial - Slides Parte II
 
O Mercado e Desenvolvimento em Mobile
O Mercado e Desenvolvimento em MobileO Mercado e Desenvolvimento em Mobile
O Mercado e Desenvolvimento em Mobile
 
Entendendo a Plataforma de Desenvolvimento do Windows Phone 7
Entendendo a Plataforma de Desenvolvimento do Windows Phone 7Entendendo a Plataforma de Desenvolvimento do Windows Phone 7
Entendendo a Plataforma de Desenvolvimento do Windows Phone 7
 
Dobsware 2017
Dobsware 2017Dobsware 2017
Dobsware 2017
 
3461374 82-ideias-para-ganhar-dinheiro-com-seu-computador
3461374 82-ideias-para-ganhar-dinheiro-com-seu-computador3461374 82-ideias-para-ganhar-dinheiro-com-seu-computador
3461374 82-ideias-para-ganhar-dinheiro-com-seu-computador
 
Aula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveisAula - Arquiteturas de aplicações móveis
Aula - Arquiteturas de aplicações móveis
 
Ferramentas e Apps Educação
Ferramentas e Apps EducaçãoFerramentas e Apps Educação
Ferramentas e Apps Educação
 
Modelo de Subscrições e Suporte WSO2
Modelo de Subscrições e Suporte WSO2Modelo de Subscrições e Suporte WSO2
Modelo de Subscrições e Suporte WSO2
 
#SGames Desenvolvendo o GPS Coquetel Musical
#SGames Desenvolvendo o GPS Coquetel Musical#SGames Desenvolvendo o GPS Coquetel Musical
#SGames Desenvolvendo o GPS Coquetel Musical
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
 

O desenvolvimento de aplicações móveis, antes da 1ª linha de código

  • 1. NOME DA APRESENTAÇÃO Nome (Nick no Fórum) 25 DE MAIO @MICROSOFT O desenvolvimento de aplicações móveis, antes da 1ª linha de código Alberto Silva (nick albertosilva) Microsoft MVP, 2003- moving2u, Responsável I&D, 2003- alberto.silva@moving2u.pt @albertosilva
  • 2. Destinatários Desenvolvimento de soluções LOB Clientes que procuram soluções LOB App makers # 2
  • 3. Agenda • Introdução • A escolha das plataformas • Necessidades de Comunicações e Dados • Opções para o desenvolvimento • Conclusão • Q&A # 3
  • 4. INTRODUÇÃO “É só uma pequena aplicação…”
  • 6. Como começaa história… # 6 O que eu quero é só uma aplicaçãozita para os meus técnicos registarem os tempos quando se deslocam aos clientes. Pensei pedir ao meu sobrinho que ele ajeita-se a essas coisas, mas agora é maré de exames e o Verão está aí à porta Isso deve ser coisa para uma semana ou duas, não me peça muito dinheiro É só por a data, o que ele esteve a fazer, o cliente e uma foto se estiver alguma coisa mal
  • 7. …comose desenvolve… # 7 -Então mas tem de escrever o nome do cliente à mão? Já tenho isso tudo no software de gestão… - E não dá para identificar o equipamento pelo nº de série? Quer ver a folha de Excel onde guardo isso? -E as etiquetas de código de barras que mandei fazer servem para quê, isso não lê, olhe que tenho um programa que lê… - Faça lá uma alteração para poder imprimir um talão para o cliente, é um talão pequenino - E aproveite e quando ele escolhe o cliente, mostre as últimas reclamações do cliente - Ah! E não deixe aceitar reclamações se o cliente tiver faturas por pagar - Isso não dá para por o aparelho a mandar o GPS de onde o técnico está? De minuto a minuto que um deles anda a aldrabar-me… - Olhe afinal uma foto é pouco, é deixá-lo tirar até 5 fotos. E o cliente tem de assinar! - Então o meu cliente X diz que não posso usar estes telefones ao pé dos tanques de combustível? E no hospital Y também reclamaram…
  • 8. …comocontinua… # 8 - O meu contabilista diz que as folhas de obra agora também vão no SAF-T, vão ter que ser integradas no programa de gestão - Tenho 3 ou 4 técnicos que têm uns telemóveis diferentes, também dão para correr o programa? - Afinal o meu operador móvel ofereceu-me um telemóvel para cada técnico, ponha lá o programa a correr neles, são parecidos - Você era boa pessoa era se me punha isso a gerir o stock do carro, e a emitir guias de transporte que eles saem cedo… - Boas notícias! Tenho 3 técnicos espanhóis a fazer a zona da Galiza! - Anda a desaparecer informação dos telemóveis mas não posso pedir aos técnicos para perderem um dia de trabalho para virem cá! - Olhe a bateria não dura nada… - Eu queria mesmo era bloquear o facebook, os jogos, as músicas, ocupam a memória toda com tralha - Então os PDAs que me vendeu não aguentam o frio no armazém? E quando vão ao cliente da pedreira ficam com pó do lado de dentro do ecrã
  • 11. Quem comprae gere os equipamentos? # 11
  • 12. Critériospara escolhada plataforma Bateria • Suporte a dados/push • GPS • Baterias de grande capacidade/substituíveis Utilização • Tamanho e legibilidade do ecrã • Utilização no exterior • Teclados numéricos/alfanuméricos • Utilização com uma mão Lifecycle • Prazo de suporte do sistema operativo e dos equipamentos • Fragmentação Ambientes adversos • Resistência a líquidos, pó, condições de humidade e temperatura, quedas • Utilização com luvas Necessidades Específicas • Leitura ótica 1D/2D, short/long range • Impressão • RF/NFC • Pagamentos integrados • Comunicações móveis, Bluetooth, … Outros • Suporte a soluções MDM • Conformidade com normas regulatórias • Opções e condições dos Marketplace • Localização e cultura # 12
  • 13. As principaisplataformasmóveis •Equipamentos de consumo •Diferentes fabricantes Android (telefone / tablet) •Equipamentos de consumo •Posicionamento premium iPhone / iPad •Plataforma melhor ajustada a LOB •Próxima versão baseada em WP8 •Diferentes fabricantes Windows Embedded Handheld •Equipamentos de consumo •Diferentes fabricantes Windows Phone 8 •Versões ‘mini’ baseadas em arquitecturas ARM e x86 •Diferentes fabricantes Windows 8 •Fénix ou Ícaro? Blackberry 10 # 13
  • 14. Decisões, decisões Modelos de comunicações e dados
  • 15. Comunicações • Modelo online / ocasionalmente online / offline • Necessidades de interação com… • serviços remotos próprios • serviços de terceiros • Avaliar… • Disponibilidade e lifecycle de APIs de terceiros/endpoints OData • Exigências do ponto de vista tecnológico das API • Licenciamento em função do tipo de aplicação • Notificações • Logging report # 15
  • 16. Dados • Necessidade de repositório local • Base de dados estruturada (exclusiva / partilhada) • Definições • Snapshot de sessão • Necessidade de repositório remoto/cloud • Cloud: • Azure Mobile Services, Buddy.com • Skydrive, Dropbox, … # 16
  • 17. Estratégiade “sincronização” • Download • Modelo de sincronização diferencial vs. pull • Acesso a recursos de terceiros em tempo real / cache • A pedido / em background / push • Upload • Modelo de sincronização diferencial / transacional • A pedido / em background • Integração com serviços de terceiros síncrona/assíncrona # 17
  • 19. Linguagensnativase IDEs # 19 •Aplicações desenvolvidas em Java •Eclipse / Android IDE Android (telefone / tablet) •Objective-C •XCode iPhone / iPad •C#, VB.net, C++ •Visual Studio 2008 Windows Embedded Handheld •C#, VB.net. C++ •Visual Studio 2012 Windows Phone 8 •Mesmas opções que Windows 7 para desktop •C#, VB.net, C++, JavaScript para RT •Visual Studio 2012 Windows 8 •C/C++ •QNX Momentics IDE Blackberry 10
  • 20. Mobilevs. desktop,mesmos IDE, mesmas linguagens,mas… Limitações ao nível de… • Conectividade • Interação com o utilizador • Performance • Autonomia • Memória • Armazenamento • Impostas pelas plataformas # 20
  • 22. Estratégia Multiplataforma - Definir quanto antes - Limitações das Soluções Multiplataforma - Experiência nativa de UI - Especificidades de plataforma - Exemplo: - HTML 5, PhoneGap, KendoUI, SensaTouch, RhoMobile, VS Nomad - Adobe Air - Partilha de código entre plataformas - PCL / Ficheiros ligados com compilação condicional / Classes parciais - Xamarin.IOS, Xamarin.Android, Dot42 – C# for Android - Ausência de estratégia multiplataforma# 22
  • 24. Não subestimaro problemaà partida… # 24

Hinweis der Redaktion

  1. Jogos ficam de fora… ou não!
  2. Byod, gestão, direitos sobre o equipamentos, dados, …
  3. Bateria, Utilização, Lifecycle, Robustez, Necessidades específicas, Outros
  4. Apostar em RESTTer atenção com serviços por desenvolver ou em desenvolvimentoTer em conta que serviços e 3os podem implicar licenciamento
  5. Local para funcionar offline, lifecycle da aplicação, setingsRemoto como “origem/destino”, partilha entre devices
  6. Exemplos
  7. Só o VS2008 é pago
  8. Conectividade: velocidade, disponibilidade, custos, contactávelInteração: tamanho ecrã, ausência de teclado
  9. Minimo denominador comum, interação com o anfitriãoXamarin tem designers e permite usar o VS