Releases de ASP.NET MVC 3, IIS Express, SQL CE 4, Web Farm Framework, Orchard, WebMatrix

Me enorgullece anunciar que hemos publicado las releases de varios productos:

  • ASP.NET MVC 3
  • NuGet
  • IIS Express 7.5
  • Sql Server Compact Edition 4
  • Web Deploy and Web Farm Framework 2.0
  • Orchard 1.0
  • WebMatrix 1.0

Estos productos son todos gratuitos. Se han creado con la release de .NET 4 y VS 2010, y añaden un montón de valor a ASP.NET ( Tanto para Web Forms como para MVC) y al conjunto de servidores web de Microsoft.

ASP.NET MVC 3

Ya está disponible la release final de ASP.NET MVC 3. Podéis descargarla e instalar ASP.NET MVC 3 aquí. El código fuente (publicado bajo una licencia open source) podéis descargarlo aquí.

ASP.NET MVC 3 es una actualización importante que nos trae un montón de funcionalidades. Algunas de ellas son:

Razor

ASP.NET MVC 3 viene con la opción de un nuevo motor de vistas llamado "Razor" (además de soportar y amplicar el motor de vistas .aspx). Razor minimiza el número de caractéres que tenemos que escribir en una plantilla de vista, y nos permite un flujo de desarrollo fluido y rápido.

Al contrario que la mayoría de las sintaxis, con Razor no tenemos que interrumpir la programación para indicar explícitamente el comienzo y el final de bloques de código de servidor en nuestro HTML. El parser de Razor es lo suficientemente listo como para inferirlo del código. Esto permite una sintaxis más compacta y expresiva lo que es limpio, rápido y divertido de escribir.

Podéis aprender más sobre Razor en algunos post que he hecho sobre él en los últimos 6 meses:

La release de hoy soporta intellisense completo en Razor (tanto de VB como de C#) en vS 2010 y en VS Web Developer 2010 Express.

Mejoras en JavaScript

ASP.NET MVC 3 permite escenarios de JavaScript más ricos y aprovecha las nuevas capacidades de HTML 5.

Los ayudantes de AJAX y de Validación en ASP.NET MVC 3 usan una aproximación no intrusiva de javaScript. Con las técnicas no intrusivas de JavaScript evitamos la inyección de código JavaScript en el HTML, y permite una separación más clara de comportamiento con el atrivuto nuevo de HTML 5 "data-" (que funciona perfectamente en navegadores antiguos - incluso en IE6). Esto nos permite tener nuestro HTML ligero y limpio, y hace más fácil personalizar nuestras librerías JS.

ASP.NET MVC 3 incluye el soporte para pasar parámetros JSON desde cliente a métodos de acción en javascript al servidor. Esto hace más fácil intercambiar datos entre el cliente y el servidor, y crear front-ends JavaScript ricos. Pensamos que esta capacidad será muy útil en escenarios en los que se incluyen plantillas de cliente con data binding. (incluyendo los plugins de jQuery con lo que el equipo de ASP.NET a contribuido al proyecto de jQuery).

Releases previas de ASP.NET MVC incluían la librería de jQuery. ASP.NET MVC 3 ahora trae incluido el plugin jQuery Validate (que lo usan los helpers de validación en escenarios de validación en cliente). También vamos a publicar e incluir jQuery UI por defecto (que ofrece un conjunto de widgets JavaScript para UI que podemos usar en nuestros proyectos).

Validación mejorada

ASP.NET MVC 3 incluye un montón de mejoras sobre validación que hacen más fácil trabajar con datos.

La validación del lado del cliente está habilitado por defecto con ASP.NET MVC 3 (usando una implementación no intrusiva). La release de hoy incluye el soporte para Validacion Remota - que nos permiten anotar nuestras clases del modelo con un atributo de validación que hace que ASP.NET MVC realice una llamada de validación remota para llamar un método de servidor cuando se valida en el cliente.

Las características de validación se introdujeron en el namespace de .NET 4 System.ComponentModel.DataAnnotations y ahora se soportan en ASP.NET MVC 3. Esto incluye el soporte para la nueva interfaz IValidatableObject - que nos permita realizar validación a nivel de modelo, y nos permite ofrecer mensajes de error específicos al estado del modelo, o entre dos propiedades del modelo.

ASP.NET MVC 3 soporta las mejoras que hemo hecho a la clase ValidationAttribute en .NET 4. ValidationAttribute soporta una nueva sobrecarga del método IsValid que ofrece más información sobre el contexto de validación, como qué objeto está siendo validado. Esto permite escenarios más ricos en los que podemos validar el valor actual basándonos en otra propiedad del modelo. Hemos añadido el atributo de validación [Compare] con ASP.NET MVC 3 que usa este soporte y hace más fácil realizar comparaciones y validaciones entre dos propiedades.

Podemos usar cualquier API de acceso a datos con ASP.NET MVC. El año pasado, hemos trabajado junto al equipo de datos de .NET para asegurarnos de que EF Code First funciona bien con aplicaciones ASP.NET MVC. En estos dos post hemos visto la última preview de EF Code First y cómo podemos usarlo en ASP.NET MVC 3 para permitir una edición fácil de datos (con soporte de validación desde el cliente y del servidor). La release final de EF Code First la publicaremos en las próximas semanas.

Hoy también publicamos la primera preview del proyecto MvcScaffolding. Nos permite crear controladores y vistas de ASP.NET MVC , y funciona muy bien con EF Code First (está hecho en base a plugins y permite otros proveedores de datos). Podéis aprender más sobre ello - e instalarlo con NuGet - desde el post de Steve Sanderson sobre MVcScaffolding

Output Caching

Versiones previas de ASP.NET MVC soportaban el cacheado de contenido en una URL o en un método de acción.

Con ASP.NET MVC 3 también soportamos el cacheado parcial de páginas - lo que nos permite cachear fácilmente regiones o fragmentos de una respuesta. Esto es muy útil en muchos escenarios, y nos permite reducir dramáticamente el trabajo que realizan nuestras aplicaciones en el servidor.

Este nuevo soporte de cacheado parcial en ASP.NET MVC 3 nos permite reusar regiones de una página a lo largo de varias URLs de un sitio. Puede cachear contenido en el servidor web, o cachearlo en una cache distribuidad de servidores como Windows Server AppFabric o memcached.

Postearé algunos tutoriales en el blog para ver cómo podemos aprovechar en ASP.NET MVC 3 estas características.

Mejor inyección de dependencias.

ASP.NET MVC 3 ofrece soporte para aplicar inyección de dependencias e integración con contenedores de inyección de dependencias.

Con ASP.NET MVC 3 no tendremos que crear clases factoría de controladores para permitir inyección de dependencias en los controladores. Podemos registrar un framework de Inyección de dependencias con ASP.NET MVC 3 y resolverá las dependencias no sólo para controladores, sino para vistas, filtros e acción, binders de modelos, proveedores de valor, proveedores de validaciones, y proveedeores de metadatos que posemos usar en nuestras aplicaciones.

Esto hace mucho más facil integrar la inyección de dependencias en nuestros proyectos.

Otras mejoras

ASP.NET MVC 3 incluye un montón de mejoras que nos ayudan a reducir el código que escribimos, y hacen que el código que escribimos sea mucho más limpio. Aquí tenéis unos ejemplos:

  • Mejorado el diálogo de New Project que hace más fácil empezar proyectos nuevos de ASP.NET MVC 3 desde plantillas.
  • Mejorado el soporte de Add->View Scaffolding que nos permite la generación de plantillas de vistas más limpias.
  • Nueva propiedad ViewBag que usa el soporte dinámico de .NET 4 para hacer más fácil pasar datos de controladores a vistas.
  • Soporte de filtros globales que nos permite indicar atributos de filtros  (como [HandelError]) por todos los controladores de una aplicación.
  • Nuevo atributo [AllowHTML] que nos permite una validación más granular cuando enviamos datos a nuestro modelo.
  • Soporte de controladores sin session que nos permite un control más fino cuando está habilitado el SessionState en un contolador.
  • Nuevos tipos ACtionResult como HttpNotFoundResult y RedirectPermanent para escenarios HTTP comunes.
  • Nuevo metodo Html.Raw() para indicar que la salida no debe ser codificada en HTML.
  • Nuevos helpers Crypto para hashear contraseñas.
  • Y mucho, mucho más ...

Aprender más sobre ASP.NET MVC 3

Estamos publicando un montón de tutoriales y ejemplos en http://asp.net/mvc. Aquí tenéis dos tutoriales muy buenos de ASP.NET MVC 3 disponibles hoy:

Pondremos más videos y tutoriales sobre ASP.NET MVC3 en http://asp.net/mvc en el futuro. Visitadlo regularmente para encontrar nuevos tutoriales a medida que se van publicando.

Cómo actualizar proyectos existentes.

ASP.NET MVC 3 es compatible con ASP.NET MVC 2 - lo que significa que es muy fácil actualizar proyectos MVC a ASP.NET MVC 3

Las nuevas característcias de ASP.NET MVC 3 es la evolución del trabajo que ya hemos hecho con MVC 1 y MVC 2 - es decir, las capacidades, cnoocimiento, librerias y libros que ya tengáis son directamente aplicable a MVC 3. MVC 3 añade nuevas características - no destruye ninguna ya existente.

Podéis actualziar proyectos ASP.NET MVC 2 siguiente el siguiente manual de pasos de actualización. También podéis usar la herramienta de actualización automática de ASP.NET MVC 3 para actualziar vuestros proyectos existentes.

Builds localizadas.

La releas de ASP.NET MVC 3 está disponible en Inglés. Vamos a publicar versiones localizadas de ASP.NET MVC 3 (en 9 lenguajes) en unos días. Postearé enlaces a las descargas localizadas una vez que estén disponibles.

NuGet

También hemos publicado NuGet - un administrador de paquetes gratuito y opensource que hace muy fácil encontrar, instalar y usar librerías opensource en nuestros proyectos. Funciona con todos los tipos de proyectos de .NET (incluyendo ASP.NET Web Forms, ASP.NET MVC, WPF, WinForms, Silverlight, y Librerías de Clases). Podéis descargarlo e instalarlo aquí.

NuGet permite a los desarrolladores que mantienen proyectos open source (por ejemplo. proyectos .NET como Moq, NHibernante, Ninject, StructureMap, NUnit, Windsor, Raven, Elmah, etc) empaquetar sus librerías y registrarlas en un catálogo online. Las herramientas cliente de NuGet - que incluyen integración completa con Visual Studio- hace trivial para cualquier desarrollador .NET  que quiera usar una de esas librerías encontrarlas e instalaralas en el proyecto en el que esté trabajando.

NuGet administra las dependencias entre librerias (por ejemplo: library1 depende de library2). También hace fácil actualizar (y eliminar) librerías de los proyetos más tarde. Soporta la actuailzación de archivos web.config (si un paquete necesita opciones de configuración). También permite que los paquetes añadan scripts PowerShell a un proyecto (por ejemplo: comandos de estructuras). importante, NuGet es transparente y limpio - y no instala nada a nivel de sistema. Sino que se centra en hacer fácil la administración de las librerías que usamos en nuestros proyetos.

El objetivo de NuGet es hacer lo más fácil posible integrar librerias open source con proyectos .NET.

Galería NuGet

Esta semana hemos lanzado la versión beta del sitio http://nuget.org - que permite a cualquiera buscar y navegar en la galería de paquetes disponibles para NuGet. Este sitio también permite a los desarrolladores mandar paquetes que quieran compartir con otros. Podéis aprender más sobre cómo crear y compartir paquetes aquí.

Hay cientos de proyectos .NET open source ya en la galería de NuGet hoy. Esperemos que haya miles más en el futuro.

IIS Express 7.5

También hemos publicado IIS Express 7.5. IIS Express es una versión gratuita de IIS 7.5 optimizado para escenarios de desarrollo. Funciona tanto para Web Forms como para ASP.NET MVC.

Pensamos que IIS Express combina la facilidad de uso del servidor web de ASP.NET (Cassini), que viene integrado con VS, con el poder de IIS. Concretamente:

  • Es ligero y fácil de instlaar (menos de 5 megas y rápida instalación).
  • No requiere una cuenta de administrador para ejectuar/depurar aplicaciones desde Visual Studio.
  • Ofrece un conjunto completo de características de servidor. - incluyendo SSL, URL Rewrite, y otros módulos de IIS 7.x.
  • Soporta el mismo modelo de extensibilidad e IIS y opciones del web.config que IIS 7.x soporta.
  • Puede instalarse en una máquina con IIS ya instalado así como el servidor de desarrollo de ASP.NET (sin ningún tipo de problema).
  • Funciona en Windows XP y superiores - dándonos todas las características de IIS 7 en todas las plataformas Windows.

IIS Express (como el servidor de desarrollo de ASP.NET ) se puede lanzar muy rápidamente para ejecutar un sitio que esté en un directorio. No requiere ningun paso de registro ni configuración. Esto lo hace muy fácil de usar para lanzar y ejectuar aplicaciones en escenarios de desarrollo. También podemos redistribuir IIS Express con nuestras aplicaciones si queremos un servidor web ligero. El EULA de IIS Express incluye derechos de redistribución.

VS 2010 SP1 añade el soporte para IIS Express. Leed mi post sobre VS 2010 SP 1 e IIS Express para aprender más sobre qué permite.

SQL Server Compact Edition 4

También hemos publicado SQL Server Compact Edition 4 (SQL CE 4). SQL CE es un motor de base de datos gratuito y embebido que nos aporta un almacenamiento de base de datos fácil.

No es necesaria ninguna instalación.

SQL CE no requiere que instalemos ni configuremos un servidor de base de datos para usarlo. Simplemente con copiar los binarios de SQL CE en el directorio bin de nuestra aplciación ASP.NET, y nuestra aplicación ya podrá usarlo como base de datos. No hace falta ningún permiso especial para su ejecución. no necesitamos tener una cuenta de administrador en la máquina. Tan solo con copiar nuestra aplicación web en cualquier servidor y funcionará. Incluso en escenarios de confianza parcial como los hostings web.

SQL CE se ejecuta en la memoria de nuestra aplicación web ASP.NET y comenzará a ejectuarse con el primer acceso que se haga a la base de datos, y se apatagrá automáticamente cuando se descarge nuestra a plicación. Las bases de datos SQL CE se guardan en archivos que viven en el directorio App_Data de nuestras aplicaciones ASP.NET.

Funcinoa con las APIs de datos existentes

SQL CE 4 funciona con las APIs de datos .NET existentes, y soporta una sintaxis similar y compatible con SQL Server Server. Es decir, podemos usar las mismas APIS existentes de ADO.NET, así como ORMs como Entity Framework y NHibernate. Esto nos permite aprovechar las capacidades de programación y APIs de datos que conocemos hoy.

Soporta escenarios de desarrollo, testing y producción.

SQL CE puede usarse en escenarios de desarrollo, testing y en entornos de producción con un uso pequeño. Con esta release de SQL CE 4 hemos hecho un trabajo de ingeniería para asegurarnos de que SQL CE  no se bloquea cuando lo usamos en entornos multi-thread (como ASP.NET). Este es un gran cambio con respecto a versiones anteriores - que fué diseñado para escenarios sólo de cliente y que se bloqueaba explícitamente cuando se ejecutaba en entornos de servidores web. A partir de SQL CE 4 podemos usarlo en servidores web.

No hay restricciones de licencia en SQL CE. ADemás es totalmente gratis.

Herramientas para VS 2010 SP 1

Visual Studio 2010 SP1 añade soporte para SQL CE 4 y proyectos ASP .NET. Leed mi post sobre VS 2010 SP1 y SQL CE 4 para enteraros de sus características.

Web Deploy y Web Farm Framework 2.0

También hemos publicado Microsoft Web Deploy V2 y Microsoft Web Farm Framework V2. Estos servicios ofrecen una forma flexible y poderosa de desplegar aplicaciones ASP.NET tanto en un sólo servidor, como en una granja de servidores web.

Podéis ver cuales son sus características en los post que he escrito sobre ellos:

Visitad el sitio http://iis.net para aprender más e instalarlo. Ambos son gratuitos.

Orchard 1.0

También hemos liberado Orchard v1.0

Orchard es un proyecto opensource gratuito y comunitario. Ofrece un Sistema de Administración de Contenidos (CMS) y un Sistema de Blogs, y hace posible la creación y administración de sitios web de forma fácil sin tener que escribir código (los administradores pueden personalizar un sitio a través de las herramientas de administración para el navegador integradas en Orchar). Leed estos tutoriales para aprender a cómo configurar y administrar vuestro sitio Orchard.

Orchard ha sido creado como una aplicación ASP.NET MVC 3 usando plantillas de vista Razor (y por defecto usa SQL CE 4 como almacén de datos). Los desarrolladores que quieran extender un sitio Orchard con funcionalidades personalizadas pueden abrir y editarlo como un proyecto de Visual Studio - y añadir controladores y vistas MVC como quieran.

WebMatrix 1.0

WebMatrix es una herramienta nueva de desarrollo web gratuita de Microsoft que ofrece un conjunto de tecnologías que hacen más fácil aún el desarrollo de sitios web. Permite a un desarrollador empezar un sitio web navegando y ddescargando una plantilla de aplicación de las disponibles en la galería online de sitios web (que incluye aplicaciones populares como Umbraco, DotNetNuke, Orchard, WordPress, Drupal y Joomla). ADemás también permite a los desarrolladores crear y codificar sitios web desde cero.

WebMatrix está centrado en tareas y ayuda a guiar a los desarrolladores a medida que trabajan en los sitios. WebMatrix incluye IIS Express, SQL CE, y ASP.NET -ofreciendo un servidor web integrado, base de datos y un framework de programación. Incluye también el soporte integrado para publicar webs que hace más fácil encontrar y desplegar sitios en hostings web.

Podéis aprender más sobre WebMatrix en mi post de introducción a WebMatrix de este verano. Visitad http://microsoft.com/web para descargarlo e instalarlo hoy.

Resúmen

Estoy muy orgulloso de estas releases - ofrecen un montón de valor que hace que el desarrollo web con ASP.NET, Visual Studio y los servidores web de Microsoft sea mucho mejor.

Un montón de gente ha trabajado duro para hacer esto posible. En nombre de todo el equipo - esperamos que os gusten.

Scott.

Traducido por: Juan María Laó Ramos.

Artículo original.

Un pensamiento en “Releases de ASP.NET MVC 3, IIS Express, SQL CE 4, Web Farm Framework, Orchard, WebMatrix

  1. Pingback: Ejecutar una aplicación ASP.NET MVC 3 en un servidor web que no tiene instalado ASP.NET MVC 3 « Thinking in .NET

Deja un comentario