Experimentando con ASP.NET Core.

Hola, hoy quiero hablar de una tecnología que actualmente estamos utilizando en producción en Wildevs, y la cual me ha provocado muy buenas sensaciones al utilizarla, ASP.NET Core.

Para quienes no lo sepan, ASP.NET Core es el intento de Microsoft de ganar terreno en el desarrollo web y no quedar relegado frente a NodeJS, quien hoy por hoy es el rey indiscutible en el desarrollo web back-end hippie con OSDE.

Nunca fui muy fan de las tecnologías de Microsoft, incluso recientemente tuve que cursar una materia en la facultad en la cual se utilizaba VB.NET con WinForms, y debo decir que realmente sufrí mucho esa experiencia.

Entonces, ¿por qué ASP.NET Core?

Teniendo experiencia en desarrollo back-end con NodeJS, quizá un camino natural habría sido utilizar dicho runtime para escribir la aplicación de nuestro cliente; no obstante, en esta oportunidad yo no forme parte activa del desarrollo Back-End y trabaje en el equipo de Front-End utilizando Angular (muy recomendable), por lo tanto la elección de la tecnología a utilizar quedo en mano del equipo de Back-End.
Las razones que llevaron a elegir dicho Framework para el desarrollo de este nuevo proyecto fueron varias, pero las principales son las siguientes:

  • C# => Sin lugar a dudas, no puedo discrepar al decir que esta entre los mejores lenguajes que existen hoy por hoy.

  • Base de conocimiento existente => Nuestro equipo back, tiene amplia experiencia trabajando sobre tecnologías ASP.NET, y no tanto sobre tecnologías Node. Por este motivo, la curva de aprendizaje era ridículamente pequeña e incluso inexistente a decir verdad, ya que si bien ASP.NET Core != ASP.NET Framework, la API es muy parecida y comparten un enfoque muy parecido. En este articulo (en ingles), se detallan las principales diferencias entre ambos.

  • Soporte a largo plazo => Este proyecto debía poder ser mantenido a largo plazo y escalar de ser necesario aun cuando nosotros ya no estuviéramos trabajando en el mismo, por lo tanto utilizar ASP.NET, teniendo en cuenta la base de desarrolladores que existe actualmente en el mercado, por lo menos en Argentina, era una decisión muy buena y responsable.

ASP.NET Core, es rapido.

Si bien yo me centre en el desarrollo Front-End, llegado un punto también comencé a participar activamente del desarrollo back, y pude darme cuenta de que ASP.NET es muy rápido. Cuando hablo de rapido, hago referencia a la velocidad para desarrollar, del tooling existente, de la congruencia existente en el framework, y de lo agradable que se siente desarrollar con dicha tecnología.

Utilizando la CLI, toma aproximadamente 30 segundos tener en funcionamiento una API completamente funcional con valores de prueba.

En Node podemos encontrar quizá 20 librerías que hacen lo mismo, y opciones ya implementadas para hacer lo que se nos ocurra. Tener esa libertad de elección es genial, pero también se corre con el riesgo de que quien este a cargo de dicha librería decida no darle mas continuidad o de que en una nueva release se rompa la compatibilidad para atrás.
ASP.NET es un framework muy joven, y por ende la cantidad de librerías existentes es muy pequeño en comparación con Node (por el momento), pero las librerías que existen son realmente excelentes en calidad y sobre todo la API Core que propone Microsoft brinda todo lo que se necesita en el 90% de los casos de un desarrollo comercial; mientras tanto ese 10% restante ya esta siendo preparado para su despliegue con la version 2.0 que esta pronta a salir a finales de este año.

¿Debería cambiar mi tecnología actual por ASP.NET Core?

No todo es color de rosas con este nuevo framework de Microsoft. Este articulo no busca convencer a los desarrolladores de que cambien su base tecnológica por una tecnología que, como dije, es muy joven y propensa al cambio constante.
Lo que si es verdad, es que ASP.NET Core es el framework de referencia para la próxima década de Microsoft, y el futuro de la web según ellos.
Particularmente en Wildevs, nos ha gustado mucho y planeamos utilizarlo en próximos proyectos tanto propios como de clientes externos y sin lugar a dudas lo recomendaría para nuevos proyectos; no obstante, debe tenerse en cuenta que ninguna tecnología es mejor que otra, sino que dependiendo del problema que se quiera solucionar, es la tecnología que se va a utilizar.

Y, ¿que hay con el blog?

Este espacio lo plantee siempre como una forma de afirmar conocimientos, a la vez de que compartía un poco de conocimiento con la comunidad. Siempre escribo sobre las tecnologías que utilizo en el momento, y actualmente mi stack ha cambiado a Angular + ASP.NET Core, por lo tanto no seria extraño que comenzara a escribir sobre dichas tecnologías en lo proximo.
Espero que esta vez, no pasen otros 4 meses hasta la próxima entrada!

Hasta la próxima! 🙈🙈🎉🦄

Show Comments

Get the latest posts delivered right to your inbox.