Apache Cordova (anteriormente PhoneGap ) es un marco de desarrollo de aplicaciones móviles creado por Nitobi . Adobe Systems compró Nitobi en 2011, lo renombró como PhoneGap y luego lanzó una versión de código abierto del software llamada Apache Cordova. [7] Apache Cordova permite a los programadores de software crear aplicaciones web híbridas para dispositivos móviles utilizando CSS3 , HTML5 y JavaScript , en lugar de depender de API específicas de la plataforma como las de Android , iOS o Windows Phone.. [8] Permite agrupar el código CSS, HTML y JavaScript según la plataforma del dispositivo. Amplía las funciones de HTML y JavaScript para que funcionen con el dispositivo. Las aplicaciones resultantes son híbridas, lo que significa que no son aplicaciones móviles verdaderamente nativas ni están basadas puramente en la Web. No son nativos porque toda la representación del diseño se realiza a través de vistas web en lugar del marco de interfaz de usuario nativo de la plataforma. No son aplicaciones web porque están empaquetadas como aplicaciones para su distribución y tienen acceso a las API de dispositivos nativos. La combinación de fragmentos de código híbridos y nativos es posible desde la versión 1.9.
Autor (es) original (es) | Joe Bowser, Michael Brooks, Rob Ellis, Dave Johnson, Anis Kadri, Brian Leroux, Jesse MacFadyen, Filip Maj, Eric Oesterle, Brock Whitten, Herman Wong, Shazron Abdullah |
---|---|
Versión inicial | 2009 |
Lanzamiento estable | |
Escrito en | C # , C ++ , CSS , HTML , Java , JavaScript y Objective-C |
Plataforma | Android iOS , macOS Windows (8.1, 10, Phone 8.1) Electron [4] |
Disponible en | inglés |
Tipo | Marco de desarrollo móvil |
Licencia | Licencia de Apache 2.0 [5] [6] |
Sitio web | cordova |
Anteriormente, el software se llamaba simplemente "PhoneGap", luego "Apache Callback". [9] [10]
PhoneGap era la versión comercial de Adobe de Cordova junto con su ecosistema asociado. Muchas otras herramientas y marcos también se construyen sobre Cordova, incluidos Ionic , [11] Monaca , VoltBuilder , TACO, Onsen UI, Visual Studio, GapDebug, App Builder, Cocoon, Framework7 , Quasar Framework , Evothings Studio, NSB / AppStudio, Mobiscroll y Telerik Platform . [12] Estas herramientas utilizan Cordova y no PhoneGap para sus herramientas principales.
Los colaboradores del proyecto Apache Cordova incluyen Adobe , BlackBerry , Google , IBM , Intel , Microsoft , Mozilla y otros. [13]
Historia
Desarrollado por primera vez en un evento iPhoneDevCamp en San Francisco, [14] PhoneGap ganó el premio People's Choice Award en la Conferencia Web 2.0 de O'Reilly Media en 2009, [15] y el marco se ha utilizado para desarrollar muchas aplicaciones. [16] Apple Inc. ha confirmado que el marco tiene su aprobación, incluso con el cambio a la cláusula 3.3.1 del acuerdo de licencia de desarrollador 4.0 del SDK de Apple iPhone adoptado en 2010. [17] El marco PhoneGap es utilizado por varias plataformas de aplicaciones móviles como Monaca , [18] appMobi , [19] Convertigo, [20] [21] ViziApps , [22] y Worklight [23] [24] como la columna vertebral de su motor de desarrollo de clientes móviles.
Adobe anunció oficialmente la adquisición de Nitobi Software (el desarrollador original) el 4 de octubre de 2011. [25] Coincidiendo con eso, el código PhoneGap se contribuyó a la Apache Software Foundation para iniciar un nuevo proyecto llamado Apache Cordova. El nombre original del proyecto, Apache Callback, se consideró demasiado genérico. [26] Luego, también aparece en Adobe Systems como Adobe PhoneGap y también como Adobe PhoneGap Build . [27] El Blog de Phonegap muestra más detalles, por qué finalmente se eligió el nombre "Cordova". Dice: "Si bien las historias de génesis de PhoneGap a menudo varían según el cajero, la mayoría de los comprometidos pueden estar de acuerdo en que el proyecto nació en Nitobi, cuando la oficina estaba en Cordova Street en Vancouver". [28] [29]
Las primeras versiones de PhoneGap requerían una computadora Apple para crear aplicaciones iOS y una computadora Windows para crear aplicaciones Windows Mobile. Después de septiembre de 2012, el servicio PhoneGap Build de Adobe permite a los programadores cargar código fuente CSS , HTML y JavaScript en un " compilador en la nube " que genera aplicaciones para cada plataforma compatible. [30]
Diseño y justificación
El núcleo de una aplicación de Apache Cordova utiliza CSS3 y HTML5 para renderizar y JavaScript para lógica. HTML5 proporciona acceso al hardware subyacente, como el acelerómetro, la cámara y el GPS . Sin embargo, la compatibilidad de los navegadores con el acceso a dispositivos basados en HTML5 no es coherente entre los navegadores móviles, en particular las versiones anteriores de Android. Para superar estas limitaciones, Apache Cordova incrusta el código HTML5 dentro de un WebView nativo en el dispositivo, utilizando una interfaz de función externa para acceder a los recursos nativos del mismo. [31]
Apache Cordova se puede ampliar con complementos nativos, lo que permite a los desarrolladores agregar más funcionalidades a las que se puede llamar desde JavaScript, lo que hace que se comunique directamente entre la capa nativa y la página HTML5. Estos complementos permiten el acceso al acelerómetro, la cámara, la brújula, el sistema de archivos, el micrófono y más del dispositivo.
Sin embargo, el uso de tecnologías basadas en Web hace que algunas aplicaciones de Apache Cordova se ejecuten más lentamente que las aplicaciones nativas con una funcionalidad similar. [32] Adobe Systems advierte que las aplicaciones creadas con Apache Cordova pueden ser rechazadas por Apple por ser demasiado lentas o no sentirse lo suficientemente "nativas" (tener apariencia y funcionalidad consistentes con lo que los usuarios esperan de la plataforma). [33] [34]
Plataformas compatibles
A partir de la versión 9, Apache Cordova actualmente admite el desarrollo para los sistemas operativos Apple iOS , Google Android , Windows 8.1 , Windows Phone 8.1 , Windows 10 y Electron (marco de software) (que a su vez se ejecuta en Windows , Linux y macOS ). La versión anterior de Apache Cordova era compatible con Bada , BlackBerry , Firefox OS , [35] [36] LG webOS , Microsoft Windows Phone (7 y 8), Nokia Symbian OS, Tizen (SDK 2.x) y Ubuntu Touch . La siguiente tabla es una lista de funciones compatibles para cada sistema operativo para Adobe PhoneGap / Apache Cordova 3. [37] [38]
Característica | Android [39] | IPhone de Apple / iPhone 3G | Apple iPhone 3GS y más reciente | Bada | BlackBerry 10 y PlayBook OS | BlackBerry OS 4.6–4.7 | BlackBerry OS 5.0-6.0 + | Firefox OS | Symbian | Tizen | webOS | Ubuntu Touch | Telefono windows |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Acelerómetro | sí | sí | sí | sí | sí | N / A | sí | sí | sí | sí | sí | sí | sí |
Cámara | sí | sí | sí | sí | sí | N / A | sí | sí | sí | sí | sí | sí | sí |
Brújula | sí | N / A | sí | sí | sí | N / A | N / A | sí | N / A | sí | sí | sí | sí |
Contactos | sí | sí | sí | sí | sí | N / A | sí | sí | sí | sí | N / A | N / A | sí |
Archivo | sí | sí | sí | N / A | sí | N / A | sí | N / A | N / A | sí | N / A | sí | sí |
Geolocalización | sí | sí | sí | sí | sí | sí | sí | sí | sí | sí | sí | sí | sí |
Medios de comunicación | sí | sí | sí | N / A | sí | N / A | N / A | N / A | N / A | sí | N / A | sí | sí |
La red | sí | sí | sí | sí | sí | sí | sí | sí | sí | sí | sí | sí | sí |
Notificación (alerta, sonido, vibración) | sí | sí | sí | sí | sí | sí | sí | sí | sí | sí | sí | sí | sí |
Almacenamiento | sí | sí | sí | N / A | sí | N / A | sí | sí | sí | sí | sí | sí | sí |
Ver también
- Lista de marcos de aplicaciones web enriquecidos
- Marco de aplicaciones basado en web para múltiples teléfonos
- Marco de Quasar
- Suite RhoMobile
- Cocos2d
- WinJS
- NativeScript
- Xamarin
- Aleteo
- Appcelerator titanio
Referencias
- ^ "apache / cordova-cli" . GitHub .
- ^ "Córdoba" . npm .
- ^ "Cordova-CLI 9.0.0 lanzado" . cordova.apache.org . Archivado desde el original el 17 de abril de 2019 . Consultado el 17 de abril de 2019 .
- ^ "Soporte Cordova por plataforma - Apache Cordova" . cordova.apache.org .
- ^ "Licencia PhoneGap" . Phonegap.com . Consultado el 9 de octubre de 2013 .
- ^ "Preguntas frecuentes | Construcción de PhoneGap | Herramientas y servicios de Edge | Adobe y HTML" . Html.adobe.com . Consultado el 9 de octubre de 2013 .
- ^ "Adobe anuncia acuerdo para adquirir Nitobi, creador de PhoneGap" . Adobe.com. 2011-10-03. Archivado desde el original el 13 de abril de 2012 . Consultado el 7 de abril de 2012 .
- ^ Jose Fermoso (5 de abril de 2009). "PhoneGap busca cerrar la brecha entre las plataformas de aplicaciones móviles" . GigaOM . Consultado el 7 de abril de 2012 .
- ^ Comunidad, Tiki. "Apache Callback - Tiki Wiki CMS Groupware :: Desarrollo" . Tiki Wiki CMS Groupware :: Desarrollo . Archivado desde el original el 4 de abril de 2018 . Consultado el 3 de abril de 2018 .
- ^ "Propuesta de devolución de llamada de Apache" . Wiki.phonegap.com. 2013-08-15 . Consultado el 9 de octubre de 2013 .
- ^ "La última palabra sobre Córdoba y PhoneGap" . El blog oficial de Ionic .
- ^ "Apache Cordova" . Apache Cordova .
- ^ "Quién es quién del colaborador de Córdoba" . apache.org. 2015-11-02. Archivado desde el original el 16 de julio de 2015 . Consultado el 2 de noviembre de 2015 .
- ^ Darryl K. Taft (13 de marzo de 2009). "PhoneGap simplifica el desarrollo de iPhone, Android, BlackBerry" . Eweek.com . Consultado el 9 de octubre de 2013 .
- ^ Davis, Lidija (2 de abril de 2009). "PhoneGap: ganador de People's Choice en Web 2.0 Expo Launch Pad" . Readwriteweb.com . Consultado el 7 de abril de 2012 .
- ^ "Aplicaciones PhoneGap" . Phonegap.com . Consultado el 6 de diciembre de 2012 .
- ^ "PhoneGap y el acuerdo de licencia de desarrollador de Apple.« PhoneGap " . Phonegap.com. 2010-04-14. Archivado desde el original el 15 de abril de 2012 . Consultado el 7 de abril de 2012 .
- ^ "Desarrollar aplicaciones de PhoneGap impresionantes con herramientas impresionantes" . monaco.mobi. Archivado desde el original el 20 de junio de 2014 . Consultado el 10 de junio de 2014 .
- ^ "Crear aplicaciones web y móviles con HTML5 y JavaScript |" . appMobi.com . Consultado el 7 de abril de 2012 .
- ^ "Habilitación móvil de código abierto y mashups empresariales" . Convertigo . Consultado el 7 de abril de 2012 .
- ^ "Convertigo Mobilizer utiliza PhoneGap Build APIs« PhoneGap " . Phonegap.com. 2011-07-07. Archivado desde el original el 13 de mayo de 2012 . Consultado el 7 de abril de 2012 .
- ^ "Crear aplicaciones web y móviles con HTML5 y JavaScript" . ViziApps.com . Consultado el 7 de abril de 2012 .
- ^ "Plataformas y herramientas de aplicaciones móviles" . Luz de trabajo. 2012-01-16. Archivado desde el original el 19 de abril de 2012 . Consultado el 7 de abril de 2012 .
- ^ "Cómo PhoneGap juega un papel importante en nuestra oferta empresarial PhoneGap" . Phonegap.com. 2011-06-27. Archivado desde el original el 15 de abril de 2012 . Consultado el 7 de abril de 2012 .
- ^ Shankland, Stephen (3 de octubre de 2011). "Adobe compra PhoneGap, TypeKit para mejores herramientas web | Deep Tech - CNET News" . News.cnet.com . Consultado el 7 de abril de 2012 .
- ^ "encontrar un nuevo nombre que no sea PhoneGap - Brian LeRoux - org.apache.incubator.callback-dev" . MarkMail. 2011-10-28 . Consultado el 7 de abril de 2012 .
- ^ "Compilación de Adobe PhoneGap" . Adobe Systems Inc.
- ^ Equipo, PhoneGap (2017-02-16). "PhoneGap, Cordova, ¿y qué hay en un nombre?" . Medio . Consultado el 10 de noviembre de 2019 .
- ^ "Nitobi en Vancouver, BC" . www.fyple.ca . Consultado el 10 de noviembre de 2019 .
- ^ Klint Finley. "Adobe lanza el servicio de compilación de PhoneGap alojado para crear aplicaciones móviles multiplataforma" . 2012.
- ^ "El desarrollo de aplicaciones móviles utilizando HTML5 y PhoneGap en plataformas basadas en la arquitectura Intel" . 2012-06-22 . Consultado el 17 de febrero de 2013 .
Sin embargo, HTML5 tiene algunas limitaciones. Lo más destacado es la falta de API para acceder al hardware y sensores del dispositivo, como acelerómetro, brújula, GPS, etc. Si bien las aplicaciones nativas pueden acceder al hardware del dispositivo, carecen de la portabilidad que brindan las aplicaciones web. Por lo tanto, una solución es codificar una aplicación híbrida, que utiliza acumulativamente los beneficios de las aplicaciones nativas y web.
- ^ Sapan Diwakar (21 de junio de 2012). "Titanium vs Phonegap vs Desarrollo de aplicaciones nativas" . Consultado el 17 de febrero de 2013 .
- ^ "Consejos de PhoneGap sobre cómo lidiar con los rechazos de aplicaciones de Apple" . Adobe Systems . 2012-10-29 . Consultado el 17 de febrero de 2013 .
- ^ "Creación de aplicaciones con PhoneGap: lecciones aprendidas" . Adobe Systems . 2012-09-17. Archivado desde el original el 18 de mayo de 2013 . Consultado el 17 de febrero de 2013 .
Sin embargo, cuando agrega elementos CSS3 más complejos, transiciones pesadas y compatibilidad con múltiples dispositivos (como iOS y Android), se da cuenta de que hay algunos pasos que debe seguir para prevenir la caída del cabello.
- ^ "Creación de aplicaciones Cordova para Firefox OS ✩ Mozilla Hacks - el blog del desarrollador web" . 20 de febrero de 2014 . Consultado el 26 de febrero de 2014 .
- ^ "Uso de PhoneGap y Sony Ericsson WebSDK para desarrollar aplicaciones de Android" . Android y yo . Consultado el 7 de abril de 2012 .
- ^ "Soporte de plataforma" . Adobe PhoneGap . Consultado el 23 de febrero de 2016 .
- ^ "Funciones compatibles con PhoneGap" . Phonegap.com . Consultado el 9 de octubre de 2013 .
- ^ "Guía de la plataforma Android - Apache Cordova" . cordova.apache.org . Consultado el 3 de abril de 2018 .
Bibliografía
- Pelletier, Jeff (25 de abril de 2013). Manual de la aplicación móvil: The Blueprint (1ª ed.). Publicación Withinsight. pag. 96. ISBN 978-0989072106.
- Shotts, Kerri (26 de febrero de 2013). PhoneGap 2.x Desarrollo de aplicaciones móviles Hotshot (1ª ed.). Packt Publishing . pag. 388. ISBN 978-1849519403.
- Gifford, Matt (22 de octubre de 2012). Libro de cocina de desarrollo de aplicaciones móviles PhoneGap (1ª ed.). Packt Publishing . pag. 320. ISBN 978-1849518581.
- M. Wargo, John (11 de junio de 2012). PhoneGap Essentials: Creación de aplicaciones móviles multiplataforma (1ª ed.). Addison-Wesley Professional . pag. 384. ISBN 978-0321814296. Archivado desde el original el 3 de abril de 2015 . Consultado el 29 de junio de 2012 .
- Munro, Jamie (29 de marzo de 2012). 20 recetas para programar PhoneGap: desarrollo móvil multiplataforma para Android y iPhone (1ª ed.). O'Reilly Media . pag. 76. ISBN 978-1-4493-1954-0.
- Marinacci, Joshua (21 de marzo de 2012). Creación de aplicaciones móviles con Java: uso de Google Web Toolkit y PhoneGap (1ª ed.). O'Reilly Media . pag. 86. ISBN 978-1-4493-0823-0.
- Lunny, Andrew (23 de septiembre de 2011). Guía para principiantes de PhoneGap (1ª ed.). Packt Publishing . pag. 328. ISBN 978-1-84951-536-8.
- Ghatol, Rohit (14 de noviembre de 2011). Beginning PhoneGap: Mobile Web Framework para JavaScript y HTML5 (1ª ed.). Presione . pag. 700. ISBN 978-1-4302-3903-1.
- Myer, Thomas (13 de diciembre de 2011). Inicio de PhoneGap (1ª ed.). Wrox . pag. 336. ISBN 978-1-118-15665-0. Archivado desde el original el 4 de junio de 2015 . Consultado el 10 de octubre de 2011 .
enlaces externos
- Página web oficial