10/2017 - Ministrei palestra com o tema: “Desenvolvimento de Aplicações para Dispositivos Móveis: Aplicativos Nativos, Híbridos ou Web Apps. Qual utilizar?”, durante o VII Congresso Acadêmico da Uncisal - CACUN, realizado no Hotel Best Western Premier;
2. ● Desenvolvedor em Unimed Maceió;
● Graduado em Análise e Desenvolvimento
de Sistemas;
● Pós-graduando em Engenharia de
Software;
● Experiência em desenvolvimento de
softwares e tutoria para
desenvolvimento mobile;
● Apaixonado por novos conhecimentos.
3. ● Desenvolvedor em Jetdata Sistemas e
Servidor na UNCISAL;
● Graduado em Análise e Desenvolvimento
de Sistemas;
● Pós-graduando em Engenharia de
Software;
● Pós-graduando em Gerenciamento e
Desenvolvimento Ágil de Software;
● Experiência em desenvolvimento de
softwares web / mobile.
4. ● Analista de Sistemas e Gerente de
Desenvolvimento na UNCISAL;
● Graduado em Ciências da Computação
pela UFRN;
● Experiência em análise e
desenvolvimento de sistemas
5. 1. Por que o desenvolvimento mobile é uma tendência do mercado?
2. PENSE EM UMA SITUAÇÃO…
3. APLICATIVO MOBILE
3.0 - WEB APP
3.1 - HÍBRIDO
3.2 - NATIVO
4. O QUE LEVAR EM CONSIDERAÇÃO PARA ESCOLHER UMA DAS
SOLUÇÕES ?
7. Por que o desenvolvimento mobile é
uma tendência do mercado?
● Segundo dados da GSMA Intelligence, já existem mais dispositivos
mobile do que pessoas no planeta;
● A cada dia que passa, as empresas se preocupam mais e mais em
desenvolver aplicativos funcionais e úteis para seus clientes e
consumidores, visando adentrar esse universo mobile de uma vez por
todas;
É mais vantajoso desenvolver uma solução para cada
plataforma ou investir no desenvolvimento multi
plataformas? Será que o cross-plataform é uma
tendência de mercado? É o que você vai descobrir na
palestra de hoje!
19. • Página da WEB
• É uma página na internet acessada como qualquer outro site
através de um navegador e desenvolvido. (HTML5+CSS3+JS).
• Acesso por URL
• O acesso é por uma URL e o usuário tem a opção de “instalar” o
app na tela inicial do aparelho, criando um atalho para acessá-lo.
•Custo
• O custo de desenvolver um web app é inferior
APLICATIVO:
HÍBRIDO, NATIVO OU WEB APP?
20. •Site responsivo
• Cria-se um site responsivo que se adequa ao
tamanho da tela;
•Web App
• É desenvolvido dois sites, 1 para web e outro para o
mobile;
21. •Não publica nas lojas
• Não é necessário publicar nas lojas para que os
usuários possam acessá-lo, sendo assim, não ocupa
espaço na memória do aparelho;
•Não utiliza as funcionalidades do aparelho
• Diferentemente do nativo e do híbrido, o web app
utiliza algumas funcionalidades do dispositivo de
forma limitada, como câmera e GPS, etc.
23. •Se comporta como um aplicativo nativo, mas é uma aplicação
web;
•Essencialmente desenvolvidos em HTML5 + CSS3 + JS com a
utilização de algum framework;
• Característica multiplataforma: Se desenvolve apenas uma
vez e executa em diferentes plataformas;
• Exibido através de um navegador embutido (Webview) no
aplicativo, tendo parte de seu conteúdo carregado pela
internet;
24.
25.
26.
27.
28. Problema: Registrar a geolocalização do usuário a
cada “x” metros levando em consideração um raio
estacionário.
Resolvido com: Plugin de geolocalização em
background.
29. Problema: Vibrar o dispositivo sempre que uma
determinada situação ocorre. .
Resolvido com: Plugin de vibração.
30. Problema: Ler o conteúdo de um determinado
QRCode evitando que o usuário tenha que digitar tal
conteúdo para acessar a um evento público.
Resolvido com: Plugin de QRCode.
31. Problema: Abrir a câmera do dispositivo via app,
capturar uma imagem para que seja enviada ao
servidor posteriormente.
Resolvido com: Plugin de Câmera.
32. Problema: Ler o conteúdo de uma tag NFC em uma
pulseira para identificar um usuário.
Resolvido com: Plugin de NFC.
33. Problema 1: Enviar mensagens a um determinado
app;
Problema 2: Acordar um app que teve sua atividade
fechada pelo usuário e em seguida lançar para a
frente da pilha.
Resolvido com: Plugin de Push Notifications.
34. •Custo
• O custo de desenvolver é inferior ao nativo. Não
é necessário criar versões separadas por
plataforma;
•Facilidade de desenvolvimento
• É mais fácil encontrar um desenvolvedor com
habilidade em JavaScript, HTML e CSS do que em
Java/Kotlin/Swift/C#, por exemplo.
35. ● Um exemplo de aplicativo híbrido muito bem construído é o
do Netflix, que utiliza a mesma interface para todos os
dispositivos;
● O Facebook já teve uma experiência não muito boa com sua
versão móvel construída de forma híbrida.
37. •Desenvolvido específico para cada plataforma:
• Android: Java/Kotlin (Android Studio)
• iOS: Objective-C / Swift (XCode)
• Windows Phone: C# (Visual Studio)
•Cada plataforma apresenta suas próprias ferramentas e elementos de
interface, então um APP nativo explora todas as potencialidades da plataforma;
• Possui acesso a diversos recursos dos aparelhos como GPS, câmera,
calendário, acelerômetro, giroscópio, entre outros;
•Pode funcionar sem a necessidade de internet.
38. Excelente desempenho
• São desenvolvidos especificamente para um
determinado sistema operacional, então eles
são mais rápidos e mais refinados,
tornando-os uma combinação perfeita para
aplicações de alto desempenho e jogos.
40. Público
• Podem ser descobertos mais facilmente pelos usuários na App
Store (melhor UX obtém mais destaque).
Acesso mais fácil aos recursos internos
• Não possuem nenhum problema/limitação para acessar as
funcionalidades do dispositivo, tais como: câmera, microfone,
calendário, GPS etc.
50. O QUE LEVAR EM
CONSIDERAÇÃO PARA
ESCOLHER UMA DAS
SOLUÇÕES ?
51. ● Tipo e complexidade da aplicação: É uma aplicação simples ou vai exigir
muito do aparelho?
● Expertise da equipe nas plataformas e seus ambientes: Qual o
conhecimento de sua equipe?
● Nicho de mercado que se quer atacar: Será que é necessário criar
multi-plataforma?
● Prazo de desenvolvimento: O prazo para entrega é longo ou curto?
● Capital disponível para investimento: Você tem capital para investir em
ambiente, infraestrutura e conhecimentos diferentes para cada plataforma?
52. Quantas vezes será atualizado?
Utilizará recursos nativos ?
Qual é o público que deve atingir ?
E a segurança
?
Qual é o deadline de entrega ?
?
?
?
??
?
Precisa funcionar offline ?
?
?
?
É um app protótipo ?
?
É um jogo
?
?
?
Melhor UX ?
?
53. Você tem uma aplicação muito simples que realmente não
vai precisar de qualquer funcionalidade complexa no
futuro?
•
54. Você quer desenvolver um MVP (Produto Viável Mínimo),
mas já tem uma lista de recursos extras que você gostaria
de adicionar no futuro?
•
55. Você tem uma aplicação para ser utilizada pelo usuário
apenas uma vez e não será utilizada mais periodicamente?
•
56.
57. Não há uma resposta exata para qual a melhor opção
entre aplicativos nativos, híbridos ou web app, o
importante é analisar os requisitos do seu aplicativo e
escolher a solução mais adequada, uma solução que
atenda suas necessidades.