PhoneGap, framework OpenSource adquirido recientemente por Adobe, nos permite crear aplicaciones en un código estándar HTML 5 capaz de ser ejecutado nativamente en los diferentes sistemas operativos móviles del mercado. PhoneGap cubre el diseño de interfaces de usuario mediante HTML y CSS, a la vez que encapsula las características nativas de los terminales móviles haciéndolas accesibles por JavaScript. Por ejemplo, mediante una única función JavaScript podremos acceder a las cámaras incorporadas en cualquier terminal android, iphone, Windows Phone u otras plataformas. La filosofía de este interesante producto es unificar los desarrollos para los distintos terminales móviles, abstrayendo al desarrollador de la programación nativa específica para cada uno de ellos. La siguiente imagen resume bastante bien esta metodología de trabajo de PhoneGap:
PhoneGap permite controlar los siguientes elementos de hardware incluidos en la mayoría de dispositivos móviles (smartphone):
API |
Descripción |
Accelerometer |
Lecturas del sensor de movimiento |
Camera |
Capturar imagines a través de la cámara de fotos. |
Compass |
Obtener la dirección en la que apunta el dispositivo. |
Contacts |
Gestión de contactos. |
Device |
Información específica del dispositivo. |
Events |
Capturar eventos nativos. |
File |
Gestor de ficheros. |
Geolocation |
Servicios de localización. |
Media |
Control multimedia de video y audio. |
Network |
Comprobaciones del estado de la conexión a la red. |
Notification |
Gestión de notificaciones a nivel de sonidos y vibraciones. |
Storage |
Control de almacenamiento. |
Esta herramienta resulta especialmente beneficiosa para los siguientes actores:
A continuación probaremos en pocos pasos este framework, construyendo una aplicación Android para después aprovechar el servicio on-line “PhoneGap Build” que nos brinda Adobe y empaquetar la aplicación para dispositivos iPhone, BlackBerri, Symbia y WebOs.
Para desarrollar con PhoneGap se pueden elegir cualquiera de los entornos de desarrollo de las propias plataformas soportadas. En nuestro caso, como interesados en Android, elegiremos una instalación estándar de Eclipse junto con el plugin ADT y la SDK. Puede consultar la configuración del entorno recomendada por Android en la siguiente dirección: http://developer.android.com/sdk/eclipse-adt.html.
El siguiente paso será descargamos la última versión de PhoneGap, actualmente la 1.4.1, a través de la siguiente URL: https://github.com/callback/phonegap/zipball/1.4.1. Del archivo descargado, la parte que nos interesa es la que a Android se refiere:
Dentro de la carpeta Android nos encontramos con los siguientes elementos:
Para importar el proyecto de ejemplo haremos lo siguiente:
Llegados a este punto nuestro eclipse debería de tener un aspecto similar al siguiente:
Tal y como hemos mencionado anteriormente, si editamos la actividad (PhoneGapExample) veremos que extiende de la clase DroidGap. Otro aspecto interesante de esta clase, es que hace referencia al fichero HTML donde realmente se encuentra la aplicación diseñada con PhoneGap:
super.loadUrl("file:///android_asset/www/index.html");
Si abrimos el fichero index.html nos encontraremos con un diseño HTML normal y corriente, donde en la parte superior se importan dos javascript:
<script charset="utf-8" src="phonegap-1.4.1.js"></script>
<script charset="utf-8" src="main.js"></script>
Si abrimos el fichero main.js encontraremos las funciones JavaScript que utiliza la aplicación para la demo. Por ejemplo, podemos ver funciones para leer las posiciones GPS, control de sensores, visualización de contactos… Aunque tal vez la mejor forma de entender este código sea consultando las referencias JavaScript de la documentación de PhoneGap: http://docs.phonegap.com.
Al ejecutar el proyecto de ejemplo veremos la siguiente pantalla:
Una vez que tenemos creada la aplicación, será el momento de empaquetarla y distribuirla en todas las plataformas soportadas. Para ello, usaremos el servicio PhoneGap Build, en el que nos habremos registrado anteriormente. Se trata de un servicio de pago, pero los desarrolladores tendrán una opción gratuita para generar una aplicación:
Si nuestro objetivo es que la aplicación sea debidamente empaquetada para las diferentes plataformas, debemos de proporcionar nuestro código fuente al servicio PhoneGap Build. Para ello tenemos dos opciones:
Cuando pulsemos sobre el botón crear, la aplicación comenzará a compilarse, cuando termine este proceso, nuestra aplicación ya estará disponible para descargar e instalar en los diferentes dispositivos:
Tal y como vemos en la imagen anterior, parece que para el iOS necesitamos un fichero de claves que podremos obtener desde el entorno de desarrollo de aplicaciones para este tipo de dispositivos. PhoneGap Build incorpora una serie de herramientas que cualquiera que esté interesado en este tipo de desarrollos le conviene investigar, por ejemplo existe la posibilidad de publicar directamente en los diferentes “Markets” de aplicaciones o una interesante interfaz de depuración de nuestros programas.
Finalmente, si nos descargamos e instalamos las aplicaciones en sus correspondientes dispositivos, la vista del aplicativo de ejemplo debería ser muy similar en todos ellos:
|
|
|
Agradecer a Euro-Help Consulting el interés mostrado y la información proporcionada para elaborar este artículo.