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).
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.
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.
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!