A. Catrobat y Pocket Code

1 Introducción

Desde el verano de 2010, en la universidad tecnológica de Graz, en Austria, han venido desarrollando un lenguaje de programación, inicialmente denominado Catroid, y posteriormente (2012) rebautizado como Catrobat.

Las principales características de este lenguaje son:

  • Orientado a niños. Es un lenguaje de un altísimo nivel (muy próximo al lenguaje que utilizamos los humanos para comunicarnos entre nosotros).

  • Visual. La interfaz de los programas se diseña arrastrando elementos (objetos) sobre un fondo.

  • Basado en bloques. Los programas se componen apilando bloques predefinidos (instrucciones, bucles, bifurcaciones, variables, …), de modo que el usuario no tiene que escribir manualmente el código. Esto supone una doble ventaja: por un lado se evitan lo errores sintácticos que suelen ser motivo de frustración para los que se inician en la programación, y por otro lado les permite centrarse en los algoritmos lógicos, que son los que realmente forman la mente para aprender a programar. La construcción de código basada en bloques está fuertemente influenciada por Scratch (un lenguaje de programación similar a Catrobat, mucho más maduro, pero limitado a ordenadores tradicionales).

  • Gratuito y de código libre. Catrobat se distribuye con la licencia AGPLv3, y su código fuente está a disposición de todo el que desee consultar lo o modificarlo (https://github.com/Catrobat/Catroid).

  • Independiente de la plataforma. Catrobat está diseñado para funcionar en cualquier tipo de dispositivo. Se están desarrollando versiones para Windows, iOS, Android y HTML5. No obstante, actualmente la única versión estable disponible es la de dispositivos móviles Android. Catrobat es capaz de acceder a los sensores disponibles en el dispositivo (actualmente, a la pantalla táctil, aunque con reconocimiento de gestos muy limitado (sólo pulsar), al micrófono, el acelerómetro, el giróscopo y la brújula).

En 2013 lanzaron un entorno de desarrollo (IDE) de Catrobat para dispositivos Android llamado Pocket Code. El factor diferenciador de Pocket Code respecto a otros sistemas de desarrollo para dispositivos móviles es que el desarrollo se lleva a cabo en el propio dispositivo móvil; en otras palabras: no hay que crear la app en un ordenador y luego ejecutarla en el dispositivo móvil. Esto nos aporta una enorme agilidad y sencillez en el desarrollo, pues el desarrollo, depuración y ejecución se realizan en el mismo dispositivo.

Catrobat/Pocket Code es aún un proyecto muy reciente, con funcionalidades inmaduras y capacidades muy limitadas, pero es único en su clase y está atrayendo la atención y el soporte de numerosas instituciones (como Google, que lo viene apoyando desde hace años con su programa Google Summer of Code).

Aunque es probable que en su estado actual encontremos fallos (bugs) y limitaciones, debidos a que Catrobat/Pocket Code es aún un proyecto muy reciente, con funcionalidades inmaduras y capacidades muy limitadas, merece la pena apostar por él porque es único en su clase y está atrayendo la atención y el soporte de numerosas instituciones (como Google, que lo viene apoyando desde hace años con su programa Google Summer of Code).

2 El ecosistema de desarrollo de Pocket Code

Al ejecutar Pocket Code se mostrará la interfaz principal (véase la figura 3.1), con las siguientes opciones:

  • Continuar: Sirve para continuar con el desarrollo de la última app en la que hayamos estado trabajando.

  • Nuevo: Al pulsar esta opción se iniciará el desarrollo de una app nueva (la que estuviésemos desarrollando anteriormente no se perderá, sino que quedará almacenada en el dispositivo). Tendremos que asignar un nombre al programa y decidir si queremos que esté inicialmente vacío (activando la casilla Crear un programa vacío), o si preferimos que contenga algunos activos (fondo y objetos) de ejemplo.

  • Programas: Aquí se muestran todos los programas que hemos desarrollado en nuestro dispositivo, y también los que hemos descargado de la comunidad Pocket Code (www.pocketcode.org). Podemos (mediante el menú de opciones) seleccionarlos para convertirlos en el programa activo, renombrarlos, borrarlos, o mostrar sus detalles (última vez que los utilizamos y tamaño).

  • Ayuda: Nos permite acceder a la documentación de ayuda de Pocket Code.

  • Explorar: Mediante esta opción podremos explorar la comunidad Pocket Code para encontrar aplicaciones de nuestro interés y descargarlas a nuestro terminal. No es necesario registrarse en la comunidad para poder acceder a ella o descargar apps.

  • Subir: Nos permite subir la app activa a la comunidad Pocket Code. Es necesario estar registrado en la comunidad para poder utilizar esta opción, y es importante tener presente que cualquier app que compartamos quedará automáticamente sujeta a la licencia AGPLv3. Esta licencia establece que cualquiera puede descargar, utilizar, modificar y redistribuir nuestras aplicaciones, con la única condición de que el resultado de esa modificación se redistribuya con la misma licencia (esto se denomina copyleft, en confrontación con la protección de derechos copyright). Dentro de estas condiciones se impide que un tercero pudiera tomar la app creada por otro usuario, modificarla y convertirla en un producto propietario (de código cerrado). Uno de los pilares de la comunidad Pocket Code es precisamente fomentar que sus usuarios compartan sus apps y las modifiquen.

Figura 3.1. La interfaz principal de Pocket Code.

Actualmente, la única forma posible de distribuir las aplicaciones creadas con Pocket Code es a través de la propia comunidad Pocket Code. No podemos obtener (al menos no fácilmente) el paquete apk de nuestra app para publicarlo en un mercado como Google Play.

Comments