PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014

1.825 visualizações

Publicada em

Minicurso de PhoneGap para SECCOMP (semana da computação) da Unesp de Rio Claro. Nesse minicurso foi desenvolvido um app simples, que realiza busca informações sobre artistas, utilizando a API do Last.fm

Segue o link para o código-fonte e os vídeos de demonstração para Android e iOS

Github:
https://github.com/fernandodelrio/MusicApp

Demonstração Android:
http://youtu.be/-2HYK7u0hSE

Demonstração iOS:
http://youtu.be/ReqqTbRUpQ4

Publicada em: Software
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.825
No SlideShare
0
A partir de incorporações
0
Número de incorporações
19
Ações
Compartilhamentos
0
Downloads
35
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

PhoneGap - Desenvolvimento mobile multiplataforma - SECCOMP 2014

  1. 1. Desenvolvimento Mobile Multiplataforma
  2. 2. Fernando del Rio, 22 anos Computação, Unesp RC http://br.linkedin.com/in/fernandohenriquedelrio https://www.facebook.com/fernandomdr http://pt.stackoverflow.com/users/1419/fernandodelrio https://github.com/fernandodelrio
  3. 3. Desenvolvimento Mobile A mobilidade ganhou força nos últimos anos e o conceito de aplicação mobile mudou. Antes aplicações mobile eram aplicações de propósito muito específico e muita coisa que se tinha para desktop e web jamais fariam sentido em um celular.
  4. 4. Desenvolvimento Mobile Hoje em dia isso tem mudado. Um usuário quer que sua aplicação funcione independente do dispositivo que ele esteja usando. E atualmente com a capacidade de processamento dos dispositivos e a alta disponibilidade da internet, as maiores preocupações das aplicações mobile são de usabilidade:
  5. 5. Desenvolvimento Mobile •Tela menor •Diferentes tamanhos de tela •Navegação utilizando a touch screen Uma aplicação mobile deve propiciar a melhor experiência de usuário possível. É muito importante que o conteúdo da aplicação possa ser visualizado de forma fácil, independente do tamanho da tela e da orientação do dispositivo.
  6. 6. Desenvolvimento Mobile Quando deve-se considerar um smartphone e um tablet essas diferenças se tornam ainda maiores. Além do conteúdo se adaptar à tela do dispositivo, pode ser necessário alterar a forma de navegação na aplicação.
  7. 7. Plataformas
  8. 8. Plataformas
  9. 9. Plataformas Muitas plataformas disponíveis: •Arquiteturas diferentes •Sistemas Operacionais diferentes •Linguagens de programação diferentes •Ambientes de desenvolvimento diferentes
  10. 10. Plataformas Desenvolver uma aplicação para várias plataformas: •Maior complexidade de desenvolvimento e manutenção da aplicação •Maior custo (tempo e dinheiro)
  11. 11. Plataformas •Mac •Objective-C ou Swift
  12. 12. Plataformas •Windows, Linux, Mac •Java
  13. 13. Plataformas •Windows •C#
  14. 14. Multiplataforma Uma forma de solucionar esse problema é buscando uma alternativa multiplataforma. Existem várias opções no mercado. Uma ideia é tentar converter todo o código gerado na linguagem nativa de uma plataforma, para o correspondente nas outras plataformas. Muitas vezes isso é complicado, devido às diferenças de arquiteturas entre elas.
  15. 15. Multiplataforma Por sorte na maioria dos dispositivos já existe algo multiplataforma: Aplicações Web Desenvolvedores Web sempre tiveram que se preocupar com uma aplicação sendo exibida em diferentes navegadores e diferentes sistemas operacionais.
  16. 16. Multiplataforma Hoje em dia a Web vem caminhado para uma padronização, o que torna mais fácil para uma aplicação Web funcionar de maneira uniforme em diferentes plataformas, incluindo em dispositivos mobile.
  17. 17. App Nativo •Acesso completo aos recursos do dispositivo •Maior desempenho •Loja •Dificuldade para desenvolver para várias plataformas. •Mais caro
  18. 18. Web App •Mais barato •Multiplataforma •Limitado ao que uma aplicação web pode fazer (não possui acesso à todas as funcionalidades do dispositivo) •Não tem loja
  19. 19. Multiplataforma Seria possível unir o melhor das aplicações nativas, com a característica multiplataforma das aplicações Web?
  20. 20. Multiplataforma Resposta: SIM E uma das alternativas é o
  21. 21. Multiplataforma PhoneGap é um framework da Adobe baseado no projeto open source Apache Cordova que permite criar apps nativos pra diversos dispositivos utilizando uma base de código única com tecnologias web: HTML, CSS, Javascript. O framework também serve de interface entre a Web e o Nativo, permitindo que qualquer recurso do dispositivo possa ser acessado pela aplicação.
  22. 22. PhoneGap
  23. 23. PhoneGap Build Além disso o PhoneGap disponibiliza um serviço na nuvem que permite o compilar o código da aplicação para qualquer plataforma disponível.
  24. 24. PhoneGap Build
  25. 25. PhoneGap na vida real Claro, nem tudo são flores. Em muitas situações uma aplicação PhoneGap tradicional (Uma Single View Application) pode ter um desempenho inaceitável, geralmente quando é necessário dar suporte a versões antigas de S.O., como Android 2.3, por exemplo. O gargalo normalmente aparece, quando é necessário fazer transições de tela, que podem ficar muito lentas, considerando que antigamente a WebView não possuía aceleração de hardware.
  26. 26. PhoneGap na vida real Nesse caso talvez seja interessante desenvolver parte da aplicação de forma híbrida e parte da aplicação (transições de tela) de forma nativa, para ganhar desempenho. Obviamente, isso diminui os benefícios de uma aplicação multiplataforma. Mas ainda sim é vantajoso se a maior parte das regras de negócio estiverem de forma híbrida.
  27. 27. PhoneGap na vida real Outro uso interessante do PhoneGap é a utilização como componente. Imagine a situação de uma aplicação desenvolvida de forma nativa para várias plataformas e um determinado componente precisa ser adicionado nessa aplicação. Dependendo da complexidade do componente vai ser muito trabalhoso implementá-lo em todas as plataformas.
  28. 28. PhoneGap na vida real Para solucionar esse problema a Cordova Web View do PhoneGap pode ser facilmente adicionada na aplicação como um componente, tornando essa nova funcionalidade da aplicação, multiplataforma. Nesse contexto, não só a Web View tem acesso aos recursos do nativo, como o nativo também consegue acessar as informações da Web View.
  29. 29. PhoneGap •Instalação •Criando um projeto •Compilando •Debugando •Music App Mas vamos ver isso na prática :)

×