El viernes pasado recibi mi invitación para participar en la beta de AppInventor, un programa para crear aplicaciones para Android sin necesidad de escribir código, si nunca lo han escuchado o desean ver una introducción, pueden chequear el siguiente vídeo:

Para comenzar a usarlo, se debe iniciar sesión con la cuenta de google y descargar un instalador, revisándolo por encima, trae un emulador de un móvil con Android, un depurador de código y parte del SDK de Android. El instalador pesa casi 60MB y está disponible para Windows, GNU/Linux y MacOS.

Pantalla principal de AppInventor

Pantalla principal de AppInventor

Una vez instalado no pude encontrar el ejecutable para iniciar la aplicación, pero al buscar información en la página, me di cuenta que es una aplicación web hecha en HTML5/Javascript (estos de Google se estan tomando en serio la computación en la nube), la misma, contiene a la izquierda un menu con una serie de componentes para usar en la interfaz de la aplicación, en el medio la ventana de la pantalla telefóno y a la derecha las propiedades del componente y un navegador de componentes usados. Esta interfaz es sencilla, igual a los IDEs existentes por lo que para los desarrolladores no será problema el uso de AppInventor, los componentes simplemente se arrastran a la pantalla del teléfono y con doble click vamos editando las propiedades.

Esta parte es sólo la vista de la aplicación (como el modelo MVC) por lo que para agregar eventos y definir las acciones a ejecutar cuando el usuario interactúa con estos componentes, utilizamos la vista de bloques, accesible por un botón en la parte superior derecha. Al hacer click allí, se abre una aplicación Java Web Start (se vé el gran uso de Java en Android por parte de Google) donde pasarmos a la vista de asignación de eventos y acciones (como el controlador segun MVC), lo interesante, es que podemos asignar eventos y acciones a través de bloques parecidos a las piezas de un rompecabeza, uniendo los bloques podremos realizar el programa deseado sin escribir una línea de código. El famoso Hola Mundo, lo hice en menos de 5 minutos sin leer manuales, usando 3 bloques como se ve en la siguiente imagen:

Bloques de acciones en AppInventor

Bloques de acciones en AppInventor

Luego podemos ver los resultados en nuestro teléfono Android o usando el emulador, generar el paquete y distribuirlo. No he leído, pero creo que por ahora no hay mucha interacción con el Market y no se como es la licencia para el uso de esta aplicación.

Me gustó como se trabaja con esta herramienta y permite desarrollar cosas sencillas en pocos pasos (obviamente cosas complejas requiere escribir código), además permite a personas ajenas a la programación, realizar aplicaciones sencillas para si mismas. Google está haciendo un buen trabajo con esto y me llamó la atención que todo fuese bajo web, muchos no nos imaginaríamos hace unos años la posibilidad de crear aplicaciones desde el navegador.

Hoy salió a la luz una noticia importante para todos aquellos desarrolladores de PHP, pues Facebook acaba de mostrar su entorno de ejecución de PHP con el fin de optimizar hasta un 50% o más (dependiendo de los casos) la ejecución de scripts en este lenguaje. Tal vez le parezca un poco de optimización pero cuando eres una empresa grande como Facebook que cuenta con 50000 servidores aproximadamente y sirve a 300000000 de usuarios, un 50% mas de rendimiento por el mismo hardware, es bastaste.

Lo que hizo esta gente es crear un traductor de PHP a C++, donde luego se compila a lenguaje de máquina utilizando G++ (el compilador GNU de C++), permitiendo «migrar» aplicaciones PHP a lenguaje de máquina y ejecutarse con mayor velocidad, obviamente se pierde las voluntades del lenguaje dinámico e interpretado  junto a la eliminacion de algunos comandos que no se pueden adaptar a C++, como el caso de eval() que evalúa código PHP en tiempo de ejecución, el uso de $$ y otras funciones mas.

En el screencast del lanzamiento su creador comentó que este proyecto no busca sustuir el entorno de ejecución de PHP ni hacer que la gente compile todo a C++, sino que en ambientes de alta demanda, utilizar PHP con servidores web tradicionales en el momento de desarrollo y luego cuando se esté listo para producción compilarlo en C++ y obtener mayor rendimiento.

Cabe destacar que HipHop PHP también es un servidor web para servir estas páginas generadas y que se esta trabajando en un interprete para PHP, sin embargo es muy temprano para dar opiniones ya que apenas hoy se hizo el anuncio y liberación del codigo en Github , esperemos a ver que ofrece el futuro del proyecto de código abierto.

Mas informacion: https://developers.facebook.com/blog/post/2010/02/02/hiphop-for-php–move-fast/