Archivo de Etiquetas de 'certificacionpm'

Migración a Rails: certificacionpm

Hace un par de semanas pusimos online la versión 2.0 de certificacionpm, un simulador de exámenes para sacarse la certificación de Project Management Professional del PMI® que hemos desarrollado para con la empresa Lanarvi.

No lo publico aquí para hacerle publicidad (no creo que, por lo general, el público de este blog sea público objetivo de certificacionpm) pero puesto que la versión anterior estaba desarrollada en Java (JSF + JDO) y esta lo está en Rails, dos personas me han pedido que de forma poco sectarista explique las diferencias/mejoras/razones. Y lo voy a intentar.

Primero, a modo de disclaimer, decir que esta comparación es un tanto injusta, puesto que una migración siempre es más sencilla que hacer algo desde cero, puesto que ya llevas mucho aprendido. Aún así, una migración siempre hace también que acabes metiendo cosas nuevas. También podría ser que con otras herramientas Java el resultado hubiera sido distinto o ahora no hemos tenido que dedicarle excesivo tiempo a cuestiones de diseño/CSS. Digo esto porque no es tan sencillo como partir desde cero con el mismo conocimiento y realizar la aplicación. He intentado tener esto en cuenta y reducirlo a la parte de la lógica de la aplicación.

Diría que el tiempo empleado en el desarrollo en los aspectos comparables en la versión Rails ha sido aproximadamente el 40% del empleado en Java, quizás un poco menos. Las razones principalmente las siguientes:

  • Active Record: nunca trabajar con la base de datos fué taaaaaaaan fácil. En serio, es para probarlo. Me quedo con la espinita de JPA, pero ni SpringDAO, ni Hibernate, ni JDO lo hacen tan sencillo.
  • CSV: el soporte que trae Rails de serie para tratar ficheros CSV es increible. En Lanarvi gestionaban inicialmente el banco de preguntas en una Excel gigante, y lo cierto es que lo que con Java era un cierto sufrimiento, con Rails se solucionó en una tarde.
  • Lenguaje no tipado. Mucho tiempo pensé que la compilación y los lenguajes tipados eran necesarios (?) para prevenir errores, que eran una ayuda. Lo cierto es que sobre todo para proyectos pequeños he dejado de creerlo. Tienen un coste que no compensa. El tiempo de compilar, probar, etc. es demasiado alto para el beneficio obtenido en este proyecto.
  • Rails es (o puede ser) un todo. No sólo el framework de desarrollo, sino también el despliegue en remoto (caspistrano), la gestión de actualizaciones de la base de datos (migrations), etc. Reduce el tiempo destinado a estas cosas accesorias.
  • El entorno de desarrollo. Reconozco que mi pobre Powerbook con 1,2GB de memoria ha pasado ya los 3 años, pero ha rejuvenecido un par de años en rendimiento al cambiar Eclipse+Java+Tomcat por Textmate+Ruby+Mongrel.

En todo caso, como nota final. En Lanarvi están contentos, pero os puedo asegurar que lo que menos les importa a ellos es la tecnología, sino simplemente que ahora tienen una mejor aplicación.

Por cierto, que espero que próximamente liberemos el código de la aplicación (que no las preguntas) como software libre. Es bastante genérico y se puede reutilizar para hacer más simuladores. Estamos que lo tiramos XD.



Close
E-mail It