Articulo de referencia

Merb

{{cite web|title=1.1.3|url=https://github.com/merb/merb/releases/tag/1.1.3|website=GitHub}} "},"latest release date":{"wt":"{{start date|2010|07|12}}"},"operating system":{"wt":...

Merb es un framework web modelo-vista-controlador descontinuado en Ruby , notable por ser un precursor de Rails 3. Aportó un mayor enfoque en la velocidad y la modularidad a Rails 3. [ 4 ] [ 5 ] El nombre Merb es una contracción de " Mongrel " y " Erb ". [ 6 ]

Precursor y fusión con Rails 3

Merb comenzó como una implementación "limpia" [ 7 ] de la pila de controladores de Rails , pero creció para incorporar varias ideas que se desviaban del espíritu y la metodología de Rails en ese momento, sobre todo la modularidad de componentes , el diseño de API extensible y la escalabilidad vertical . Fue desarrollado por Ezra Zygmuntowicz y Yehuda Katz. La mayoría de estas capacidades se agregaron a Rails durante la fusión de Rails 3/Merb. [ 8 ] [ 9 ] Merb se lanzó por primera vez en la RubyConf de 2008 [ 10 ] y desde entonces el desarrollo se ha detenido; Rails 3, por lo tanto, sirve como sucesor tanto de Rails 2 como de Merb.

Diferencias con Ruby on Rails

El diseño de Merb intentó abordar varias críticas a Rails 2:

  • falta de modularidad de los componentes ( diseño monolítico )
  • falta de una API extensible
  • falta de escalabilidad vertical

Modularidad

Merb abarcaba únicamente la capa de controlador en la arquitectura MVC y utilizaba un conjunto de complementos opcionales para ensamblar aplicaciones. Los puntos de integración principales eran la interfaz del servidor web, la capa de modelo, la capa de vista y las extensiones y complementos del controlador. La pila de aplicaciones predeterminada de Merb incorporaba Datamapper para los modelos, ERB para las vistas y Rack y Mongrel como capa de servidor web. [ 11 ] [ 12 ]

API bien definida

Antes de la fusión de Merb y Rails 3, Rails carecía de una API pública bien definida y documentada para extensiones y complementos, lo que generaba problemas cuando los cambios en Rails rompían los monkey patches realizados por los complementos. Con la fusión de Rails 3 y Merb, Rails obtuvo una API pública definida con un conjunto de pruebas, [ 9 ] lo que proporcionó a los usuarios y desarrolladores de complementos una API más clara y estable sobre la cual trabajar, reduciendo la rotura de complementos entre versiones. [ 8 ]

Rendimiento y escalabilidad

Algunas versiones iniciales de Rails recibieron mala publicidad por su bajo rendimiento, frecuentemente debido a la confusión de los desarrolladores sobre las consultas de ActiveRecord. David Heinemeier Hansson , el creador de Rails, afirmó que Merb reescribió muchas partes centrales de Rails para que fueran más rápidas, [ 8 ] e incorporó esos cambios de Merb en la fusión de Rails 3, prometiendo a los usuarios que "Rails 3 recibirá toda la atención en cuanto al rendimiento por la que son conocidos los chicos de Merb". [ 8 ]

Referencias

  1. Zygmuntowicz, Ezra. "No Code is Faster Than No Code" . Twitter . Consultado el 2 de abril de 2015 .
  2. Grosenbach, Geoffrey. "Origen de: "Ningún código es más rápido que ningún código"." . Twitter . Ezra Zygmuntowicz . Consultado el 2 de abril de 2015 .
  3. "1.1.3" . GitHub .
  4. Boone, Paul (18 de septiembre de 2008). "Comparación de rendimiento de Rails/Merb (en mongrel, jruby, tomcat, glassfish)" . mindbucket.com . Archivado del original el 14 de julio de 2011.
  5. "Notas de la versión 3.0 de Ruby on Rails" . Guías de Ruby on Rails . Consultado el 18 de julio de 2020 .
  6. Zygmuntowicz, Ezra (18 de octubre de 2006). "ANN: Merb, Mongrel+Erb" . osdir.com] . Archivado del original el 31 de diciembre de 2009.
  7. ^ Zygmuntowicz, Ezra (23 de diciembre de 2008). "Merb * es * rieles" .
  8. 1 2 3 4 Hansson, David Heinemeier (23 de diciembre de 2008). "¡Merb se fusiona con Rails 3!" . weblog.rubyonrails.org . Consultado el 18 de julio de 2020 .
  9. 1 2 Katz, Yehuda (23 de diciembre de 2008). "Fusión de Rails y Merb" . yehudakatz.com .
  10. Aimonetti, Matt (9 de noviembre de 2008). "Merb 1.0 lanzado" . Merbist .
  11. "dependencias de gemas merb-core" . 23 de marzo de 2010.
  12. "dependencias de gemas merb" . 23 de marzo de 2010.
  • Merbivore - Sitio oficial de Merb
Obtenido de " https://en.wikipedia.org/w/index.php?title=Merb&oldid=1321354708 "