Recientemente estalló la noticia de que los programadores de PHP ya tenían la posibilidad de crear aplicaciones para android. Esto se vendió como una gran novedad, sin embargo, usa tecnologías que ya existían para llevar esto a cabo. El títular de la noticia debería ser algo así como: Zend Studio permitirá el despliegue de aplicaciones cloud para dispositivos móviles, porque esto es realmente lo que significa. Voy a ver si consigo explicaros, muy por encima, como funcionan las aplicaciones en PHP para Android.
Hasta ahora, la mayoría de aplicaciones para Android venían desarrollándose en Java, aunque muchos proyectos que intentan cambiar esto. Dos de ellos fueron Phonegap y Cordova, aunque podíamos hablar de ellos como si fuese uno solo.
Cordova es un proyecto de la Apache Foundation que ofrecía una API para acceder a los distintos dispositivos de un terminal móvil como pueden ser la cámara, el acelerómetro, el gps, etcétera. Cordova terminó por absorber a Phonegap, que ofrecía servicios para crear aplicaciones móbiles multiplataforma con HTML + CSS + Javascript.
En una aplicación que desarrollásemos con Cordova ya podíamos utilizar un webservice hecho en PHP, entonces, ¿qué ha cambiado? Pues nada, o casi nada, realmente. La noticia fue que Zend creó una manera de desplegar lo que ellos llaman «aplicaciones cloud para móbiles» a través de su Zend Studio.
El Zend Studio, lo que hace en el caso de que queramos utilizar una de estas aplicaciones como nuevo proyecto, es crear dos proyectos paralelos: un proyecto (Webservice) en la nube y otro para nuestro dispositivo.
El servicio de la Nube podrá alojarse donde queramos o en un alojamiento que tiene dedicado Zend para esto llamado Zend Cloud Solutions.
La parte del dispositivo se guardará en el propio dispositivo y el Zend Studio nos ofrecerá una GUI (al más puro estilo WYSIWYG) para crear la interfaz de nuestra aplicación.
Con esto, será posible crear aplicaciones que utilicen servicios Web, ¿será posible crear aplicaciones que se puedan usar offline?, supongo que de alguna manera, pero esto no me ha quedado muy claro.
De todas formas aquí tenéis un pequeño diagrama sacado de la documentación oficial de Zend para el Cloud Connected Mobile:
Una imagen vale más que mil palabras y si es un diagrama, mil más, ¿verdad?
En fin, el caso es que Zend ha hecho un trabajo enorme en facilitarnos el despliegue de aplicaciones en Cordova para Android, pero lo que en un titular podía parecer una novedad es algo que, realmente, ya se estaba usando desde hace mucho tiempo. Algunos escépticos dirán que esta tecnología no es interesante o está verde para aplicaciones «serias», pero ¿sabíais que la aplicación de la Wikipedia ya lo estába usando?, ¿cómo se os queda el cuerpo?
Espero que con esto os haya aclarado a alguno como funciona esto del PHP en Android y que pinta el Zend Studio en todo esto. Tened en cuenta que el Zend studio, aparte de facilitarnos la vida, tiene muchas más ventajas (cómo la creación de túneles SSH con el servidor que aloja el código de nuestra webservice para utilizar el modo de debug). Si tenéis ganas de más os voy a ofrecer este video, donde el señor Kent Mitchell (director senior de desarrollo de producto en Zend) nos demuestra como crear una aplicación PHP en 10 minutos.
¡Espero que os haya sido útil!
Fuentes no mencionadas anteriormente: