De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Merb es un marco web discontinuado de modelo-vista-controlador en Ruby , notable como un precursor de Rails 3. Trajo un mayor enfoque en la velocidad y 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 [ editar ]

Merb comenzó como una implementación de "sala limpia" [7] de la pila de controladores Rails , pero creció para incorporar varias ideas que se desviaban del espíritu y la metodología de Rails en ese momento, más notablemente 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 se ha detenido el desarrollo; Por tanto, Rails 3 sirve como sucesor de Rails 2 y sucesor de Merb.

Diferencias de Ruby on Rails [ editar ]

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

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

Modularidad [ editar ]

El propio Merb abarcaba solo la capa del controlador en la arquitectura MVC y utilizaba un conjunto de complementos opcionales complementarios para ensamblar aplicaciones. Los puntos de integración principales fueron 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 incorporó Datamapper para los modelos, ERB para las vistas y Rack y Mongrel como la capa del servidor web. [11] [12]

API bien definida [ editar ]

Antes de la fusión de Merb / 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 de Rails rompían los parches de mono realizados por complementos. Con la fusión Rails 3 / Merb, Rails obtuvo una API pública definida con un conjunto de pruebas, [9] brindando a los usuarios y desarrolladores de complementos una API más clara y estable contra la cual construir, reduciendo la rotura de complementos de una versión a otra. [8]

Rendimiento y escalabilidad [ editar ]

Algunas versiones anteriores de Rails recibieron mala publicidad por falta de rendimiento, frecuentemente debido a la confusión de los desarrolladores sobre las consultas de ActiveRecord. David Heinemeier Hansson , el creador de Rails, declaró que Merb reescribió muchas piezas centrales de Rails para que sean 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 obtendrá toda la atención de rendimiento por lo que los chicos de Merb son conocidos ". [8]

Referencias [ editar ]

  1. ^ Zygmuntowicz, Ezra. "Ningún código es más rápido que ningún código" . 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. ^ "Merb en GitHub" . GitHub .
  4. ^ Boone, Paul (18 de septiembre de 2008). "Comparación de rendimiento de rieles / Merb (en mestizo, jruby, tomcat, glassfish)" . mindbucket.com . Archivado desde el original el 14 de julio de 2011.
  5. ^ "Notas de la versión de Ruby on Rails 3.0" . 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 desde el original el 31 de diciembre de 2009.
  7. ^ Zygmuntowicz, Ezra (23 de diciembre de 2008). "Merb * es * Rails" .
  8. ↑ a b c d 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. ↑ a b Katz, Yehuda (23 de diciembre de 2008). "Rails y Merb Merge" . 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.

Enlaces externos [ editar ]

  • Merbivore - Sitio oficial de Merb