Actualización del Road-Map del ASP.NET MVC Framework

En diciembre publicamos la primera preview del nuevo ASP.NET MVC Framework como parte de ASP.NET 3.5 Extensions CTP. También he escrito unos cuantos post describiendo cómo es y cómo podemos usarlo:

Hemos tenido un gran feedback desde entonces, y un montón de descargas. Una de las preguntas más frecuentes ha sido “¿cuando habrá una nueva release y qué tendrá?”

En este post veremos algunas cosas nuevas en las que ha estado trabajando el equipo de ASP.NET MVC, y algunas características que estarán disponibles. También haré unos cuantos post más adelante sobre ASP.NET Dynamic Data y ASP.NET AJAX.

Todas estas mejoras (ASP.NET MVC, ASP.NET Dynamic Data, y las mejoras en ASP.NET AJAX) estarán disponibles dentro de poco y funcionarán con VS 2008 y .NET 3.5.

ASP.NET MVC MIX Release.

Estamos planeando publicar la próxima preview de ASP.NET MVC en el MIX 2008 dentro de unas semanas. Estará disponible para descarga para quien quiera (no hace falta asistir al MIX para obtenerla). Hemos incorporado un monton de feedback. Aquí tenéis algunas de estas mejoras:

1) ASP.NET MVC Framework se puede desplegar en el directorio bin de una aplicación.

La primera preview de ASP.NET MVC necesitaba un programa de instalación para registrar el assembly System.Web.Mvc.dll en el GAC(global assembly cache) de la máquina.

Con la nueva preview permitiremos que las aplicaciones referencien directamente al asembly desde el directorio bin. Es decir, no necesitaremos ningún programa de instalación para que se use – sólo tenemos que copiar nuestra aplicación en un servidor ASP.NET (no hay que registrar ni hacer nada para configurarlo).

También estamos trabajando para permitir que se ejecute en hosting de “confianza parcial/media”. Esto nos permitirá usarlo con cuentas de hosting más baratas – ya que no hace falta que el hosting haga nada para habilitarlo (sólo tenemos que subir por FTP nuestra aplicación y lo tendremos ejecutandose – no hay que instalar nada).

2) Mejoras en las características de rutado y en la infraestructura.

Una de las características más potentes de ASP.NET MVC es el motor de rutado URL (lo vimos en este post)

La nueva preview tiene más características de rutado URL. Podemos usar rutas nominadas (permitiendo referencias explícitas de reglas de rutado), uso más flexible de reglas de rutado comodín (permitiendo urls personalizadas basadas en CMS), y derivar y declarar reglas personalizadas de rutado (permitiendo escenarios como mapeado de recursos REST, etc).

También hemos excluido la infraestructura de rutado url del resto del framework para esta preview, lo que nos permite usar otras características no-MVC en ASP.NET ( como ASP.NET Dynamic Data y ASP.NET Web Forms).

3) Mejoras del soporte de VS 2008

La primera preview de ASP.NET MVC tenía un soporte mínimo para VS 2008 (básicamente era un template).

La nueva versión tiene una integración bastante mejorada con VS 2008. Incluye mejores templates, configuraciones por defecto de proyectos, etc. También estamos añadiendo un asistente “Test Framework” que se ejecutará cuando creemos un nuevo proyecto. De esta forma podremos nombrarlo más fácilmente y crear proyectos de test unitarios para las aplicaciones ASP.NET MVC.

Este asistente es “pluggable” y ofrece templates para proyectos de test unitarios a añadir a la lista de test:

De esta manera podemos elegir el framework de testing que queramos.

4) El atributo [ControllerAction] ya no hace falta.

La primera preview requería que los métodos de acción de las clases Controlador tenías que estar marcados con el atributo [ControllerAction] para que pudiesen invocarse:

Basándonos en el feedback, la nueva preview elimina este requisito. En lugar de ello, todos los métodos públicos de una clase Controlador se considerarán como métodos de acción:

Nota: Ahora podemos añadir atributos para evitar que un método público de una clase controlador sea un método de acción.

5) Nuevo atributo de filtrado para controladores y métodos de acción

Una de las nuevas características de extensibilidad en la nueva versión son los llamados “Atributos de filtrado” (Filter Attributes). Nos permite inyectar interceptadores de código en las peticiones de un controlador MVC que se puedan ejecutar antes y después de que un Controlador o un método de acción se ejecute. Esta capacidad nos permiten escenarios de encapsulación en el que podemos empaquetar y reusar funcionalidad de manera clara.

Por ejemplo, Podemos usar el atributo de filtrado [OutpuCache] para cachear el listado de productos de la página por 30 segundos:

O usar el atributo [Authorization] para asegurar que sólo los usuarios con cierto rol de seguridad que les permite editar un producto:

El mecanismo de filtrado es extensible, podemos crear fácilmente nuestros propios atributos de filtrado. Los filtros (  y los controladores/acciones que usan filtros) pueden ser testeados.

6) HTML Helpers integrados

La primera versión sólo tenía unos pocos métodos de ayuda HTML integrados en el assembly. Pusimos más tarde una descarga aparte que incluía un montón de métodos de ayuda HTML.

Esta nueva preview tiene todos esos métodos integrados (no en una descarga a parte). El mes que viene vamos a empezar a hablar sobre algunas mejoras en las librerías de cliente de ASP.NET AJAX, así como de otros métodos de ayuda AJAX que estamos creando para integrarlo con ASP.NET MVC

7) Mejoras de refactoring y diseño.

Esta versión de ASP.NET MVC incluye varias mejoras de refactoring y diseño que hacen a MVC más extensible y testeable. En general el equipo ha seguido una filosofía en la que para todas las características tenías tres opciones:

  1.  Usar las características/implementaciones “as-is”.
  2. Personalizar muy poco las características/implementaciones integradas con pocas líneas de código.
  3. Intercambiar completamente las implementaciones por unas personalizadas.

Por ejemplo: podemos sobreescribir el lógica del localizador de ViewEngine sin tener que sobreescribir la lógica de ejecución (y viceversa) – o intercambiar completamente los ViewEngines. El soporte de factoría de controladores se han extendido para hacer mucho más fácil la integración y la independencia de frameworks de inyección. Las regla de rutado son totalmente extensible. Los controladores son más sencillos de testear, etc.

8) Código de ASP.NET MVC descargable que puede compilarse y parchear

El mes pasado anuncié que el código fuente de .NET puede ser descargado y debugeado. Una vez que publiquemos el framework ASP.NET MVC también estará disponible por este mecanismo (como el resto del código de ASP.NET).

Desde esta próxima versión, vamos a poner el código de ASP.NET MVC como una descarga compilable como solución para VS. De esta manera podremoS ver y debugear más fácilmente el código de ASP.NET MVC. También icluiremos una licencia que permita crear parches´.

La licencia no permitirá distribuir vuestra versión parcheada de ASP.NET MVC (queremos evitar tener varias versiones incompatibles de ASP.NET MVC dispersas por ahí en conflicto entre si). Pero permitirá a los desarrolladores que quieran crear aplicaciones ASP.NET MVC ya para seguir progresando – y no tener que preocuparse por quedarse bloqueado por un bug interno que no puedan corregir.

Resumen

Hay un montón de otros cambios que estarán disponbiles con ASP.NET MVC (junto a más propiedades/métodos/objetos nuevos). Hemos visto unas cuantas mejoras que pronto estarán disponibles. Haré un post sobre el MIX con un enlace a la nueva versión cuando esté disponible.

Espero que sirva.

Scott.

Traducido por: Juan María Laó Ramos.

Artículo original.

Author: Juanma

Bueno, como reza el título de este blog y de las cosas que iré escribiendo ya os hareis una idea de cómo soy.

3 thoughts on “Actualización del Road-Map del ASP.NET MVC Framework”

  1. Hola, quisiera que por favor alguien me pueda explicar porque para utilizar el MVC es necesario que utilice el Visual Studio 2008 con el .NET Framework 3.5 ?

    Puedo utilizar la versión del Visual Studio 2003 para utilizar dicho patrón ?

    Muchas gracis.

    Like

    1. Hola fabian:
      ASP.NET MVC es un framework para crear aplicaciones aplicando el patron MVC con ASP.NET. No significa que no puedas aplicarlo con Visual Studio 2003.
      Tienes más información en este mismo blog en la categoría MVC o en http://www.asp.net/mvc

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create your website with WordPress.com
Get started
%d bloggers like this: