Introducción a ASP.NET MVC

  • Por
  • 04 de abril de 2011
  • Valoración:
  • 4 Comentarios
  • ASP, .NET
ASP.NET MVC es el “nuevo” framework que ha sacado Microsoft para desarrollar aplicaciones web, usando tecnología .NET.
Lo de nuevo entre comillas, viene porque la primera versión salió, aproximadamente, a mediados del 2009 y ya sabemos que en este mundo, casi dos años son una eternidad. De hecho, actualmente el framework ya va por su tercera versión y es esa tercera versión la que vamos a ver en esta serie de artículos.

ASP.NET MVC 3.0 permite el desarrollo de aplicaciones web usando .NET Framework 4.0 y Visual Studio 2010. No puede usarse Visual Studio 2008 aunque sí la versión Express (gratuita) de Visual Web Developer. ASP.NET MVC 3.0 no viene de serie, ni con Visual Studio 2010 ni con Visual Web Developer 2010. Puede instalarse usando Web Platform Installer o bien descargándolo desde http://www.microsoft.com/downloads/en/details.aspx?FamilyID=d2928bc1-f48c-4e95-a064-2a455a22c8f6&displaylang=en

¿Sustituye ASP.NET MVC a ASP.NET?

Esta es una de las primeras preguntas que se realiza mucha gente cuando oye a hablar por primera vez del Framework. La respuesta es un rotundo no, y por dos razones principales:
  1. ASP.NET MVC está construido usando ASP.NET. Todos los aspectos transversales de ASP.NET (autenticación, cache, sesión, roles,…) siguen siendo los mismos en ASP.NET MVC.
  2. Si a algo puede sustituir ASP.NET MVC es a Webforms, es decir a las páginas .aspx. Pero Microsoft ya ha anunciado que esto no sucederá: ambos frameworks (ASP.NET MVC y Webforms) se seguirán evolucionando. Así pues si has invertido tiempo en conocer y dominar Webforms, estate tranquilo: ese conocimiento sigue siendo válido. De todos modos yo te animo a que eches un vistazo a ASP.NET MVC y luego decidas cuál de los dos frameworks te gusta más para el desarrollo de aplicaciones web usando .NET.

El Patrón Modelo - Vista - Controlador (MVC)

ASP.NET MVC es, básicamente, una implementación del patrón Modelo - Vista - Controlador (MVC) para tecnología ASP.NET. El patrón MVC no es ni nuevo (data de finales de los años 70) ni está pensado para aplicaciones web, pero en realidad en aplicaciones web encaja perfectamente.

Brevemente podemos decir que el patrón MVC separa la lógica (y acceso a datos) de una aplicación de su presentación, usando 3 componentes:

  1. Modelo: Representa las reglas de negocio de la aplicación (y el acceso a datos subyacente).
  2. Vistas: Representan la presentación de la aplicación.
  3. Controlador: Actúan de intermediario entre el usuario y el Modelo y las Vistas. Recogen las peticiones del usuario, interaccionan con el modelo y deciden que vista es la que debe mostrar los datos.
En el contexto de ASP.NET MVC:
  • Toda la lógica de negocio y el acceso a datos es el Modelo (en muchos casos el Modelo puede estar en uno o varios assemblies referenciados).
  • Las vistas contienen, básicamente, el código que se envía al navegador, es decir el código HTML (y código de servidor asociado, siempre y cuando este código haga cosas de presentación, no de lógica de negocio).
  • Los controladores reciben las peticiones del navegador y en base a esas, deciden que vista debe enviarse de vuelta al navegador y con qué datos.

Ventajas de ASP.NET MVC

La ventaja que primero salta a la vista de ASP.NET es la facilidad con la que se generan URL semánticas, es decir URL que tengan la forma http://servidor/ver/productos/cafeteras en lugar de http://servidor/productos/ver.aspx?code=cafeteras. Las URLs semánticas se indexan mejor en los buscadores y son una práctica SEO habitual. No es que en webforms no se puedan hacer, es que en ASP.NET MVC vienen de serie.

Otras ventajas, más a nivel técnico, son que con ASP.NET MVC se facilita mucho el probar nuestra aplicación (especialmente usando pruebas unitarias) y que el uso correcto del patrón MVC facilita la reutilización de código de manera mucho más efectiva que en webforms.

Por supuesto, todo esto tiene un precio: la curva de aprendizaje de ASP.NET MVC puede ser más alta que la de webforms, especialmente si nunca has desarrollado para web. A diferencia de webforms, que te abstrae de HTTP y HTML, ASP.NET MVC está "mucho más cerca de la web", lo que hace necesario conocer HTTP, HTML y Javascript para trabajar con él. De todos modos eso no debería echarte para atrás: si quieres crear aplicaciones web es normal que debas conocer los protocolos y lenguajes en los que se asenta la web, ¿no?

A lo largo de esa serie de artículos, que vamos a publicar en el Manual de ASP.NET MVC, iremos viendo cómo desarrollar una aplicación ASP.NET MVC, usando la versión 3.0 del framework.

Autor

Eduard Tomàs

Key Consultant en Pasiona

Comentarios

sergiobotta

21/4/2011
Microsoft Expression Web 4
Puedo utilizar "Microsoft Expression Web 4" para crear aplicaciones ASP.NET MVC?

santimacnet

27/4/2011
ASP.NET MVC: 15 cuestiones que deberías conocer
Os dejo este link en mi blog:
http://santimacnet.wordpress.com/2010/10/02/asp-net-mvc-2-15-cuestiones-que-debes-conocer/

y link oficial de JM Aguilar:
http://www.variablenotfound.com/2010/05/aspnet-mvc-2-quince-cuestiones-que.html

daniel morales sanchez

29/10/2013
ayuda porfavor
cuales son: los parámetros necesarios para la instalación
de una aplicación web ASP.NET MVC2 en el
servidor.

test

18/1/2014
How to develop basic Asp.Mvc website, retrieving data from database and print it in View
How to develop basic Asp.Mvc website, retrieving data from database and print it in View

http://www.docstorus.com/viewer.aspx?code=64a851b3-0b51-436b-ac02-9ae9f7ea04af

Compartir