MonoRail (anteriormente llamado Castle on Rails ), un componente del Castle Project , es un marco de aplicación web de código abierto construido sobre la plataforma ASP.NET . Inspirado por Ruby on Rails Action Pack, [2] MonoRail se diferencia del desarrollo estándar de ASP.NET Web Forms al imponer la separación de preocupaciones utilizando una arquitectura modelo-vista-controlador (MVC). [3] El marco se usa comúnmente junto con Castle ActiveRecord , una capa ORM construida en NHibernate. En enero de 2010, se lanzó la versión 2.0 de MonoRail; sin embargo, muchos proyectos utilizan la versión troncal de la fuente para aprovechar las nuevas funciones sin esperar los lanzamientos oficiales.
Desarrollador (es) | Proyecto Castillo |
---|---|
Lanzamiento estable | 2.1 RC [1] / 17 de marzo de 2011 |
Sistema operativo | Multiplataforma |
Tipo | Marco de aplicación |
Licencia | Apache 2.0 |
Sitio web | www |
Aunque el nombre del proyecto es MonoRail, no tiene ninguna afiliación con el proyecto Mono .
Cómo funciona
El marco asigna las solicitudes web a una "acción", que es un método .NET normal en el controlador. El controlador es responsable de invocar los servicios comerciales 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 ser renderizada, colocando los datos en un objeto de diccionario especial conocido como "Property Bag", y delega la renderización de la plantilla a un motor de visualización.
El motor de visualización convierte la plantilla en el flujo de respuesta utilizando los datos de la bolsa de propiedades proporcionada por el controlador. En esta etapa, la vista no puede acceder a ninguna otra capa de la aplicación, lo que aísla la vista 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 se suministra con bloques de control simples, como declaraciones if y bucles foreach . Las plantillas de vista de NVelocity son archivos de texto con la extensión '.vm'.
Otros motores de visualización en uso:
- Brail , basado en el lenguaje Boo . Al ser un lenguaje .NET, el motor de visualización de Brail tiene capacidades más sólidas, ya que el programador de vistas puede utilizar los métodos de la biblioteca de clases base . Sin embargo, el poder viene con su precio, ya que abre la posibilidad de hacer demasiado en la vista, dejando cierta responsabilidad de Separación de preocupaciones en manos del programador. Las plantillas de vista son archivos de texto con la extensión '.brail'.
- AspView , un motor de vista que usa C # como su lenguaje de scripting y usa un enfoque precompilado, donde todas las vistas están precompiladas en un ensamblado .NET antes de la implementación. Las plantillas de vista son archivos de texto con la extensión '.aspx'.
- WebForms ViewEngine le permite usar parte del poder de Web Forms en sus aplicaciones MonoRail. El uso del motor de visualización de WebForms es bastante escaso y solo se recomienda para una fase de migración de una aplicación de 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 visualización más estricto en términos de MVC. [4]
- Spark View Engine es un nuevo motor de visualización popular entre los desarrolladores de ASP.NET MVC, también es compatible con MonoRail.
Otros motores de vista
La creación de otros motores de visualización es bastante sencilla y directa. Brail , StringTemplate y AspView fueron creados por los desarrolladores independientes para satisfacer sus propias necesidades.
Otros motores de vista son:
- ASPX
- Chispa - chispear
- NHaml
- NDjango
- Hasic
- Candaliza
- Bellevue
- SharpTiles
- Plantilla de cadena
- Golpes de ala
- SharpDOM
- Maquinilla de afeitar
- Azur
Referencias
- ^ http://www.castleproject.org/download/
- ^ Paquete de acción Ruby on Rails
- ^ "InfoQ: ponerse al día con el proyecto del castillo" . Consultado el 13 de septiembre de 2007 .
- ^ Parr, Terence. Aplicación de una estricta separación de modelos y vistas en motores de plantillas
Otras lecturas
- James Avery, Jim Holmes, herramientas eléctricas para desarrolladores de Windows , O'Reilly Media, 2006, ISBN 0-596-52754-3 , págs. 963–972 (18.6 Simplificación del desarrollo web con Castle MonoRail)
- Steven Sanderson, Pro ASP.NET MVC Framework , Apress, 2009, ISBN 1-4302-1007-9 , pág. 12 (comparaciones con MonoRail)
enlaces externos
Recursos
- Documentación de MonoRail
- Presentación sobre MonoRail
Blogs sobre MonoRail
- Blog de Hamilton Verissimo , el fundador del Castle Project
- Blog de Ayende Rahien (Oren Eini) , el creador del motor de visualización Brail
- Blog de Eleutian
- .net y otras reflexiones
- Blog de Ken Egozi , el creador de AspView ViewEngine
- Blog de Adam Esterline