PhoneGap é um framework para desenvolvimento multi-plataforma em HTML/JavaScript, para sete plataformas móveis. Hoje se pode ler um número considerável de artigos dedicados aos PhoneGap, escrito por desenvolvedores nativos, que experimentou programação multi-plataforma, ou desenvolvedores front-end, que experimentou desenvolvimento móvel. Sua avaliação do PhoneGap como bom ou ruim é, é influenciada pelo seu campo original de atividades; Portanto PhoneGap é chamado 'cool' ou 'falho'.
Mas existem desenvolvedores que dedicaram as suas actividades exclusivamente para desenvolvimento PhoneGap e estudam as subtilezas do presente quadro de cross-platform. Não há nenhuma solução universal, em desenvolvimento nativo, nem no desenvolvimento da cruz-plataforma. Tudo depende do projeto de software; e essas sutilezas podem ajudar a decidir se PhoneGap deve ser escolhido como a plataforma para o projeto.
Os recursos de plataformas do PhoneGap são alcançados da seguinte forma: um projeto nativo é gerado, distinto para cada plataforma, que inclui um navegador (um componente nativo webView) como o componente principal. Este navegador é capaz de exibir o código HTML/JavaScript como uma página da web normal. O sistema de arquivos deste projecto actua a parte de um servidor de arquivos, que dá acesso à página. Como um bônus adicional, há um objeto que permite que o PhoneGap padronizar o acesso a recursos nativos de dispositivos móveis que executam os sistemas operacionais suportados, tais como câmera, acelerômetro, bússola, contatos, etc.
Se a API padrão não é suficiente, PhoeGap Plugin API permitirá escrever um código que implementa a funcionalidade de falta. Esse código é escrito na linguagem de programação nativa, que é específica para cada plataforma peculiar.
Basicamente, um projeto PhoneGap contém quatro partes funcionais, que garantam a aplicação do código HTML/JavaScript:
1) um navegador nativo (webView), incorporado no projeto;
2) estruturado API para acessar a funcionalidade nativa de um dispositivo móvel do código JavaScript;
3) API para escrever plugins nativos;
4) armazenamento de arquivo, que contém HTML, JavaScript e outros recursos de web do aplicativo.
Assim, PhoneGap permite criar um aplicativo de service-oriented, única página HTML-5.
99% de desenvolvimento PhoneGap é JS-codificação e fazer com atenção para as peculiaridades do ambiente (um dispositivo móvel, limitada de processamento de energia, memória, tela sensível ao toque, etc.) e navegadores. Durante o PhoneGap desenvolvimento um precisa considerar a especificidade de cada plataforma, seu navegador padrão (que tem webView baseado em cima dele). PhoneGap é exigente, quando se trata de arquitetura e otimização. Interface de usuário tem que ser otimizado para cada plataforma; é por isso especificando que as plataformas alvo irão afectar o tempo gasto no projeto.
Temos anteriormente abordou a questão do PhoneGap e delineou quatro grandes problemas ao construir um aplicativo responsivo na PhoneGap: o atraso de 300 milissegundos, o problema de tocar, otimização de estrutura DOM e longas listas. E sugerimos soluções para estes problemas. Assim, chegamos a uma conclusão de que os 'pontos fracos' do PhoneGap são basicamente técnicas especificidades, que devem ser tratadas como tal.
Para concluir, aqui estão algumas dicas úteis sobre o desenvolvimento do PhoneGap - para economizar tempo e evitar frustrações.
1) As menos bibliotecas externas são utilizadas, melhor. Isto diz respeito os recursos limitados de um dispositivo móvel. É perto de ter uma frota de navios para carregar uma única caixa (no caso de negócios do aplicativo). O combustível será consumido por toda a frota. Escolher bibliotecas pensativamente e tentar utilizar plenamente as suas capacidades;
2) O app não tem o mesmo olhar em todas as plataformas e versões de sistema operacional. É melhor fazer um trade-off no estilo e na aparência de um app, a fim de manter a velocidade e funcionalidade intacta;
3) Utilizar CSS fundo para exibir imagens; por conseguinte, uma imagem será carregada somente se um elemento da lista é exibido na tela;
4) Os métodos de otimização, aplicáveis para páginas web com arquitetura cliente-servidor, nem sempre são a melhor solução para uma aplicação PhoneGap. Não há nenhuma solicitação de rede longo para carregar arquivos HTML/CSS/JS, então não há necessidade em se considerando o tamanho de um arquivo JavaScript, ou, por exemplo, na minimização do invisíveis pixels em uma imagem. Escolha uma forma de lidar com o inevitável atraso de 250 milissegundos antes que um arquivo carregado; nossa escolha foi pré-carregamento preguiçoso e telhas;
5) Campos na parte superior da tela de entrada do lugar - assim você vai evitar diferenças no comportamento de layout de página durante a exibição do teclado;
6) Longas listas são um problema que deve ser evitado - a menos que você tem uma solução;
7) Evite tons, gradientes e translucidez, sempre que possível. Toda essa elegância requer energia extra, que tem por que usá-lo somente quando necessário;
8) Use o poder da unidade de processamento gráfico via CSS.