MIT App Inventor: Cómo instalar un servidor de aula (1 de 2)

De todos es sabido que la calidad de las conexiones a internet en los Colegios es «muy limitada». Concretamente, cuando se hace uso de aplicativos «en la nube» como el que nos ocupa, lo normal es que la sensación y ánimo de los chicos vaya desde «lento/insufrible» a «estoy perdiendo el tiempo». Mientras esperamos la ansiada y prometida «fibra óptica» se nos ha ocurrido traernos la aplicación «a casa»: es decir, ejecutándolo offline desde nuestro ordenador.

Local-Server

Ya existen soluciones empaquetadas que facilitan el proceso, pero las que hemos buscado y probado o están «desactualizadas» o no terminan de funcionar bien. En esta primera entrega comentaremos cómo crear nuestra propia solución y que esté «a la última».

¿Dónde lo pongo?

La primera decisión importante es elegir dónde se instalará la aplicación:

  1. ¿Como un aplicativo más en cada uno de los ordenadores de los alumnos? Es posible pero NO. Entre otras cosas porque no son demasiado potentes y ya están bastante «cargados», y porque dificulta el mantenimiento.
  2. ¿En un equipo servidor de aula? Contamos con un equipo del profesor con suficientes recursos (RAM/CPU) y nos pareció la mejor opción.

Con un equipo Core2Duo o similar, 4 GB Ram y unos 500Mb de espacio en el disco duro (más otros 250Gb para los proyectos de los alumnos) serán suficientes para proveer tanto la herramienta de diseño como el servicio de compilación de las aplicaciones desde 25 equipos simultáneamente. En cuanto al sistema operativo Ubuntu Linux 14.04 64bits.

¿Cómo se instala?

Todo el proceso se ha documentado en este tutorial. Desde la descarga e instalación de las dependencias de los componentes necesarios (Java7, Apache Ant, Git, AppEngine) pasando por el clonado del proyecto original hasta llegar a la compilación y pruebas finales.

Este mismo tutorial te vale para instalarlo en un ordenador personal y trabajar sin conexión a la red, como equipo de testeo y depuración.

¿En qué cambia el método de trabajo?

  1. Al no depender de una conexión permanente a Internet el trabajo irá mucho más fluido en los equipos de los alumnos. La única diferencia será la URL a la que deberán conectarse para trabajar.
  2. Cuando se trabaja a través de internet, contra el servidor «oficial», los alumnos deben validarse con su cuenta y clave de gmail. Esto les permite acceder a su espacio personal y almacenar «en la nube» tanto los proyectos como los ficheros «.APK» definitivos ya compilados.

    Si se conectan ahora al servidor local, será éste el que guarde esos ficheros. El acceso a cada «cuenta» vendrá determinado por un nombre o una dirección de email (ficticia o no) SIN CONTRASEÑA. Esto supone que cualquiera que conozca el nombre o email podría leer y modificar los proyectos de otra persona. Es muy recomendable que descarguen y guarden copias de sus proyectos «.AIA» (que luego pueden subir a su cuenta real en Internet si así lo desean). Existe la posibilidad de crear listas blancas de direcciones de email para limitar el acceso (se verá en el próximo artículo)

  3. Podría darse el caso de «saturación» y bloqueo del servidor si muchos alumnos deciden «compilar» de forma simultánea sus proyectos.
  4. Para incorporar las futuras mejoras y novedades de la versión «online» será necesario volver a descargar y recompilar el código actualizado.

¿Qué  falta por hacer?

En la próxima entrega explicaré como «empaquetar» los servidores ya compilados para poder, por ejemplo, replicar la instalación fácilmente en otro ordenador.

Además añadiremos el arranque de los servicios de App Inventor al inicio del sistema para automatizar todo el proceso.

Por último comentaremos como ajustar el funcionamiento de los servicios aplicando algunas reglas de configuración, creando listas blancas de acceso, personalizando algunos mensajes o limitando el número de procesos de construcción simultáneos.