jueves, 29 de junio de 2006

Entendiendo Ruby on Rails. Primeros pasos

Ruby es un nuevo lenguaje, que junto con Rails (el framework) y los necesarios servidores de web y de base de datos presume de ser una de las plataformas más potentes y modernas para desarrollar en la Web 2.0. Aparentemente tienen razón o su campaña de marketing es magnífica, puesto que a mi me han convencido a la primera (de momento y sin conocerla a fondo). Por ello me quiero tomar la molestia de analizarla un poco más en profundidad y comprobar si todo lo que dicen es cierto (soy desconfiado por naturaleza de la gente que presume, o sea de mi mismo). He leido y comprobado que hay mucha documentación referente a este entorno. Tanta que es fácil liarse y a mí me ha ocurrido ya en el primer punto, la instalación.

1.- Descargando Ruby on Rails


Yo, de momento utilizo básicamente entornos Windows, y necesito la plataforma de desarrollo. Para este caso, el sitio más adecuado para descargarse el entorno como bién se dice en http://www.hackerdude.com/courses/rails/InstalandoRails.html es "Instant Rails". Basta descargar el enlace y seguir los pasos indicados, y queda instalado en 5 minutos junto con el servidor web Apache y la base de datos MySql.

2.- Tutorial de aprendizaje

De lo mejorcito que he visto es el tutorial traducido a castellano "Cuatro Dias con Rails". Cuatro días son muchos, pero parece ser más racional que el conocido video del "blog en 15 minutos y 58 líneas de código" y promete realizar una aplicación de base de datos en la que por ahora, estoy mucho más interesado. Hay otro que también hay que leer, aunque el proceso de instalación es algo más complejo que en el anterior. Se titula "En marcha con Ruby on Rails" y es mucho más sencillo de seguir y básico. Yo realmente he utilizado Instant Rails y después he seguido este manual (saltándome la instalación) para darme una idea de lo que se puede hacer. Después, he seguido Cuatro Dias con Rails, que es algo más completo y complejo.

3.- Resultados del primer contacto

Bien, dame tiempo, ya te contaré,...

Primer alto en el camino

Bien, tras las emotivas declaraciones de intenciones, los primeros buzeos por la red buscando documentación y herramientas y tras tener relativamente claro las dos preguntas fundamentales iniciales:
  1. ¿Qué quiero hacer? -> MyErp
  2. ¿Cómo quiero hacerlo? -> Con software libre. Utilizando preferiblemente por este orden: Licencias de tipo BSD, Licencias de tipo LGPL y Licencias GNU. El orden es por ahora por si la cosa sale bien, pero tengo muy claro que es poco probable y que rápidamente entenderé que la mejor herramienta caso de que esté disponible será GNU.
llega el momento del primer cruce de carreteras y de dar respuesta a la tercera pregunta:

3. ¿Qué herramienta utilizo?

Evidentemente, a este nivel los caminos elegidos son los que más marcarán el futuro; y eso hay que tenerlo muy claro. Pero el problema, es que a estas alturas las preguntas y respuestas son casi "metafísicas" (como la del sexo de los ángeles, o la de la gallina y el huevo) por ahora. Sin embargo, las respuestas en sí quedarán "a fuego marcadas sobre mi piel". Uy!!!, que miedo, que hacer!!!. Ante esto, cualquier director de informática "razonable" buscaría asesoramiento en personas expertas en las diferentes plataformas y les pediría informes. También buscaría opiniones de clientes. Sin embargo los directores de informática "actuales", a lo sumo convocarian en una reunión a representantes de las diferentes plataformas y los someterían a un cuestionario y a un debate, quedandose a la escucha con sus asesores para después pedirles a éstos que tomen la decisión.

Pues yo de momento sigo prácticamente sólo y prefiero ser paciente. Por ahora nadie me mete prisa y esto es muy importante (a la vez que poco habitual). Como ahora mismo puedo y el paso a dar es muy importante, me toca reanalizar en más detalle las herramientas que mejor sensación me han causado cuando buceaba en busca de plataformas ERP.

La mayor impresión, me la ha dejado Ruby on Rails. Si, ya se que no es una herramienta ERP, sino un framework, pero repito, tengo tiempo y mi pretendido desarrollo será para una mini-pyme. Además cuento con que ya tengo desarrollada la herramienta de gestión de servicios con un módulo de análisis de datos y otro de mini-gestión de personal (en VBasic); y ya realicé hace unos años una herramienta genérica de facturación. También, tengo claro que el módulo de relaciones con los clientes y el de ventas, serán muy básicos, ya que el número de clientes es "muy muy" reducido, eso sí, lo clientes son importantes (a buen entendedor, ...), y a priori, no haría falta desarrollar los módulos de gestión de proyectos ni el de gestión de fábrica.