¿Qué es lo que más te gusta de ASP.NET?
ASP.NET es un excelente marco para construir aplicaciones web en un entorno Windows. Hace aproximadamente 2 años, Microsoft anunció que una gran parte de .NET iba a ser de código abierto. Esto fue enorme. De hecho, me había alejado de .NET para trabajar en lenguajes basados en JVM y este anuncio me trajo de vuelta a .NET.
También me gusta la cantidad de herramientas que están fácilmente disponibles para ASP.NET, incluyendo MVC, WebForms, Web API y Entity Framework.
La facilidad con la que puedes desplegar aplicaciones ASP.NET en servidores locales o en Azure es genial. Reseña recopilada por y alojada en G2.com.
¿Qué es lo que no te gusta de ASP.NET?
Lo que más me disgusta de ASP.NET es lo radical que ha sido Microsoft al intentar hacer que el desarrollo de software sea rápido (RAD significa "Desarrollo Rápido de Aplicaciones"). Esto es tanto bueno como malo. Es bueno porque los desarrolladores pueden armar una aplicación rápidamente usando Visual Studio, y casi cualquiera puede mantener esa aplicación señalando, haciendo clic y editando componentes visuales en el IDE.
Esta simplificación del desarrollo de software permite que muchos desarrolladores con muy poca experiencia trabajen en aplicaciones sin mucha complejidad. El problema es que tales desarrolladores pueden pasar años, literalmente, sin avanzar más allá de este punto. Una vez entrevisté a alguien con 10 años de experiencia para un puesto de nivel senior, y debido a las buenas intenciones de Microsoft, no conocía temas avanzados como la reflexión o la modificación del pipeline de ASP.NET. Verás esto mucho en la comunidad .NET, y lleva a un montón de mantenimiento de software innecesario, así como a una sobrecarga operativa.
Hablando de sobrecarga, antes del cambio actual hacia el código abierto por parte de Microsoft, ASP.NET requería principalmente el despliegue en servidores Windows. Esto a menudo requiere licencias costosas. Ha sido posible durante algún tiempo desplegar en Linux o OS X Server usando Mono, pero siempre ha habido diferencias sutiles entre Mono y Microsoft .NET que hacían que este escenario de despliegue fuera un dolor de cabeza.
Otra cosa que me molesta de ASP.NET y .NET en general es cómo se versionan los frameworks. Tendrás ASP.NET 4, que puede ejecutarse en .NET 3.5 o en las muchas versiones de 4.x. La versión de ASP.NET que no está sincronizada con el runtime de .NET siempre ha sido una confusión para muchos desarrolladores.
Para aumentar la confusión de versiones, el nuevo enfoque de Microsoft para ASP.NET (llámalo ASP.NET 5) se ejecutará en .NET 4.5.x y en el nuevo '.NET Core' de código abierto. Microsoft creó recientemente una matriz (https://github.com/dotnet/corefx/blob/master/Documentation/project-docs/standard-platform.md) para abordar cualquier confusión de versiones. Para complicar aún más las cosas, actualmente hay una discusión para renombrar ASP.NET 5 a ASP.NET 1.0.
Encima de esta locura de versiones, el nuevo ASP.NET está escrito para ingenieros (por ejemplo, aquellos que: pueden escribir bibliotecas/módulos/SDKs, entienden muy bien la inyección de dependencias y las abstracciones, pueden aprender nuevas herramientas rápidamente) en lugar de desarrolladores (por ejemplo, aquellos que usan bibliotecas y frameworks para crear aplicaciones). Siento que las empresas que continúen con ASP.NET descubrirán dolorosamente este cambio abrupto del enfoque RAD de vuelta al software como ciencia y arte. En otras palabras, habrá una división más pronunciada entre "rockstars" y "novatos". Reseña recopilada por y alojada en G2.com.