Toda esta semana hemos estado en la compañía analizando si usar Asp.Net Core o Asp.Net en nuestro nuevo proyecto el cual debe conectarse e interactuar con nuestra plataforma existente que está desarrollada con (PHP 5.3 + Yii2) + (JAVA) + (MYSQL). Este cambio de tecnología radical en este nuevo proyecto se debe a nuestra visión interna que tal vez en otra ocasión comparta acerca de porque .Net C# en vez de seguir usando lo mismo. Nuestra plataforma ya es los suficiente madura y estable en sus responsabilidades, por lo tanto, ahora lo que buscamos es agregar más servicios para nuestros clientes.
¿Debemos usar Asp.Net Core o Asp.Net para nuestras próximas aplicaciones Web?
La respuesta corta seria depende….
Algunos años atrás en mis tiempos de estudiante apasionado respondería rápido y sin pensar “por supuesto que sí”, pero la realidad del día a día en este mundillo del desarrollo me ha ensenado a mirar de cerca, pero esperar a que las cosas maduren porque ya en el pasado han existido destellos de luz que han terminado en oscuridad.
Recuerdo ya hace algunos años cuando todavía era estudiante escuchar por primera vez “WebForms” lo cual supuestamente era la maravilla que nos resolvería la vida con aquello del PostBack (hace un post de los datos a la misma página) y el ViewState (mantiene el control de los valores durante el PostBack). La mejor parte es que no necesitaba una sola línea de código para lograr toda esta magia y además de que teníamos disponible algunos componentes interesantes que solo debíamos arrastrar. Después de algún tiempo comenzaron a salir las grietas de toda la magia oculta como por ejemplo los ViewState afectaban el performance, que todo aquel código espagueti no era reutilizable y que además teníamos muy poco control sobre el HTML.
Evidentemente no somos adivinos por lo que no podemos ver el futuro, pero si podemos hacernos algunas preguntas que nos ayudaran a tomar la mejor decisión que va a variar según el caso.
¿Estas buscando performance?
Asp.Net Core
¿Quieres algo probado y que ha funcionado por más de una década?
Asp.Net MVC
¿Quieres estar a la vanguardia tecnológica y tienes tiempo para modificar o actualizar tu código con algo que es nuevo y puede variar fácilmente?
Asp.Net Core
¿Multiplataforma?
Asp.Net Core
¿Vas a utilizar librerías de terceros o los miles de paquetes que están probados en los últimos años?
Asp.Net MVC
¿Eres estudiante aprendiendo nuevas tecnologías?
Asp.Net Core
En nuestro escenario peso mucho más desarrollar Asp.Net MVC que está probado y además necesitaremos utilizar librearía de terceros que no soportan Asp.Net Core todavía. No obstante, no dejaremos de seguir de cerca .Net Core que promete, pero que de momento no está probado.