Apache Cordova - Apache Cordova
Autor (es) original (is) | Joe Bowser, Michael Brooks, Rob Ellis, Dave Johnson, Anis Kadri, Brian Leroux, Jesse MacFadyen, Filip Maj, Eric Oesterle, Brock Whitten, Herman Wong, Shazron Abdullah |
---|---|
lançamento inicial | 2009 |
Versão estável | 10.0.0 / 4 de agosto de 2020
|
Escrito em | C # , C ++ , CSS , HTML , Java , JavaScript e Objective-C |
Plataforma |
Android iOS , macOS Windows (8.1, 10, Phone 8.1) Electron |
Disponível em | inglês |
Modelo | Estrutura de desenvolvimento móvel |
Licença | Licença Apache 2.0 |
Local na rede Internet | cordova |
Apache Cordova (anteriormente PhoneGap ) é uma estrutura de desenvolvimento de aplicativo móvel criada pela Nitobi . A Adobe Systems comprou a Nitobi em 2011, rebatizou-a como PhoneGap e, mais tarde, lançou uma versão de código aberto do software chamada Apache Cordova. O Apache Cordova permite que os programadores de software criem aplicativos da web híbridos para dispositivos móveis usando CSS3 , HTML5 e JavaScript , em vez de depender de APIs específicas da plataforma, como as do Android , iOS ou Windows Phone . Ele permite o agrupamento de código CSS, HTML e JavaScript, dependendo da plataforma do dispositivo. Ele estende os recursos de HTML e JavaScript para funcionar com o dispositivo. Os aplicativos resultantes são híbridos, o que significa que não são aplicativos móveis verdadeiramente nativos nem puramente baseados na web. Eles não são nativos porque toda a renderização de layout é feita por meio de visualizações da Web em vez da estrutura de UI nativa da plataforma. Eles não são aplicativos da Web porque são empacotados como aplicativos para distribuição e têm acesso a APIs de dispositivos nativos. Misturar trechos de código nativos e híbridos é possível desde a versão 1.9.
O software era anteriormente denominado apenas "PhoneGap" e, em seguida, "Apache Callback".
PhoneGap era a versão comercial da Adobe de Cordova junto com seu ecossistema associado. Muitas outras ferramentas e estruturas também são construídas em cima do Cordova, incluindo Ionic , Monaca , VoltBuilder , TACO, Onsen UI, Visual Studio, GapDebug, App Builder, Cocoon, Framework7 , Quasar Framework , Evothings Studio, NSB / AppStudio, Mobiscroll e Plataforma Telerik . Essas ferramentas usam Cordova, e não PhoneGap, como suas ferramentas principais.
Os colaboradores do projeto Apache Cordova incluem Adobe , BlackBerry , Google , IBM , Intel , Microsoft , Mozilla e outros.
História
Desenvolvido pela primeira vez em um evento iPhoneDevCamp em San Francisco, o PhoneGap ganhou o People's Choice Award na Conferência Web 2.0 da O'Reilly Media em 2009, e a estrutura foi usada para desenvolver muitos aplicativos. A Apple Inc. confirmou que a estrutura tem sua aprovação, mesmo com a alteração da cláusula 3.3.1 do contrato de licença do desenvolvedor do Apple iPhone SDK 4.0 adotado em 2010. A estrutura PhoneGap é usada por várias plataformas de aplicativos móveis, como Monaca , appMobi , Convertigo, ViziApps e Worklight como a espinha dorsal de seu mecanismo de desenvolvimento de cliente móvel.
A Adobe anunciou oficialmente a aquisição da Nitobi Software (o desenvolvedor original) em 4 de outubro de 2011. Coincidindo com isso, o código PhoneGap foi contribuído para a Apache Software Foundation para iniciar um novo projeto chamado Apache Cordova. O nome original do projeto, Apache Callback, foi visto como muito genérico. Depois, também aparece na Adobe Systems como Adobe PhoneGap e também como Adobe PhoneGap Build . O Phonegap Blog mostra mais detalhes, porque finalmente o nome "Cordova" foi escolhido. Diz: "Embora as histórias de gênese do PhoneGap muitas vezes variem de acordo com o caixa, a maioria dos comprometedores pode concordar que o projeto nasceu em Nitobi, quando o escritório era na Cordova Street em Vancouver."
As primeiras versões do PhoneGap exigiam um computador Apple para criar aplicativos iOS e um computador Windows para criar aplicativos Windows Mobile. Depois de setembro de 2012, o serviço PhoneGap Build da Adobe permite que os programadores carreguem código-fonte CSS , HTML e JavaScript para um " compilador em nuvem " que gera aplicativos para todas as plataformas suportadas.
Design e justificativa
O núcleo de um aplicativo Apache Cordova usa CSS3 e HTML5 para renderização e JavaScript para lógica. O HTML5 fornece acesso ao hardware subjacente, como acelerômetro, câmera e GPS . No entanto, o suporte dos navegadores para acesso a dispositivos baseados em HTML5 não é consistente em navegadores móveis, particularmente em versões mais antigas do Android. Para superar essas limitações, o Apache Cordova incorpora o código HTML5 em um WebView nativo no dispositivo, usando uma interface de função externa para acessar os recursos nativos dele.
O Apache Cordova pode ser estendido com plug-ins nativos, permitindo que os desenvolvedores adicionem mais funcionalidades que podem ser chamadas de JavaScript, fazendo com que se comunique diretamente entre a camada nativa e a página HTML5. Esses plug-ins permitem acesso ao acelerômetro, câmera, bússola, sistema de arquivos, microfone e muito mais do dispositivo.
No entanto, o uso de tecnologias baseadas na Web faz com que alguns aplicativos Apache Cordova sejam executados mais lentamente do que aplicativos nativos com funcionalidade semelhante. A Adobe Systems avisa que os aplicativos desenvolvidos com o Apache Cordova podem ser rejeitados pela Apple por serem muito lentos ou não parecerem "nativos" o suficiente (tendo aparência e funcionalidade consistentes com o que os usuários esperam da plataforma).
Plataformas suportadas
A partir da versão 9, o Apache Cordova atualmente suporta o desenvolvimento dos sistemas operacionais Apple iOS , Google Android , Windows 8.1 , Windows Phone 8.1 , Windows 10 e Electron (estrutura de software) (que por sua vez roda em Windows , Linux e macOS ). A versão anterior do Apache Cordova era compatível com Bada , BlackBerry , Firefox OS , LG webOS , Microsoft Windows Phone (7 e 8), Nokia Symbian OS, Tizen (SDK 2.x) e Ubuntu Touch . A tabela a seguir é uma lista de recursos com suporte para cada sistema operacional para Adobe PhoneGap / Apache Cordova 3.
Característica | Android | Apple iPhone / iPhone 3G | Apple iPhone 3GS e mais recente | Bada | BlackBerry 10 e PlayBook OS | BlackBerry OS 4.6-4.7 | BlackBerry OS 5.0-6.0 + | Firefox OS | Symbian | Tizen | webOS | Ubuntu Touch | telefone do Windows |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Acelerômetro | sim | sim | sim | sim | sim | N / D | sim | sim | sim | sim | sim | sim | sim |
Câmera | sim | sim | sim | sim | sim | N / D | sim | sim | sim | sim | sim | sim | sim |
Bússola | sim | N / D | sim | sim | sim | N / D | N / D | sim | N / D | sim | sim | sim | sim |
Contatos | sim | sim | sim | sim | sim | N / D | sim | sim | sim | sim | N / D | N / D | sim |
Arquivo | sim | sim | sim | N / D | sim | N / D | sim | N / D | N / D | sim | N / D | sim | sim |
Geolocalização | sim | sim | sim | sim | sim | sim | sim | sim | sim | sim | sim | sim | sim |
meios de comunicação | sim | sim | sim | N / D | sim | N / D | N / D | N / D | N / D | sim | N / D | sim | sim |
Rede | sim | sim | sim | sim | sim | sim | sim | sim | sim | sim | sim | sim | sim |
Notificação (alerta, som, vibração) | sim | sim | sim | sim | sim | sim | sim | sim | sim | sim | sim | sim | sim |
Armazenar | sim | sim | sim | N / D | sim | N / D | sim | sim | sim | sim | sim | sim | sim |
Veja também
- Lista de estruturas ricas de aplicativos da web
- Estrutura de aplicativos baseados na web para vários telefones
- Framework Quasar
- Suite RhoMobile
- Cocos2d
- WinJS
- NativeScript
- Xamarin
- Flutter
- Appcelerator Titanium
Referências
Bibliografia
- Pelletier, Jeff (25 de abril de 2013). Manual do aplicativo móvel: The Blueprint (1ª ed.). Withinsight Publishing. p. 96. ISBN 978-0989072106.
- Shotts, Kerri (26 de fevereiro de 2013). PhoneGap 2.x Mobile Application Development Hotshot (1ª ed.). Publicação de pacote . p. 388. ISBN 978-1849519403.
- Gifford, Matt (22 de outubro de 2012). Livro de receitas de desenvolvimento de aplicativos móveis PhoneGap (1ª ed.). Publicação de pacote . p. 320. ISBN 978-1849518581.
- M. Wargo, John (11 de junho de 2012). PhoneGap Essentials: Construindo Aplicativos Móveis Multiplataforma (1ª ed.). Addison-Wesley Professional . p. 384. ISBN 978-0321814296. Arquivado do original em 3 de abril de 2015 . Recuperado em 29 de junho de 2012 .
- Munro, Jamie (29 de março de 2012). 20 Receitas para Programação do PhoneGap: Desenvolvimento Móvel Multiplataforma para Android e iPhone (1ª ed.). O'Reilly Media . p. 76. ISBN 978-1-4493-1954-0.
- Marinacci, Joshua (21 de março de 2012). Construindo Aplicativos Móveis com Java: Usando o Google Web Toolkit e PhoneGap (1ª ed.). O'Reilly Media . p. 86. ISBN 978-1-4493-0823-0.
- Lunny, Andrew (23 de setembro de 2011). Guia do iniciante do PhoneGap (1ª ed.). Publicação de pacote . p. 328. ISBN 978-1-84951-536-8.
- Ghatol, Rohit (14 de novembro de 2011). Começando PhoneGap: Mobile Web Framework para JavaScript e HTML5 (1ª ed.). Apress . p. 700. ISBN 978-1-4302-3903-1.
- Myer, Thomas (13 de dezembro de 2011). Começando PhoneGap (1ª ed.). Wrox . p. 336. ISBN 978-1-118-15665-0. Arquivado do original em 4 de junho de 2015 . Recuperado em 10 de outubro de 2011 .