La mejor manera de aprender ASP.NET
Spanish (Español) translation by steven (you can also view the original English article)
¿Quieres aprender ASP.NET? No puedo culparte. No solo es una plataforma extremadamente flexible, sino que los desarrolladores de .NET tienen una gran demanda y seguirán teniéndola. Desafortunadamente, puede ser una plataforma intimidante para aprender, especialmente si eres nuevo en el desarrollo o nunca has usado Java o C++. Sin embargo, una vez superada la proverbial joroba, encontrarás que es una plataforma gratificante y agradable para desarrollar. Este plan de estudios está diseñado para ponerte en funcionamiento en la pila ASP.NET, pudiendo escribir tus propias aplicaciones.
Tarea 0: Ignora a los detractores
Tomando una página de la guía anterior de Siddharth para aprender PHP, ignora a los que odian. La mayoría de los críticos de ASP.NET son niños que no saben nada sobre la plataforma, salvo que fue creada por Microsoft; no han pasado cinco minutos con él para llegar a ningún tipo de opinión informada.


Si bien ciertamente hay críticas válidas a la plataforma, generalmente las hacen desarrolladores que no solo conocen C# y el framework .NET, sino también PHP, Ruby, C++, Java y otras plataformas.
ASP.NET no es perfecto, no existe tal cosa. Pero es una de las tecnologías del lado del servidor más flexibles y potentes disponibles en la actualidad.
Tarea 1: Elige un lenguaje
Te recomiendo que elijas C#.
ASP.NET a menudo se considera incorrectamente como un lenguaje de programación; en realidad, es una plataforma construida sobre Common Language Runtime (CLR) de .NET, el componente del framework .NET responsable de ejecutar aplicaciones .NET. Debido a esto, un desarrollador de .NET puede usar cualquier lenguaje habilitado para .NET que desee para escribir su aplicación ASP.NET. Esto significa que puedes escribir una aplicación en C#, Visual Basic.NET, Python, PHP, Perl y muchos otros lenguajes. Siempre que haya un compilador .NET para el idioma elegido, puedes escribir una aplicación ASP.NET con él.
Teniendo esto en cuenta, te recomiendo que elijas C#. Si bien puede resultar tentador elegir otro idioma con el que estés más familiarizado, la mayor parte de la información, tanto en los libros como en la Web, está orientada a los idiomas admitidos oficialmente por Microsoft: C# y VB.NET. Además, C# fue diseñado específicamente para el framework .NET y, por lo tanto, es el más intuitivo para usar las características de .NET. Ésta es una de las razones por las que .NET es intimidante; no solo tienes que aprender el framework, sino también un nuevo lenguaje. Pero al final vale la pena.
Crédito adicional
- Visual C# 2010 paso a paso: Después de elegir un idioma, es una buena idea familiarizarte con él. Si deseas profundizar en el lenguaje C# antes de ingresar a ASP.NET, te recomiendo Visual C# 2010 paso a paso. Es una muy buena introducción al lenguaje y también te presentará muchos aspectos del framework .NET. No es una lectura obligatoria, pero te resultará más fácil aprender ASP.NET con una base sólida en C#.
- ASP.NET desde cero: Tuts+ tiene una serie de ritmo semi-rápido llamada ASP.NET desde cero, presentada por los suyos. Las lecciones iniciales tienen un par de años, pero la lección 1 y la lección 2 te brindan algunos antecedentes de la plataforma, así como una breve introducción a ASP.NET. No es necesario que sigas los ejemplos (utilizan herramientas más antiguas que no querrás descargar), pero mira las primeras lecciones para tener una idea de en qué te estás metiendo. Las lecciones posteriores funcionan con el framework MVC, que debes esperar para aprender hasta más adelante. La serie fue diseñada para que puedas comenzar a usar ASP.NET, por lo que no es tan completo como podría ser un libro, pero eso se solucionará con...
Tarea 2: Leer algunos libros
Dos para ser exactos. No hay escasez de libros ASP.NET en el mundo, pero hay libros malos, buenos y excelentes. Los dos que se enumeran aquí son excelentes y quiero que los leas en orden.
Comenzando con ASP.NET 4 en C# y VB
Autor: Imar Spaanjaars
Comenzando con ASP.NET 4 en C# y VB comienza desde el principio, guiándote a través de la descarga e instalación de una versión gratuita de Visual Studio llamada Visual Web Developer Express. Luego, te embarcarás en tu viaje de ASP.NET, aprendiendo la sintaxis, los controles, los temas y otras características de la plataforma. Así como Visual C# 2010 paso a paso te brinda una base sólida en C#, ASP.NET 4 inicial de Spaanjaars en C# y VB te brinda una base sólida en los fundamentos de ASP.NET.
ASP.NET 4 profesional en C# y VB
Autores: Bill Evjen, Scott Hanselman y Devin Rader
Este libro profundiza en ASP.NET para brindarte una comprensión más completa de la plataforma. No solo ampliarás los temas cubiertos en el libro de Spaanjaars, sino que te presentará otras características de ASP.NET y el framework .NET: Sesiones, el modelo de proveedor, membresía (autenticación y roles de usuario), seguridad, administración del estado, almacenamiento en caché y la lista continúa. No hay mucho que este libro no cubra, y será un recurso invaluable al que puedes regresar cuando necesites un repaso sobre una característica o tema en particular.
Cuando termines estos dos libros, comprenderás muy bien la plataforma. Así que es hora de diversificarte y...
Tarea 3: Crear algo
Leer es una cosa; hacer es otra.
Leer es una cosa; hacer es otra. Si bien, sin duda, seguiste los ejemplos de los libros enumerados anteriormente, hacer algo por tu cuenta es una de las mejores formas de aprender. Entonces, para esta tarea, escribe algo. La creación de tu propio motor de blogs, foros o lista de tareas pendientes pondrá en práctica lo que has aprendido. Comienza poco a poco y agrega más a tu proyecto a medida que terminas una pieza. Asegúrate de incluir las siguientes características:
- Basado en bases de datos: Debe ser impulsado por bases de datos. Utiliza Microsoft SQL Server Express como tu almacén de datos y diseña las tablas que necesitarás para tu aplicación. Si eres nuevo en el diseño de bases de datos, normalmente es una buena idea pensar en tus datos como objetos lógicos. Por ejemplo, una aplicación de blog podría tener una tabla llamada BlogPosts donde los campos de la tabla describen publicaciones de blog (título, publicación, fecha de publicación, etc.). Mantenlo simple y lógico.
- Interfaz de usuario: Debe tener una "interfaz". Con esto, me refiero a la parte de la aplicación que los visitantes verían; es el contenido que se supone que debe mostrar tu proyecto. Si creas un blog, son las publicaciones del blog, los archivos, etc. Si estás creando un foro, son los hilos y las publicaciones que contiene. Si se trata de una lista de tareas pendientes, son las tareas de las que tú (u otros usuarios) deben realizar un seguimiento.
- Administrador: Debe tener un "back-end". Esta es la parte administrativa del proyecto, donde mantienes las publicaciones del blog, el foro o la lista de tareas pendientes. Asegúrate de protegerlo solicitando a los administradores que se autentiquen.
Nunca temas abrir un libro o hacer preguntas en la Web. Sitios como www.stackoverflow.com y forums.asp.net son recursos valiosos donde puedes hacer preguntas y obtener consejos de profesionales que han utilizado la plataforma durante años.
Crédito adicional
Como crédito adicional (para ti), agrega usuarios y roles.
- Para un blog, agrega la capacidad de que varios autores publiquen publicaciones de blog y asígnales roles que determinen qué privilegios tienen.
- Si es un foro, agrega la capacidad para que los usuarios se registren para obtener una cuenta y comiencen y agreguen temas. Utiliza también roles para determinar qué pueden y qué no pueden hacer los usuarios. Agrega moderadores y super-administradores para el crédito adicional.
- Si se trata de una lista de tareas pendientes, conviértela en multiusuario, donde los usuarios pueden tener su propia lista de tareas pendientes exclusiva y privada.
Naturalmente, necesitarás alguna forma de administrar estos usuarios y roles, así que asegúrate de agregar esa capacidad a tu "back-end".
Tarea 4: Mira cursos de ASP.NET desde cero con MVC
La tecnología WebForms que has estado usando hasta este punto es solo uno de los patrones de programación que puedes usar para crear aplicaciones ASP.NET. Un segundo modelo de programación es el MVC en ASP.NET. Sigue siendo ASP.NET pero usa un patrón de programación diferente llamado MVC (Modelo Vista Controlador - Model-View-Controller), y es notablemente diferente a WebForms.
Para comenzar con el framework MVC, mira las siguientes lecciones de ASP.NET desde cero:
- Introducción a MVC
- Rutas en MVC
- Controladores y validación simple de modelos
- Vistas
- Vistas en MVC3
Estas lecciones te ayudarán a comenzar a trabajar en la ruta MVC rápidamente.
Tarea 5: Leer algunos libros de MVC
ASP.NET MVC 3 profesional
Autor: Jon Galloway, Phil Haack, Brad Wilson, K. Scott Allen
Algunas partes de este libro se revisarán de cursos de ASP.NET desde cero, pero cubre otros temas como el desarrollo basado en pruebas (TDD), la seguridad y la extensión de MVC, además de profundizar en los temas cubiertos en videos de ASP.NET desde cero. Este es un recurso imprescindible para cualquier desarrollador de ASP.NET que desee comprender el framework MVC.
Framework profesional ASP.NET MVC 3
Autor: Steven Sanderson, Adam Freeman
Una vez más, habrá material de revisión, ya que muchos temas están cubiertos en ASP.NET desde cero y ASP.NET MVC 3 profesional, pero este es un excelente recurso para brindarte la perspectiva de otros desarrolladores sobre el framework MVC.
Tarea 6: Reescribir algo usando el framework MVC
Así como escribir algo para la Tarea 3 ayudó a solidificar tu comprensión de ASP.NET en WebForms, necesitas escribir algo usando el framework MVC. Cuando aprendo un nuevo lenguaje o patrón, me gusta reescribir un proyecto existente usando mis nuevos conocimientos. Entonces, para esta tarea, reescribe la aplicación que escribiste para la Tarea 3, pero usa el framework MVC en lugar de WebForms. Esta reescritura debe cumplir los mismos requisitos que la Tarea 3 y tiene el mismo crédito adicional.
Una vez más, no olvides que no estás solo; usa tu libro o visita www.stackoverflow.com y forums.asp.net si te quedas atascado.
Tarea 7: Seguir a los maestros
Muchos empleados de Microsoft involucrados con ASP.NET bloguean y tuitean regularmente, pero no todos los maestros de ASP.NET funcionan para Microsoft. Asegúrate de seguir a estos chicos y suscríbete a sus blogs:
- Scott Guthrie (@scottgu, weblogs.asp.net/scottgu/) es uno de los arquitectos originales de ASP.NET y ofrece tweets informativos y publicaciones de blog sobre el tema (particularmente cosas nuevas).
- Scott Hanselman (@shanselman, hanselman.com/) tuitea mucho, pero proporciona mucha información sobre .NET y la tecnología en general.
- Phil Haack (@haacked, haacked.com/) también trabaja para Microsoft en el equipo MVC, y sus publicaciones de blog de información cubren una amplia gama de temas ASP.NET. También es responsable de NuGet, una utilidad de administración de paquetes para aplicaciones de Visual Studio y .NET.
- El equipo de ASP.NET (@aspnet, www.asp.net) es el sitio web de ASP.NET, que presenta destacados de la comunidad, foros y tutoriales.
Tarea 8: Manténte actualizado
Microsoft lanza varias versiones preliminares técnicas de la comunidad (CTP) antes de cada lanzamiento importante.
La tecnología informática es una industria de ritmo rápido y ASP.NET no es una excepción. Desde su lanzamiento en 2002, ASP.NET ha pasado por cinco versiones principales (y un lanzamiento puntual), con una nueva versión en 2012, y ASP.NET MVC ha visto tres versiones desde su lanzamiento en 2009. Las cosas se mueven bastante rápido y mantenerte al día con los cambios y mejoras de las nuevas versiones es una necesidad.
Afortunadamente, es relativamente fácil mantenerte actualizado con ASP.NET. Microsoft lanza varias versiones preliminares técnicas de la comunidad (CTP) antes de cada lanzamiento importante. No solo puedes jugar con las nuevas funciones de la próxima versión, sino que tiene documentación, que incluye un completo "qué hay de nuevo/cambiado", con cada lanzamiento de CTP.
Conclusión
Este plan de lección te llevará por el camino hacia las bondades de ASP.NET. Es una plataforma fantástica y mejora con cada nueva versión y lanzamiento puntual. Si tienes alguna pregunta, no dudes en hacerla en los comentarios o enviarme un tweet. Si tienes algo que agregar, compártelo con el resto de nosotros en los comentarios. Gracias y espero que disfrutes de ASP.NET.
Otra excelente manera de lograr más con ASP.NET es usar algunos de los útiles scripts .NET disponibles en Envato Market.






