Introducción

¿Qué es Apache Cordova?

Apache Cordova es un marco para desarrollo móvil de código abierto, el cual nos permite utilizar leguajes web como HTML5, CSS3 y JavaScript en un desarrollo multiplataforma, evitando de este modo el desarrollo en lenguajes nativos como Java en Android.

Las aplicaciones se ejecutan dentro de un encapsulado dependiente de la plataforma indicada y dependen de enlaces estándares a las APIs para poder tener acceso a los sensores de los dispositivos, los datos y el estado de la red.

Apache Cordova es útil:

  • Para extender una aplicación a más de una plataforma, sin tener que volver a implementarla en los lenguajes nativos y las herramientas que dependen de cada plataforma.
  • Si se desea implementar una aplicación que pueda distribuirse en varias app store diferentes y de distintos portales.
  • SI se desean mezclar componentes de la visiualización web con los componentes de una aplicación nativa, teniendo acceso a las API del dispositivo.

Componentes básicos

Las aplicaciones de Apache Cordova se basan en el archivo config.xml, el cual proporciona información sobre la aplicación, especificando los parámetros a los que afecta y como funcionan. Este archivo se adhiere a la especificación de Empaquetado de la aplicación Web o widget de W3C.

La aplicación se implementa como una página web, llamando a index.html por defecto, el cual hace referencia a los archivos CSS, JavaScript, imagenes y cualquier otro recurso que sean necesarios para se ejecute. La aplicación en sí, se ejecuta como una web envuelta en la aplicación nativa que se distribuye a las tiendas de aplicaciones.

Para que la aplicación web pueda interactuar con las diferentes características del dispositivo, como hacen las aplicaciones nativas, se debe de hacer una referencia al archivo cordova.js, el cual es el que proporciona los enlaces a la API.

<script type="text/javascript" src="cordova.js"></script>

La WebView habilitada puede proporcionar la aplicación completa o ser tan solo una componente dentro de una aplicación híbrida más grande, la cual mezcle la vista Web con las componentes de una aplicación nativa, ya que Apache Cordova proporciona un interfaz de plugins para que estos componentes puedan comunicarse entre si.

El WebView Cordova habilitado puede proporcionar la aplicación con su interfaz de usuario completa. También puede ser un componente dentro de una aplicación híbrida más grande, que mezcla la vista Web con componentes de una aplicación nativa. Cordova proporciona una interfaz de plugin para estos componentes con el objetivo de comunicarse con los demás.

Vías de desarrollo

La manera más fácil de configurar una aplicación es ejecutando cordova en la línea de comandos desde una consola. Segun el conjunto de plataformas de destino, se pueden configurar diferentes acciones para el ciclo de desarrollo.

  • La foma más básica consiste en utilizar la línea de comandos para crear un nuevo proyecto que se rellena con la configuración por defecto, y que se encuentra lista para modificar.
  • Para muchas plataformas móviles, se puede utilizar la línea de comandos y configurar los ficheros del proyecto necesarios para compilar en el SDK.
  • Para que funcione es necesario instalar el SDK de la plataforma destino (ver capítulo de Instalación).

En cualquier punto del ciclo de desarrollo, se puede confiar en herramientas específicas para la plataforma SDK, que pueden proporcionar variadas opciones. El entrono SDK es más apropiado si se desea implementar una aplicación híbrida que combina componentes de la aplicación basada en web y nativas.

Soporte de plataformas

A continuación se muestra el conjunto de herramientas de desarrollo y dispositivos API disponibles para cada plataforma móvil:

Imagen  extraida de http://cordova.apache.org