workshop - conceito mobile
TRANSCRIPT
Workshop iOS:Conceito mobile
Gustavo [email protected]
Apresentação
Neste workshop falaremos um pouco
sobre o desenvolvimento mobile e algumas
particularidades das plataformas
Android x iOS
● Google Play
● Maior número de
usuários
● Baixo custo para
começar a desenvolver
● Velocidade para
publicação e atualização
● Linguagem conhecida da
grande maioria
● App Store
● Rigoroso padrão de
aprovação
● Pequeno número de
devices para dar suporte
● Usuários acostumados a
pagar pelos aplicativos
● Devices sempre
atualizados com a última
versão de S.O.
Prós
● Infinidade de modelos
para suportar.
● Falta de rigor para
aprovação dos
aplicativos.
● Várias versões de S.O.
para suportar.
● Tempo de publicação.
● Curva de aprendizagem.
● Alto investimento.
Contras
Princípios básicos
● Aplicações devem ser leves
● Processos e operações devem ser
otimizados (mais do que em qualquer outro
tipo de plataforma)
● Evitar serviços que acabem por consumir
muita bateria
o GPS
o Requests em serviços de forma
contínua
o Chamadas constantes ao banco de
dados
Conexão
● Lembrar que o usuário pode ou não estar
conectado à internet
● "Excelente" rede móvel no país
● Conversa com a cloud através do uso de JSON
Banco de dados
● Simplificado (esqueça procedures ou triggers)
● Operações básicas (SELECT / INSERT / UPDATE
/ DELETE)
● Tipos simples (TEXT, INTEGER, REAL, BLOB,
NULL)
● Utilizar de sincronização com a web
Evitar replicar todo o banco do servidor central
na app
Referência: https://sqlite.org/
User Interface
● Evitar o travamento da tela
● Realizar processos assíncronos (fora da
thread principal)
● Inserir "spinner" para indicar o carregamento
(loading…)
● Tratar diferentes tamanhos de celular e
versões dos sistemas operacionais
Quais os tamanhos
de tela
existentes hoje?
iOS
Referência: http://www.paintcodeapp.com/news/ultimate-guide-to-iphone-resolutions
Android
User Experience
FINGER IS THE NEW
MOUSE!
● Devemos pensar na área de alcance dos botões
● O usuário pode ter mãos pequenas ou grandes, isso interfere totalmente na performance de uso da aplicação
● Quais os tamanhos de tela devemos contemplar?
Referência: http://www.lukew.com/ff/entry.asp?1927
Todas as ações
devem estar explícitas
para o usuário
Validação de formulários - Web X App
Validação de formulários - Web X App
Ferramentas
Formas de rentabilização
● In-app purchase
● Ads for mobile
Tracking de bugs
Versionamento
● Para o desenvolvimento em equipes é necessário o uso de
versionamento (GIT ou SVN)
● Possibilidade da divisão do trabalho
● Cuidado especial com componentes de interface (xml
gerados podem ocasionar conflitos irreversíveis)
● Cuidado com configurações de projeto (mesmo
funcionamento de componentes na UI)
Dúvidas?
THANKS FOR
BEINGHERE!