PhoneGap é um framework para desenvolvimento de aplicativos móveis em código aberto. Ele se utiliza da tecnologia Apache Cordova para acessar a funções dos aparelhos móveis como acelerômetro, câmera e geolocalização, e permite que os desenvolvedores criem aplicações utilizando HTML5, CSS3 e JavaScript sem a necessidade de depender de APIs específicas. Os aplicativos criados são compatíveis com iOS, Windows Phone e Android.
Os aplicativos resultantes são híbridos, no sentido de que não são nem aplicativos móveis nativos nem puramente web-based. Em vez de utilizar a UI nativa de cada plataforma toda renderização do layout é feita por meio de webviews, por outro lado não se trata simplesmente de apps webs pois estes aplicativos tem acesso as API's nativas de cada dispositivo e podem ser empacotados para distribuição.
Histórico Inicialmente desenvolvido no iPhoneDevCamp, evento ocorrido em São Francisco em 2009, por Rob Ellis, Eric Oesterle e Brock Whitten, todos da Nitobi Software. Já em 2009 levou o o prêmio People's Choice Award durante o Web 2.0 Conference promovido pela O'Reilly Media.
A Apple Inc. confirmou em 2010 que a plataforma está de acordo com os parâmetros da licença para desenvolvedores iOS. Além disso, o PhoneGap ja é usado por muitas aplicações para plataformas móveis entre elas, Asial's Monaca, ViziApps, Worklight, Convertigo, e appMobi como a espinha dorsal do funcionamento de seus aplicativos.
Em 2011 a Adobe anunciou a compra do software da Nitobi Software. Na mesma época o código fonte do projeto foi doado pela Adobe para a fundação Apache e desde então virou um projeto totalmente aberto com uma comunidade crescente.
Phonegap Build As primeiras versões do PhoneGap exigiam que, para se criar aplicativos para o iOS, este deveriam ser criado em um computador da Apple e para desenvolver para Windows Phone, fossem criados em um computador rodando Windows. A partir de setembro de 2012, a Adobe lançou o PhoneGap Build , um serviço integrado com outras ferramentas da empresa. Trata-se de uma plataforma web para empacotamento e criação de aplicativos utilizando a tecnologia PhoneGap. Com ela, ao invés de você configurar seu ambiente com o SDK de cada plataforma, você pode enviar seu código que é então armazenado em nuvem e com ele pode gerar os pacotes de instalação dos aplicativos para cada sistema operacional.
Funcionamento Os aplicativos feitos com PhoneGap utilizam HTML5 e CSS3 para implementar a interface de usuário e Javascript para compor sua lógica. Apesar do HTML5 permitir acesso a alguns a recursos do hardware, como acelerômetro, câmera e GPS, estes recursos ainda não são suportados por todos os browsers móveis, particularmente pelas versões mais antigas do Android. Para superar esta limitação o PhoneGap inclui funções dentro das WebViews nativas de cada aparelho e para acessar recursos nativos.
Por outro lado o uso de tecnologias web faz com que muitos aplicativos do PhoneGap sejam mais lentos do que aplicativos nativos com funcionalidades similares. Adobe Systems alerta ainda que aplicativos feitos com o PhoneGap podem ser rejeitados pela Apple caso sejam lentos demais ou não tenham a mesma aparência e consistência de layout dos aplicativos nativos.
Plataformas suportadas Atualmente o PhoneGap permite o desenvolvimento de aplicativos para Apple iOS, BlackBerry, Google Android, LG webOS, Microsoft Windows Phone (7 e 8), Nokia Symbian OS, Tizen (SDK 2.x), Bada, Firefox OS e Ubuntu Touch. A tabela abaixo lista os recursos de hardware suportados por cada sistema operacional http://docs.phonegap.com/en/edge/guide_support_index.md.html#Platform%20Supporthttp://www.htmlpanda.com/blog/phonegap-app-development-supported-platforms-with-native-features/ Recurso iPhone /iPhone 3G iPhone 3GS e mais novos Android 1.0 – 4.4 Windows Phone BlackBerry 10 and PlayBook OS BlackBerry OS 4.6–4.7 BlackBerry OS 5.0-6.0+ Bada Symbian webOS Tizen Ubuntu Touch Firefox OS Acelerômetro Câmera Bússola Lista de Contato Arquivos Geolocalização Mídia Rede Notificação (alerta, som, vibração) Gravar na memória
Referências
Categoria:Web Categoria:Ambientes de desenvolvimento Android
Software Livre