Este documento apresenta as principais considerações para o desenvolvimento de aplicações móveis, incluindo a escolha da plataforma, necessidades de comunicação e dados, e opções de desenvolvimento. Discute os desafios de começar pequeno e ver o projeto crescer, e a importância de considerar desde o início as necessidades a longo prazo e a estratégia multiplataforma.
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
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ã
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
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