Como Hacer Una Actividad Sugar

Crear tu primer Actividad Sugar

Haz primero un programa autónomo en Python

El mejor consejo para el que se inicia en el desarrollo de Actividades es hacer una versión de la misma que funcione por su cuenta, independiente del entorno Sugar. Un código Python autónomo (standalone) es más fácil y menos engorroso de testear y de depurar. Esto quedará claro cuando te empieces a testear tu primer Actividad.

Cuántos más bugs encuentres antes de transformar el código autónomo en Actividad, mejor.  De hecho, es una buena idea mantener la versión autónoma de tu programa incluso después de ya tener la versión Actividad bien encaminada. Yo usé una versión autónoma de Read Etexts cuando agregué la opción resaltador en el conversor texto-voz. Hacer esto me ahorró muchísimo tiempo porque estaba definiendo cosas sobre la marcha y la agilidad era un factor especialmente importante.

Nuestro primer ejemplo se basará sobre la Actividad Read Etexts tal y como la escribí.

Heredar la clase desde sugar.activity.Activity class

Ahora, convertiremos nuestro código Python autónomo en una Actividad sugar. Para esto, hay que entender el concepto de herencia. Decimos herencia, en la vida diaria, cuando obtenemos de los padres cosas para las que no trabajamos. Un rey que guía a su hijo a la ventana del castillo y dice "¡Un día esto será tuyo!", es herencia.

En el mundo de las computadoras los programas pueden tener padres y heredar cosas de ellos. En vez de heredar propiedades, heredan código. Hay una pieza de código Python llamada sugar.activity.Activity que es el mejor padre que una Activity puede querer tener, y nosotros somos los que vamos a convencerle de que adopte a nuestro programa. No significa que nuestro programa no tenga que trabajar nunca más, pero si, que va a trabajar mucho menos.

Empaquetar la Actividad

Ahora debemos empaquetar el código para convertirlo en algo que pueda correr dentro de Sugar y sea distribuido como archivo .xo.  Esta etapa va implicar establecer MANIFEST, activity.info, setup.py y también diseñar en Inskcape un ícono compatible.

Agregar detalles

Cualquier Actividad va a heredar la barra de herramientas (toolbar) básica. En la mayoría de los casos esta no es suficiente y se necesita alguna toolbar a medida. Estas adecuaciones deben integrarse bien, de modo que las barras disparen acciones sobre la Actividad y a su vez reflejen en el estado de la barra lo que sucede fuera de ella.

Veremos, además del agregado de barras, algunas otras formas de poner a punto tu Actividad. 

Poner el código del proyecto en el controlador de versiones

A esta altura en que ya tenemos una cantidad suficiente de código escrito, vale la pena protegerlo y compartirlo. Para esto precisamos crear un repositorio Git donde agregar nuestro código. Más adelante vamos a volver a las básicas sobre el uso de Git.

Internacionalizarse con Pootle

Con el código salvado en Git podemos reclamar la ayuda de nuestro primer colaborador: el sistema de traducción Pootle. Con un mínimo trabajo de armado podemos conseguir voluntarios para internacionalizar nuestra Actividad.

Distribuir la Actividad

Para esta tarea simplemente tomaremos nuestra Actividad y la agregaremos en http://activities.sugarlabs.org  junto al código fuente de modo que pueda ser incluida en otras distribuciones de Linux.

Agregar colaboración

Ahora hay que agregar código para colaboración, por ejemplo para compartir los e-books con el Grupo y el Vecindario.

Agregar texto hablado

Lo siguiente es Texto hablado con resaltador de palabras. ¡Nuestro pequeño proyecto será todo un éxito!1 

2 

 

  1. NT: "Kindle-killer" en el original.^
  2. Traducido Ana Cichero Uruguay^