Cuyahoga

by Luis Roig on abril 13th, 2010

Actualmente estoy inmerso en el desarrollo de una aplicación web orientada principalmente a la gestión de contenidos y sites, y por ello quería dedicar un post a hablar sobre Cuyahoga, el framework open-source que estoy usando para llevar a cabo el proyecto.

Cuyahoga es un framework de código abierto escrito en C# para desarrollar aplicaciones web de forma modular bajo la plataforma .NET. ¿En que consiste exactamente esta arquitectura modular? Pues consiste en desarrollar funcionalidad en forma de pequeños módulos que serán lo más genéricos que podamos (un blog, un foro, una tienda online) y que después insertaremos en las distintas secciones de los sites que funcionen sobre Cuyahoga.

Logo Cuyahoga 2

Esta forma de trabajar nos permite tener muy acotada la extensión de una aplicación ya que dividimos en varios mini-proyectos toda la funcionalidad que necesitamos. Cuyahoga nos proporciona clases de las que heredar para crear fácilmente estos módulos. De esta forma compilaremos cada módulo en su propio .dll sin tener que recompilar o desplegar el resto de la aplicación.

Además, Cuyahoga está construido sobre Castle Windsor, un framework de software libre que entre otras cosas aporta funciones de Inversión de Control (al estilo de Spring en el mundo Java). A través del contenedor de Castle, Cuyahoga nos deja accesibles de forma sencilla servicios para acceder a la estructura del site, acceder a la base de datos (a través de NHibernate), roles de usuario y mucho más.

Actualmente la versión 2.0 de Cuyahoga está en Alpha, e incluye varias mejoras (entre ellas la de adoptar ASP.NET MVC para el desarrollo de módulos). Desgraciadamente, por ahora dista mucho de estar preparada para producción. Para este proyecto estoy usando la versión 1.6.0, que tiene un interfaz de administración más sobrio y hace uso de WebForms, pero tiene una ventaja vital: que compila y corre sin problemas sobre Mono.

Para quien no conozca Mono, decir que se trata de un importante proyecto open source que tiene como objetivo soportar la plataforma .NET de Microsoft en otros sistemas operativos, como Linux o Mac OSX. Esto quiere decir que podemos compilar Cuyahoga con Mono o incluso usar los .dll compilados previamente con Visual Studio, y correr nuestra aplicación web en un stack Linux + Apache + MySQL.

Y hasta aquí esta pequeña introducción sobre Cuyahoga. En futuros posts trataré más a fondo otros aspectos técnicos, como por ejemplo su despliegue sobre Mono, Apache, MySQL y Linux.

From → Sin categoría

Escribe un comentario!

Nota: Se permite XHTML. Tu email nunca se publicará.

Suscríbete a este feed de comentarios via RSS