Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/05/2011, 17:46
speack
 
Fecha de Ingreso: enero-2004
Ubicación: mexico
Mensajes: 110
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: Diferencia entre asp.net Mvc y Web Forms

Esa es una excelente pregunta amigo.

Voy a tratar de ser lo mas breve posible, y si deseas profundizar en el tema... con gusto podemos seguir el thread.

Antes que nada debes saber que el framework de MVC surgió varios años después del lanzamiento de asp.net, esto quiere decir que la propuesta original fué la de los Web forms. Este concepto se concentra en mantener el estado de la página en un medio llamado ViewState, y me refiero por estado, a los valores que tienen los controles (text boxes, dropdown list), incluso puedes programar tus propios controles y decidir que información persiste en la página entre cada ida y vuelta del servidor al cliente. La principal ventaja de este concepto es que permitió integrar a desarrolladores que no tienen tanta experiencia en el desarrollo web y no estan tan familiarizado con conceptos como JavaScript, Html, peticiones get y post, etc etc etc. brindando con ello un tiempo de desarrollo considerablemente rápido. Como desventaja se da que muchos programadores recurren a llamadas al servidor para problemas que se podrían resolver desde el cliente con javascript por ejemplo. Esto no se debe a que la plataforma .net no lo permita, si no que los desarrolladores provenientes de plataformas no Web, no distinguen estos procesos.

MVC es un concepto que no es nuevo (de hecho es bastante viejito) y ya es muy usado en tecnologias como java, php y otras. Da muchas ventajas entre las que principalmente encuentro que el desarrollador tiene control completo sobre la petición y respuesta de las páginas. Me refiero a que en los Web Forms, mucho (casi todo) el código HTML es generado por un interprete de .net, es decir, tu puedes agregar un control de tipo, <asp:Label /> y el HTML que genera es un <span>, por poner un ejemplo.

En resumen, los web forms tiene como ventaja, mayor velocidad en el desarrollo y permiten crear aplicaciones web a programadores con poca experiencia. MVC permite crear aplicaciones con mayor calidad y detalle, pero los desarrolladores deben conocer mejor el proceso de la web.

Para ti, que vienes de PHP definitivamente te recomiendo que le des directamente a MVC, ya que a parte de que te será mas familiar a lo que ya conoces, Microsoft le esta dando ya mucho empuje a MVC por las bondades que te comento, ademas de que la innovación de las herramientas y las tendencias indican que el futuro de ASP.Net está en MVC, (aunque los programadores con miedo al cambio digan lo contrario :P).

Espero que mi chorote te haya servido, saludos.
__________________
Controles Web para ASP.NET (Tabstrip, Datepicker, Calendar, Panel colapsable...) en
www.enlasys.com