2009-04-26 19 views
7

Este es un momento en el que he estado pasando los últimos días aprendiendo sobre .NET y el proceso me ha dejado un poco confundido en lugar de iluminado. Solo como información de fondo, tengo conocimiento de PHP (incluso he usado CakePHP para crear una aplicación completa con bastante facilidad) y Rails..NET MVC o simplemente viejo ASP.NET?

Me pregunto si debería buscar ASP.NET o si debo seguir aprendiendo ASP.NET MVC? Mientras estaba repasando algunos tutoriales de ASP.NET, los conceptos básicos parecían bastante sencillos, pero de alguna manera, cuando cada ejemplo que he seguido almacena sentencias SQL directamente en el ejemplo sin un DAL, me preocupa un poco.

Entonces, en caso de que no estuviese haciendo una buena investigación, ¿hay algún libro/sitio que ayude en esto? ¿O debería ir y aprender .NET MVC?

Si se pregunta por qué no me quedo con PHP o Rails, me acabo de enterar de que podría tener que conocer un poco de .NET para la seguridad de mi trabajo.

+0

Estoy de acuerdo con Denis - MVC es significativamente más limpio y, en mi experiencia, se presta a un producto finsihed más sostenible. – Mark

Respuesta

13

ASP .net MVC estará más cerca de la experiencia de sus rieles.

ASP .NET Web Forms (lo que generalmente se llama ASP.net) es claramente diferente, pero si estás aprendiendo por el bien de encontrar trabajo, es lo que pagará durante mucho tiempo (hay muchos sitios , tanto internos como públicos) construido en formularios web ASP .net. Hay algunos sitios emergentes que usan ASP.net MVC, pero es un largo camino.

Por lo tanto, depende de sus objetivos. Si solo necesitas saber "un poco de .net", ve con MVC porque conocerás los conceptos. Si necesita saber "la pila web .net", la mayoría de las personas utilizará formularios web, no MVC ...

Y sí, las muestras en el mundo de Microsoft tienden a ser del "lado más ligero". Es casi imposible encontrar demos que no tengan el sentimiento "draggy-droppy", y es un problema REAL.

4

Rob Conery ha escrito un libro sobre ASP.MVC, por lo que puede parecerle parcial. Sin embargo, me parece convincente su arguments.

+0

Gran enlace. Gracias. –

5

Creo que los ejemplos sin DAL que está viendo están escritos de esa manera por simplicidad. Las aplicaciones ASP.Net serias siempre usan capas como BLL y DAL. La separación del DAL simplemente se omite en ejemplos simples, lo que conduce a la mala interpretación desafortunada de los ejemplos por parte de personas que no saben más.

Creo que MVC es más difícil de programar, y que es mejor usarlo solo cuando hay una razón específica para usarlo: optimización SEO, desarrollo TDD. Ignora muchas de las funcionalidades sofisticadas disponibles en ASP.Net WebForms y a menudo se compara con ASP clásico. Y no creo que MVC se haya adoptado ampliamente en muchos entornos corporativos, por lo que si desea aprender el enfoque utilizado por todos los demás, quédese con ASP.Net básico y guarde MVC para más adelante.

Como principiante de .Net con abundante experiencia en otros lenguajes de programación, le recomendaría que continúe sus estudios de ASP.Net utilizando WebForms. Si está buscando un ejemplo serio de DAL, le recomiendo encarecidamente this lengthy tutorial en el sitio web de ASP.Net. Tiene todos los refinamientos arquitectónicos que busca, y puede ser útil para aprender a usar los muchos controles de visualización de datos.

+0

+1 para el enlace de acceso a datos asp.net. Información muy valiosa –

+0

"MVC no se ha generalizado ...": solo se lanzó durante unas semanas, ¿qué esperas? MVC es mucho más adecuado para la web como lo demuestra el uso intensivo de este patrón en casi todos los demás marcos de desarrollo. WebForms, con su modelo basado en eventos fue desarrollado para facilitar a los desarrolladores de WinForms traducir sus habilidades a la web. MVC es una opción mucho mejor para el desarrollo web y, finalmente, IMO superará a WebForms como la plataforma web preferida para .NET. – tvanfosson

+0

El lanzamiento preliminar inicial fue en julio de 2008. Ha estado fuera por un tiempo, y el concepto general de MVC ha existido por décadas. Los dos presentadores de Microsoft que he visto han sido tibios sobre la utilidad general de este enfoque, uno de los cuales dice que el 90% de los desarrolladores de ASP.Net nunca lo usarán y no lo necesitan. Los desarrolladores de StackOverflow lo usaron y se encontraron con problemas serios que enfriaron su ardor. – DOK

5

Elegir ASP.Net MVC sobre ASP.Net WebForms por una razón: probar. MVC fue diseñado desde cero para ser un sistema conectable y comprobable. Las pruebas son, o al menos deberían ser, una parte inseparable de su ciclo de desarrollo. Las pruebas de MVC son más fáciles de realizar que los WebForms debido a la capacidad de MOCK o reemplazar partes de la API principal.Hacer el equivalente en WebForms no es posible o muy difícil de manejar.

2

leído recientemente ASP.NET 3.5 Application Architecture and Design - era una mirada razonable en muchos aspectos diferentes de diseño dentro de ASP.NET, incluyendo Data Access Layers, N-Tier architecture, patrones de diseño y tocó en MVC, entre otros temas. Fue bueno como resumen de las mejores prácticas de ASP.NET, si busca un libro.

Tendría que estar de acuerdo con los demás en que lo mejor sería mirar directamente a ASP.NET MVC ya que sus habilidades actuales se traducirán mejor a ese marco. Recomendaría echar un vistazo al Professional ASP.NET MVC 1.0.

5

Un colega mío ha escrito sus experiencias sobre el uso de ASP.NET MVC en un proyecto del mundo real en http://www.mindscape.co.nz/staff/jeremy/index.php/2009/02/loving-aspnet-mvc/ y sus comparaciones con ASP.NET. Su conclusión es "Creo que MVC es el camino a seguir para construir aplicaciones web en .NET Framework".

También ha escrito algunos tutoriales detallados que muestran cómo usar ASP.NET MVC con un ORM que podría ayudar a resolver el problema de "poner SQL directamente en el ejemplo sin DAL" (también cubre cosas como pruebas unitarias) . Consulte http://www.mindscape.co.nz/staff/jeremy/index.php/2009/03/aspnet-mvc-part1/, http://www.mindscape.co.nz/staff/jeremy/index.php/2009/03/aspnet-mvc-part2/, http://www.mindscape.co.nz/staff/jeremy/index.php/2009/03/aspnet-mvc-part3/ y http://www.mindscape.co.nz/staff/jeremy/index.php/2009/03/aspnet-mvc-part4/. Descargo de responsabilidad: estos están escritos en términos de nuestro ORM comercial, pero espero que sea fácil de traducir a su propia tecnología de acceso a datos preferida.