Articulo de referencia

Monorraíl (software)

{{Cite web | url=http://www.castleproject.org/download/ | title=Download | Castle Project }} "},"latest_release_date":{"wt":"{{release date|2011|03|17}}"},"operating_system...

MonoRail (anteriormente llamado Castle on Rails ), un componente del Proyecto Castle , es un marco de trabajo de código abierto para aplicaciones web construido sobre la plataforma ASP.NET . Inspirado en Ruby on Rails Action Pack, [ 2 ] MonoRail se diferencia del desarrollo estándar de ASP.NET Web Forms al imponer la separación de responsabilidades mediante una arquitectura modelo-vista-controlador (MVC). [ 3 ] El marco de trabajo se usa comúnmente junto con Castle ActiveRecord , una capa ORM construida sobre NHibernate . En enero de 2010, se lanzó la versión 2.0 de MonoRail; sin embargo, muchos proyectos usan la versión trunk del código fuente para aprovechar las nuevas características sin esperar los lanzamientos oficiales.

Aunque el nombre del proyecto es MonoRail, no tiene ninguna relación con el proyecto Mono .

Cómo funciona

El marco de trabajo asigna las solicitudes web a una "acción", que es un método .NET estándar en el controlador. El controlador se encarga de invocar los servicios de negocio y controlar el flujo de la aplicación. Cuando llega el momento de enviar la respuesta web al cliente, el controlador establece una plantilla de vista para su renderizado, colocando los datos en un objeto de diccionario especial conocido como "Property Bag", y delega el renderizado de la plantilla a un motor de vistas. [ 4 ]

El motor de vista renderiza la plantilla en el flujo de respuesta utilizando los datos del contenedor de propiedades proporcionado por el controlador. En esta etapa, la vista no puede acceder a ninguna otra capa de la aplicación, lo que la aísla de la lógica de la aplicación.

Ver motores

El motor de visualización principal utilizado en MonoRail es NVelocity , basado en la biblioteca Apache Velocity . NVelocity incluye bloques de control sencillos, como sentencias if y bucles foreach . Las plantillas de visualización de NVelocity son archivos de texto con la extensión '.vm'.

Otros motores de visualización en uso:

  • Brail , basado en el lenguaje Boo , es un lenguaje .NET. Su motor de vistas ofrece mayores capacidades, ya que el programador puede utilizar los métodos de la biblioteca de clases base . Sin embargo, esta potencia tiene un precio: permite realizar demasiadas operaciones en la vista, dejando cierta responsabilidad en la separación de responsabilidades en manos del programador. Las plantillas de vista son archivos de texto con la extensión '.brail'.
  • AspView es un motor de vistas que utiliza C# como lenguaje de scripting y un enfoque de precompilación, donde todas las vistas se precompilan en un ensamblado .NET antes de su implementación. Las plantillas de vista son archivos de texto con la extensión '.aspx'.
  • WebForms ViewEngine permite aprovechar algunas de las funcionalidades de Web Forms en aplicaciones MonoRail. Su uso es bastante limitado y solo se recomienda para la migración de una aplicación Web Forms existente a una aplicación MonoRail. Las plantillas de vista son archivos de texto con la extensión '.aspx'.
  • StringTemplate es el motor de vistas más estricto en términos de MVC. [ 5 ]
  • Spark View Engine es un nuevo motor de vistas popular entre los desarrolladores de ASP.NET MVC, que también es compatible con MonoRail.

Otros motores de búsqueda

Crear otros motores de vista es sencillo. Brail , StringTemplate y AspView fueron creados por desarrolladores independientes para satisfacer sus propias necesidades.

Otros motores de visualización son:

  1. ASPX
  2. Chispa
  3. NHaml
  4. NDjango
  5. Hasic
  6. Candaliza
  7. Bellevue
  8. SharpTiles
  9. Plantilla de cadena
  10. Batido de alas
  11. SharpDOM
  12. Navaja
  13. Azur

Referencias

  1. "Descargar | Proyecto Castillo" .
  2. Paquete de acción Ruby on Rails
  3. "InfoQ: Poniéndonos al día con el Proyecto Castillo" . Consultado el 13 de septiembre de 2007 .
  4. El funcionamiento del monorraíl. Obras del proyecto Castillo sobre raíles.
  5. Parr, Terence. Imponiendo una estricta separación entre modelo y vista en los motores de plantillas.

Lecturas adicionales

  • James Avery, Jim Holmes, Herramientas avanzadas para desarrolladores de Windows , O'Reilly Media, 2006, ISBN 0-596-52754-3, págs.  963 972 (18.6 Simplificando el desarrollo web con Castle MonoRail)
  • Steven Sanderson, Pro ASP.NET MVC Framework , Apress, 2009, ISBN 1-4302-1007-9pág.  12 (Comparaciones con MonoRail)

Recursos

  • Documentación del monorraíl
  • Presentación sobre el monorraíl

Blogs sobre MonoRail

  • Blog de Hamilton Verissimo archivado el 11 de septiembre de 2007 en Wayback Machine , fundador del Proyecto Castle.
  • Blog de Ayende Rahien (Oren Eini) , creador del motor de visualización Brail.
  • Blog de Eleutian
  • .net y otras reflexiones
  • Blog de Ken Egozi , creador del motor de vistas AspView
  • Blog de Adam Esterline