B4A

sábado, enero 05, 2013

Trabajando con Cuis

Cuis es un Smalltalk-80 gratuito y libre, desarrollado por Juan Vuletich originalmente derivado de Squeak, pero con objetivos propios como la potencia y la simpleza, la portabilidad, y la velocidad y eficiencia, como describe su autor en la página del producto.

Poco a poco su comunidad va creciendo, como se puede ver en la lista de correo, y también a medida que su uso se hace más masivo, van apareciendo necesidades de funcionalidades no presentes en el core de Cuis.

Asi que siendo actualmente Cuis el Smalltalk que más me entusiasma, estoy trabajando en portar algunos paquetes que se necesitan para diversas funcionalidades (Los ports vienen de Pharo o Squeak según el caso).

Una lista de los paquetes actualmente disponibles está en el mismo repositorio de GitHub de Cuis, en esta dirección.


En lo personal, estoy trabajando con varios proyectos:

WebClient: Es una implementación de Andreas Raab de un cliente y servidor Web. Actualmente funcionan la mayoría de las funcionalidades a nivel cliente y estoy comenzando a trabajar con el servidor.

Para poder hacer funcionar este paquete son necesarias algunas clases que conforman la categoría Network de Cuis/Pharo y que no están presentes en Cuis, la cuales también están portadas, algunas con todos los tests en verde, en este repo.

Además, como Cuis es una implentación limpia y particular, para facilitar las tareas de port de paquetes, tengo un repositorio donde hay unas cuántas clases y métodos necesarios para compatiblidad con otros Smalltalks.

Artefact: Es un generador de pdfs de Olivier Auverlot y Guillaume Larcheveque que ya funciona de la misma forma que lo hace en Pharo. Sin embargo el propio Olivier me comentó que han reescrito totalmente el engine y que publicarán una nueva versión aproximadamente en Marzo de 2013.

Para portar Artefact fue necesario también portar el paquete de Expresiones Regulares.

Criptografía: En este apartado tengo portado Blowfish, del paquete de Criptografía de Pharo/Squeak así como System-Hashing, ambos perfectamente funcionales y con 100% de código Smalltalk.

JSON: Me queda por resolver un test que no pasa, pero el paquete está usable.

SandstoneDB: Es un esquema de persistencia simple, al estilo de ActiveRecords portado de un trabajo de Ramon Leon. También queda sólo 1 test por resolver, pero está funcional.

SimpleLogger: Este es un mini framework de mi autoría originalmente para Pharo, documentado en el libro colaborativo de Pharo.

En mi GitHub hay otros trabajos también pero que son menores o no están terminados ni usables. El desafío actual, conforme el tiempo libre lo permita, es hacer funcionar en Cuis el web server Swazoo de manera que el autor de Aida pueda intentar el port a Cuis. Si logramos concretar esto, tendremos un servidor de aplicaciones web robusto y mantenido corriendo en Cuis.

Entonces el siguiente paso será hacerlo funcionar en el servicio PaaS de RedHat, llamado OpenShift.

Por supuesto que estos son los planes tentativos, los cuales pueden variar en base a las necesidades que vayan surgiendo y, fundamentalmente, en base al tiempo libre disponible.

Cuis es un proyecto interesantísimo y desafiante y ojalá este artículo sirva para que más gente interesada se sume a colaborar con el proyecto. Adelante Cuis!


No hay comentarios.: