8º Connecting Knowledge
HEIDER LOPES
Web App
Heider Lopes
• Pós-Graduado em Sistemas e Desenvolvimento Web
• Analista Programador
• THT Member
Redes Sociais do THT Member
twitter.com/heiderlopes
github.com/heiderlopes
slideshare.net/heiderlopes
www.heiderlopes.com.br
Agenda
• Introdução
• Web ou App?
• Estratégias de Desenvolvimento
• Conclusão
Introdução
Oportunidades
Introdução
Você acaba de ter a idéia de criar um
aplicativo!!!
Por que tem que ser mobile?
Rápida Pesquisa
Em qual dessas situações você utiliza seu celular?
Enquanto espera para ser atendido
No carro de carona
No transporte público
Enquanto espera o inicio de um evento (CK, cinema, teatro,
entre outros)
Enquanto trabalha
No banheiro
Enquanto assiste TV
Enquanto conversa com os amigos
Por que mobile?
Quanto mais melhor
“Normalmente”queremos atingir a maior
quantidade de usuários
Plataformas Mobile
Porém no deparamos com diversas
plataformas
…
E AGORA???
Relembrando: Web X Desktop
Web ou App?
Deadline de entrega
App
• Criar um aplicativo para
cada plataforma
• Conhecer diferentes
linguagens (de acordo com
a plataforma a ser
desenvolvida)
Web
• O aplicativo irá abranger
diversas plataformas do
mercado
(Phonegap/Cordova)
• Baixo ou nenhum
retrabalho para migrar para
cada plataforma suportada
Orçamento Disponível
App
• Curva de aprendizado para
cada plataforma
• Mão de obra distintas /
Maior custo
• Dificil/impossível
reutilização entre as
plataformas
Web
• Curva de aprendizado web
(HTML5/CSS3/JS)
• Redução de custo
• Reutilização do código
Integração com Hardware
App
• Acesso direto ao hardware
• Acesso a recurso do sistema
operacional
• Integração com funções
avançadas e a outras Apps
• Manipulação do aparelho
Web
• Não tem acesso direto a
plataforma nativa
• Roda dentro de um
navegador
• Acesso a recursos através
de APIs (câmera,
geolocalização,
acelerômetro, giroscópio,
animações 3D)
Segurança e Privacidade
App
• Restrições explícitas que o
usuário tem que aprovar (Loja)
• Lojas com mecanismos de
aprovação
• Detecção de códigos
maliciosos
• Maior acesso a dados do
usuário e altos privilégios
Web
• Restrição de segurança
• Menor acesso a dados do
usuário e baixo privilégios
Performance
App
• Normalmente mais rápidos
• Rodam direto no Sistema
Operacional
• App precisa ser instalada
(podendo ser um processo
lento)
Web
• Roda dentro do navegador
que interpreta seu
HTML/CSS/JS
• *Precisa ser baixada do
servidor com suas
dependências
Usabilidade e visual
App
• Mais familiar para o usuário
– Componentes
– Navegação
Web
• Preferência linguagem
visual única na web
Instalação e distribuição
App
• Precisa ser instalada
(geralmente pela loja)
• Custo para ser
desenvolvedor cadastrado
• Submeter apps para
aprovação
• Baixa a aplicação completa
• Exposição e busca na Loja
Web
• Abre o link do navegador
• Pode adicionar aos favoritos
na tela inicial
• Permissões mais avançadas
são solicitadas pelo
navegador
• Acesso sempre a versão
mais recente
• Busca através de sites
Monetização
App
• Lojas são plataformas de
pagamento integradas
• Baixo trabalho para o
usuário comprar apps e
assinaturas
Web
• Serviços de pagamentos
Web First e Mobile First
Site Mobile
• Possuem layout muito resumido, carregando
poucas imagens para serem carregados mais
rápidos
http://m.site.com.br ou
http://mobile.site.com.br
Design Responsivo
Media Queries
Expressões que direcionam o usuário para uma
folha de estilo diferente de acordo com o
dispositivo que ele esta usando.
O que podemos definir com MQ
• Tipo de dispositivo
– Móvel,
– Monitores
– Impressão
– etc)
• Tela
– Largura
– Orientação
– Resolução
– Proporção de tela
Layout Fluído
Segredo é não usar pixels nas medidas e sim
porcentagens e ems para um layout mais
fluído e flexível
Imagens Flexíveis
Imagem devem se adaptar à todo tipo de
resolução
Link Demo: https://github.com/daniguerrato/design-responsivo-demo
Estratégias de Desenvolvimento
Desenvolvimento Nativo
Os aplicativos são desenvolvidos
especificamente para uma plataforma utilizando
a linguagem e as APIs do dispositivo.
Android
iOS
Windows Phone
Mobile Web Apps
São sites que diversas formas parecem um
aplicativo nativo. São executados através de
um navegador.
Funcionalidades Acessíveis
• Esconder botão do navegador
• Gestos de navegação
• Cache do navegador
• GPS
• Link para ligação direta
Funcionalidades Inacessíveis
• Uso de notificação do Sistema Operacional
• Execução em segundo plano
• Informações do acelerômetro
• Gestos complexo
Desenvolvimento Híbrido
São parcialmente nativos e parcialmente web
apps.
Sencha Touch
Phonegap/Cordova
IONIC Framework
Conclusão
App
• Objetivo bem definido
• Performance perfeita
• Uso intensivo do hardware
• Aplicativo off-line
Web
• Criar mínimo produto viável
• Desenvolvimento rápido
• Público alvo heterogêneo
• Não exige alta performance
• Não ter problema em exigir o
usuário conectado a internet
Dúvidas
THT nas Redes Sociais
MEETUP.COM/THT-THINGS-HACKER-TEAM
THINGS HACKER TEAM
SLIDESHARE.NET/THINGSHACKERTEAM
TWITTER.COM/THINGSHACKERTM
GITHUB.COM/THINGSHACKERTEAM
FACEBOOK.COM/THINGSHACKERTEAM
WWW.THINGSHACKERTEAM.COM

8ºConnecting Knowledge Web ou App