Entradas con el tag ‘PhoneGap’

PhoneGap/Cordova: desarrollo de aplicaciones móviles multiplataforma

martes 8 de julio de 2014

Apache_Cordova1

 

Con toda seguridad el requisito más importante de VisualDomo sea la necesidad de que corra en varias plataformas móviles sin ser necesario la creación desde cero de una nueva aplicación. La clave está en el uso de PhoneGap/Cordova.

¿Qué es PhoneGap?

De manera resumida, PhoneGap es un framework para la creación de aplicaciones móviles multiplataforma. Es decir su objetivo es crear un único código y que este pueda funcionar en distintas plataformas móviles como iOS, Android, Blackberry, FirefoxOS, Windows Phone… Suena bien, ¿verdad?

En general para conseguir un objetivo así, la idea es crear aplicaciones web con HTML5, CSS3 y javascript que corran sobre un navegador. Evidentemente este método proporciona multiplataforma, pero por contra hace las aplicaciones más lentas (necesitan al navegador entre ellas y el SO) y, por motivos obvios de seguridad, limita el acceso a varios recursos como la cámara, el acelerómetro, etc.

Para solucionar en parte este problema PhoneGap permite la creación de aplicaciones híbridas, es decir, añadir ciertos componentes (que llama plugins) que conectan de manera nativa con esos recursos. Lógicamente esto hace que la aplicación pierda la posibilidad de ser multiplataforma, pero la manera de migrar a otras plataformas queda únicamente reducida a crear los plugins en ellas. Estos accesos se desarrollan en javascript, que si permite la llamada a código nativo (ya sea Java, C, C++…)

De esta manera una aplicación desarrollada con PhoneGap no es una simple página web, sino que que es una aplicación nativa (un apk si hablamos en sistemas Android) que en su interior lleva un componente visualizador Web (WebView), las páginas web creadas y los plugins de acceso a los recursos.

Por otra parte, para entender el concepto de framework podemos relacionarlo con Java o .NET. Este concepto incluye herramientas que ayudan al proceso de compilación, API’s, etc. y que generalmente se ejecutan sobre una máquina virtual. En este caso podríamos hacer la relación de máquina virtual/webView. Para entenderlo mejor podemos ver el esquema de bloques de una aplicación PhoneGap.

Esquema phonegap

El bloque UI framework no es necesario. Obviamente podemos desarrollar las aplicaciones desde cero con CSS3 y Javascript, pero es obvio que si ya hay diferencias entre distintos navegadores más las puede haber ahora que entra además el factor plataforma. Es por ello que resulta muy interesante el uso de algún tipo de librería como JQuery mobile que ayude de a la creación sencilla del interfaz.

Por último queda otro pequeña confusión a aclarar: ¿qué es Apache Cordova y que tiene que ver con PhoneGap? Durante todo el post he hablado de PhoneGap, pero realmente tendría que haberlo hecho de Apache Cordova. PhoneGap fue desarrollado por Nitobi, empresa que al poco tiempo fue comprada por Adobe. Adobe ha cedido la licencia a la Fundación Apache para liberar el código y asegurar que ese tipo de licencia se mantenga. De esta manera el producto pasó a denominarse Apache Cordova y PhoneGap a ser una distribución del él. No puedo asegurarlo, pero la única diferencia es el servicio de compilación en la nube que PhoneGap ofrece.

Un nuevo proyecto: VisualDomo

viernes 13 de junio de 2014

logoODS

Tras unos meses de sequía por compromisos varios, en los próximos meses voy a desarrollar un nuevo proyecto: VisualDomo,una aplicación para dispositivos móviles que permite el control de manera visual de dispositivos ODControl.

ODControl es un controlador con posibilidad de conexión IP desarrollado por la empresa OpenDomo Services S.L.. Este controlador permite actuar sobre diferentes dispositivos electrónicos gracias a varios puertos tanto de tipo analógico como digital, lo que lo hace muy adecuado para el control de instalaciones domóticas.

El objetivo del proyecto es facilitar al usuario el manejo de su instalación domótica, permitiendo definir su localización mediante la carga de planos y controlar cada uno de los aparatos conectados a los puertos de manera sencilla.

Las propia idiosincracia del proyecto implica la posibilidad de abarcar el mayor número posible de dispositivos móviles existentes, no únicamente por configuración física (tabletas o móviles) sino también por la variedad de plataformas existentes. Además los productos OpenDomo están en constante evolución, lo que hace complicado el mantenimiento de varias aplicaciones. Por todo ello se ha decidido utilizar para el desarrollo el framework PhoneGap/Cordova, que permite mediante tecnologías web (HTML5+JS+CSS3) crear un único código fácilmente compilable en distintas plataformas.

Además de su valor empresarial, el proyecto también tiene carácter académico y educativo ya que se presenta como Trabajo Final del Master Universitario de Software Libre, impartido por la Universitat Oberta de Catalunya (UOC).

La idea es  crear durante estos meses una serie de posts que hablen sobre el proceso de creación, centrándome especialmente en la parte técnica.

+Info: opendomo
+Info: ODControl
+Info: cordova
+info: Univesitat Oberta de Catalunya