Recientemente, me he encontrado con la necesidad de desarrollar una aplicación de escritorio para facilitar una tarea repetitiva de normalización de datos en la cual se emplean expresiones regulares y para la cual requeria trabajar con múltiples ficheros de texto relacionados.
Desde hace algun tiempo, he empezado a utilizar lenguajes como Python y Ruby para facilitar tareas que incluyen tratamiento masivo de texto (limpieza de caracteres, normalización, semántica, recuento, ...). Estos lenguajes de programación de alto nivel y Orientados a Objetos permite realizar maravillas con muy pocas lineas de código, con resultados inmediatos!.
Continuando con la explicación, disponía de un conjunto de utilidades básicas que se lanzaban desde la línea de comandos, pero necesitaba una interfaz de usuario que lo uniera todo.
No podia instalarme ninguna otra herramienta (por razones que no vienen al caso) y tampoco estaba en disposición de aprender nuevos lenguajes de programación. El objetivo era resolver el problema que tenia y no crear otro problema a resolver (mantener el foco).
Allí es donde me encontré con FXRuby, una gema de Ruby basada en FOX que permite la creación de aplicaciones de escritorio de forma bastante sencilla mediante un lenguaje de scripting.
La imagen, muestra una captura de pantalla, que no es espectacular, pero para el poco tiempo que le he dedicado y el poco conocimiento que tengo de Ruby, es más que suficiente.
Este desarrollo de aplicaciones rápidas, al estilo PRETOTYPING permite tener una herramienta Desktop con muy pocos recursos, centrándose en lo que es verdaderamente importante (la resolución del problema y no la interfaz de usuario) a la vez que se aprende a descubrir cuales son las necesidades.
En mi caso, también facilita el traspaso de "actividades" de carácter más administrativo, ya que no es lo mismo entregar un proceso donde se manejan ficheros de texto de forma manual y oscura a entregar una aplicacion (ruda si se quiere) pero que facilita que más gente la pueda operar y por tanto, colaborar en la normalización de datos. Claramente, estamos en un proceso de innovación y de crear algo nuevo donde no hay nada.
Dejo a continuación algunas de las referencias que me han sido útiles (ninguna en castellano), a la vez que me brindo a ayudar a aquellos que quieran desarrollar una aplicación de escritorio en FXRuby (así aprenderé más!).
- FXRuby Site
- API REF http://www.fxruby.org/doc/api/
- Libro: FXRuby: Create Lean and Mean GUIs with Ruby. El libro viene con numerosos ejemplos y el código fuente se puede descargar a modo de ejemplo.
- FoxGuid herramienta para crear GUIs de forma interactiva y generar código fuente