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. [5] 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 . [6] Permite la envoltura de código CSS, HTML y JavaScript según la plataforma del dispositivo. Amplía las características 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 puramente basadas en la Web. No son nativas 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 API nativas del dispositivo. Mezclar fragmentos de código nativos e híbridos es posible desde la versión 1.9.
Anteriormente, el software se llamaba simplemente "PhoneGap" y luego "Apache Callback". [7] [8]
PhoneGap fue la versión comercial de Adobe de Cordova junto con su ecosistema asociado. Muchas otras herramientas y marcos también se construyeron sobre Cordova, incluidos Ionic , [9] Monaca , VoltBuilder, TACO, Onsen UI, GapDebug, App Builder, Cocoon, Framework7, Quasar Framework , Evothings Studio, NSB/AppStudio, Mobiscroll y Telerik Platform . [10] Estas herramientas usan Cordova y no PhoneGap para sus herramientas principales.
Entre los colaboradores del proyecto Apache Cordova se incluyen Adobe , BlackBerry , Google , IBM , Intel , Microsoft , Mozilla y otros. [11]
PhoneGap fue desarrollado por primera vez por Nitobi Software en un evento iPhoneDevCamp en San Francisco en agosto de 2008. [12] 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 para desarrolladores del SDK de Apple iPhone 4.0 adoptado en 2010. El marco PhoneGap es utilizado por varias plataformas de aplicaciones móviles como Monaca, appMobi, Convertigo, ViziApps y Worklight como la columna vertebral de su motor de desarrollo de clientes móviles. [ cita requerida ]
Adobe adquirió Nitobi Software el 3 de octubre de 2011. [13] El código de PhoneGap fue posteriormente aportado a la Apache Software Foundation para iniciar un nuevo proyecto llamado Apache Cordova. [14] El nombre original del proyecto, Apache Callback, [15] fue visto como demasiado genérico. [ cita requerida ] También aparece en Adobe Systems como Adobe PhoneGap y también como Adobe PhoneGap Build . [ cita requerida ]
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 todas las plataformas compatibles. Este servicio se suspendió en 2020. [ cita requerida ]
El núcleo de una aplicación Apache Cordova utiliza CSS3 y HTML5 para la representación y JavaScript para la 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 basado en HTML5 no es uniforme en todos los navegadores móviles, en particular en las versiones anteriores de Android. Para superar estas limitaciones, Apache Cordova integra 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. [16]
Apache Cordova se puede ampliar con complementos nativos, lo que permite a los desarrolladores agregar más funcionalidades que se pueden llamar desde JavaScript, lo que permite la comunicación directa entre la capa nativa y la página HTML5. Estos complementos permiten acceder 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 la Web hace que algunas aplicaciones Apache Cordova se ejecuten más lentamente que las aplicaciones nativas con funcionalidad similar. [17]
A partir de la versión 11, 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 ). [18] La versión anterior de Apache Cordova solía admitir Bada , BlackBerry , Firefox OS , [19] [20] LG webOS , Microsoft Windows Phone (7 y 8), macOS , Nokia Symbian OS, Tizen (SDK 2.x) y Ubuntu Touch . [21] [22]
{{cite web}}
: Falta o está vacío |title=
( ayuda )Sin embargo, HTML5 tiene algunas limitaciones. La más importante es la falta de una API para acceder al hardware del dispositivo y a sensores como el acelerómetro, la brújula, el GPS, etc. Si bien las aplicaciones nativas pueden acceder al hardware del dispositivo, carecen de la portabilidad que ofrecen las aplicaciones web. Por lo tanto, una solución es codificar una aplicación híbrida, que utilice de forma acumulativa los beneficios de las aplicaciones nativas y web.