rails + merb = arcoiris en el mundo del desarrollo ruby

La noticia sacudía ayer twitter y corría por los blogs técnicos como la pólvora. Rails y Merb, los dos frameworks ruby con más aceptación, se han puesto de acuerdo para unir esfuerzos y crear un unico framework en su siguiente versión principal. Tendremos por lo tanto que Merb 2 = Rails 3. Detras de estos frameworks estan algunos de los mejores desarrolladores web del mundo y la calidad de la plataforma que se va a crear como resultado… sencillamente va a ser algo espectacular.

¿Qué nos vamos a encontrar en Rails 3?

Como por ahora no hay más información que la publicada en los blogs de los principales desarrolladores de rails y de merb, me he permitido traducir los puntos que señala Yehuda Katz en su blog y que mejor describen las acciones que se van a realizar para la fusion de los dos frameworks:

  • Rails será más modular, comenzando con la creación de un rails-core e incluyendo la habilidad para incluir o excluir componentes concretos. Nos concentraremos en reducir el acoplamiento dentro de Rails haciendo posible reemplazar ciertas partes de Rails sin interferir con el resto. Esto es precisamente lo que queremos decir en merb cuando hablamos de “modularidad”.

  • Portaremos las mejoras de rendimiento que hemos conseguido a Rails. Esto incluye decisiones de arquitectura que representan gran mejoras en rendimiento. El proyecto también incluirá la creación de una o mas aplicaciones de benchmarking para que podamos ver claramente que optimizaciones tienen un impacto en el mundo real.

  • En Rails 3 el framework contara con una API publica definida, con una batería de tests para la misma. Este era uno de los mayores diferenciadores de merb. Esto permitirá a los usuarios y a los desarrolladores de plugins tener un API más estable y clara contra la que desarrollar. También debería reducir los problemas de actualización de los plugins entre diferentes versiones.

  • Rails se rediseñara para que resulte sencillo empezar con una versión “core” de Rails (como el actual generador core de merb), que en un principio no incluye ningún modulo, y facilita seleccionar solo las partes que son importantes para tu aplicación. Por supuesto Rails seguirá usando la versión “completa” por defecto (tal y como hace merb desde la versión 1.0) pero el objetivo es hacer que sea sencillo hacer en Rails lo que gente ya esta haciendo con merb hoy en día.

  • Se modificara Rails para soportar de manera sencilla DataMapper o sequel como ORMs de primer orden. Aunque ActiveRecord seguirá siendo el ORM por defecto, el plan es hacer que sea ridículamente sencillo sustituir un ORM por otro sin perder funcionalidades (hasta donde sea posible por supuesto).

  • Rails continuara con la adopción de Rack que constituye un desarrollo realmente interesante en la comunidad Ruby, al que merb se unió desde un principio y que creemos mejorará la modularidad y la compartición de lógica entre diferentes aplicaciones.

  • En general revisaremos las funcionalidades de merb que no están presentes en Rails (el ejemplo más obvio es el mucho más robusto router de merb) y encontraremos la manera de portarlas a Rails.

Fuente original

FAQ

Uno de los principales agentes detrás de merb, Matt Aimonetti ha creado un video en el que intenta resolver algunas dudas sobre el proceso de migracion y fusion de rails y merb. He añadido una transcripcion del mismo a continuación.

Matt Aimonetti: message to all merbists from mattetti on Vimeo.

P: Así que… cuales son las grandes noticias?

  • Los equipos de merb y Rails trabajaran juntos en la próxima versión de sus frameworks
  • merb 2.0 y Rails 3.0 compartirán el mismo objetivo final
  • Nos hemos dado cuenta de que ambos tenemos los mismos objetivos y de que estamos de acuerdo en cuanto a los principios básicos.
  • merb proveerá a Rails de su agnosticismo, modularidad, gran rendimiento y de su API publica.
  • El producto final se llamara Rails 3.0 pero lo que realmente importa es que este va a redundar en un gran beneficio para toda la comunidad.

P: ¿Queeeeeeeé? Pensé que había una guerra entre Rails y merb… ¿que ha ocurrido?

  • No había una guerra entre Rails y merb
  • Creamos merb porque Rails no se ajustaba a lo que queríamos.
  • Queríamos mejor rendimiento, más opciones y modularidad y una API publica.
  • El equipo de Rails ahora ha asimilado estos conceptos y quieren que Rails los implemente así que… por qué no colaborar?

P: Espera… ¿quiere decir eso que merb esta muerto? * ¡Por supuesto que no! * El desarrollo de merb no se va a detener, vamos a continuar liberando actualizaciones hasta Rails 3.0 * Crearemos un vía de migración clara y actualizar a Rails 3.0 será tan trivial como actualizar de Rails 2.x a Rails 3.0

P: Que estimaciones de tiempo tenéis?

  • Acabamos de empezar a reunirnos para discutir los detalles técnicos. Vamos a intentar tener una versión para la RailsConf 2009. Sin embargo es difícil estimar algo así… solo es una estimación.

P: Acabo de empezar un proyecto con merb… ¿que hago con él?

  • Estoy seguro que tenías razones validas para usar merb… necesitabas modularidad, rendimiento y una API solida.
  • Sigue usando merb, no te vamos a dejar tirado. Las buenas noticias es que la siguiente versión de merb (Rails 3.0) va a ser aun mas increíble.

P: Y si uno de mis clientes estaba pensando en utilizar merb para su próximo proyecto?

Si tu cliente iba a utilizar merb por razones validas (y no solo porque no es Rails) debería seguir usandolo, pero entendiendo plenamente que en unos 6 meses acabara usando Rails. De nuevo, Rails 3.0 tendrá lo que en un principio te habría inclinado a usar merb.

P: He participado en el proyecto de merb-book… ¿qué le va a pasar a este proyecto?

  • Rails 3.0 no va a ser liberado ahora mismo.
  • Todavía necesitamos buena documentación
  • Si vemos Rails 3.0 como merb 2.0, podemos imaginar fácilmente como el trabajo actual puede ser extendido para la nueva versión.
  • El equipo de Rails incluirá también un equipo de promotores del que seré parte así que podremos centrarnos más en proyectos como el del libro.

P: He estado trabajando en un plugin de merb… ¿qué debería hacer?

¡Sigue trabajando en él!. Te ayudaremos a con el proceso de migración y la nueva API.

P: ¿Y si aun tengo más preguntas?

  • Anímate a hablar conmigo o con cualquier miembro del nuevo equipo. Estamos abiertos a escuchar tus preguntas, preocupaciones y frustraciones. merb siempre ha valorado a sus desarrolladores y de ahora en adelante lo haremos aun más.

Concretamente, nada cambia para los usuarios de merb. Aquellos a los que os encanta merb no tenéis nada por lo que estar preocupados. La manera en la que se construyen las aplicaciones merb no cambiara hasta merb2.0/Rails3.0. Vamos a seguir trabajando y mejorando tu framework favorito […] Estoy seguro de que estas noticias son impactantes para muchos de vosotros pero no intentéis ver Rails 3.0 como es Rails ahora mismo. Imaginad una versión de Rails con verdadera modularidad y agnosticismo (sequel, DM y AR serán soportados) y el mismo nivel de rendimiento que conseguíais con merb. En otras palabras el mundo Rails esta apunto de descubrir el poder de merb!

Fuente original

Cómo nos afecta

Todos los proyectos se beneficiarán automática y transparentemente de puntos clave como por ejemplo el rendimiento. Para nosotros la fusión es un evento espectacular e histórico que nos permitirá simplificar y mejorar en gran medida tanto nuestros productos como nuestros proyectos open source. Entre otros tog se verá mejorado y reestructurado de una manera increíble, puesto que rails se adaptará ahora de una mejor manera al enfoque modular que hemos buscado en nuestra plataforma.

La verdad es que tecnológicamente no se me ocurre mejor regalo de Navidad XD.

December 24, 2008 0 0 Share this