2010-02-10 12 views
10

Puede ser una tontería, pero no puedo encontrar una respuesta directa. Si una persona está a punto de comenzar a aprender desarrollo web sobre .Net Framework, ¿qué tecnología debería usar?Aprenda Asp.Net WebForms o Asp.Net MVC

  • Asp.Net Web Forms
  • Asp.Net MVC

Teniendo en cuenta estos tres aspectos

  • futuro ámbito
  • complejidad
  • características

Nota: ha hecho algunas WinForms programación con C#

Gracias

Respuesta

5

Como la mayoría de la gente dirá que estoy seguro, depende en gran medida de lo que quiera aprender y del estilo de desarrollo que desea desarrollar. Si quiere controlar su marcado de página y tiene la intención de utilizar mucho AJAX y CSS, entonces MVC es un mejor enfoque, la mayor compensación es que pierde los controles de Microsoft como Gridview y otros componentes de arrastrar y soltar. MVC es un framework muy potente y extensible, y aprenderlo también te permitirá aprender el patrón MVC (que es útil si alguna vez diversificas tus habilidades más adelante en otras plataformas de desarrollo).

Sin embargo, si está creando muchas aplicaciones web internas que necesitan entregarse rápidamente, Webforms es sin duda una mejor forma de hacerlo, está bien documentado y maduro, y los controles le permiten crear funcionalidades potentes de forma gratuita. Aunque obtendrá plantillas básicas para manipular datos en MVC, no es tan rápido como la creación de aplicaciones en Webforms.

Mi recomendación personal es aprender MVC (y su patrón) ya que no tiene una gran dependencia de los componentes exclusivos de Microsoft y le hace pensar en su aplicación en el frente y su interacción con el back-end.

Si quiere un buen ejemplo de un gran sitio de MVC ... está en ello ... stackoverflow se ejecuta en ASP.NET MVC.

Espero que esto ayude, es una opinión muy general y hay mucho más en ambos argumentos.Sin embargo, por experiencia personal, creo que MVC le enseñará muchas más tecnologías web estándar reutilizables a largo plazo.

Ciao

Jon

1

una respuesta definitiva a esta pregunta no es posible, sino que puede ayudar a tomar una decisión por la que destaca con algunos hechos y puntos clave de ambas tecnologías.

Los formularios web han estado allí desde hace mucho tiempo, por lo que son mucho más maduros y confiables en comparación con el mvc cuando se trata de hacer las cosas a tiempo. Incluso la base de conocimiento en la web es mucho más grande para formularios web en comparación con mvc.

Los formularios web son mucho más funcionales y le brindan más control sobre lo que desea y cómo desea hacerlo. Donde MVC tiene su propia belleza de ser plataforma de desarrollo de aplicaciones livianas.

Si eres un novato, te sugiero que primero busques formularios web y comiences a buscar mvc en paralelo.

stackoverflow.com se ha creado utilizando la plataforma asp.net mvc.

+1

No podría estar más en desacuerdo con usted. MVC es un patrón probado para marcos web (la mayoría son MVC). Existe una cantidad ridícula de conocimiento sobre el patrón en general Y sobre el marco ASP.NET MVC en particular. Ahora esta es mi declaración polémica: la mayoría de los mejores desarrolladores .NET ya han ido a un marco MVC (no necesariamente ASP.NET MVC) porque se dan cuenta de que es un patrón superior. –

+0

"Los formularios web son mucho más funcionales y le brindan más control sobre lo que desea" No puedo obtener esto. La mayoría de los Tutoriales/libros sugieren que MVC proporciona más flexibilidad y control sobre qué y cómo debe hacer la aplicación que WebForms. –

5

Esto puede ser fairly controversial :)

Mi opinión personal es; deje de invertir en formularios web (es un modelo roto para la web) y aprenda Asp.Net MVC para que no solo pueda producir aplicaciones web de diseño de pozos, sino también puede usar sus conocimientos en cualquier lugar de la web. MVC le informa acerca de HTTP, HTML y otras 'infraestructuras web' subyacentes que le ofrecen mayores posibilidades de obtener resultados exitosos.

Así que a menos que quieras ganar dinero (una vez más una opinión totalmente personal, tómalo con un poco de sal) apoyando instalaciones viejas de formularios web (un poco como COBOL - espera fans de caballos webforms :)) Definitivamente Asp.Net MVC;). Reconozco que no sé los desarrollos recientes en formularios web (especially 4.0 ones), por lo que es posible que desee esperar a que esos también ..

Editar: Si cree pasado winforms experiencia va a ser una ventaja o un argumento para usar formularios web (que es el principal argumento de venta para los desarrolladores de Microsoft, creo), estarás en lo cierto durante aproximadamente una semana e incorrecto el resto del tiempo. Tanto en formularios web como en winforms tienes controles. La similitud termina allí. El modelo de evento es totalmente diferente, el enhebrado es completamente diferente, ni siquiera se puede comenzar a comparar la representación, etc. Este es realmente el problema principal con los formularios web; tratando de parecer como winforms en una arquitectura totalmente diferente.

+0

Sin mencionar que la mayoría de los otros marcos web son MVC, por lo que su conocimiento de ASP.NET MVC también se podrá transferir a esos. –

3

Es mucho más fácil encontrar un trabajo haciendo WebForms, y MVC no parece estar llegando a los entornos de producción en este momento. Las aplicaciones más complejas están obligadas a usar MVC hoy en día, las más pequeñas probablemente prefieran WebForms, pero recuerde que las aplicaciones más pequeñas representan la mayoría del mercado de trabajo.

De cualquier manera no va a doler aprender ambos, o al menos captar los WebForms e invertir más en MVC (ya que finalmente lo obligará a aprender otras tecnologías usualmente asociadas con él: nHibernate/Entity, DDD, TDD y pronto). Además, puede usar muchos controles en MVC, con poco o ningún ajuste, aunque la mentalidad es muy diferente.

Cuestiones relacionadas