Saltar al contenido

Artículos, tutoriales, trucos, curiosidades, reflexiones y links sobre programación web ASP.NET Core, MVC, Blazor, SignalR, Entity Framework, C#, Azure, Javascript... y lo que venga ;)

18 años online

el blog de José M. Aguilar

Inicio El autor Contactar

Artículos, tutoriales, trucos, curiosidades, reflexiones y links sobre programación web
ASP.NET Core, MVC, Blazor, SignalR, Entity Framework, C#, Azure, Javascript...

¡Microsoft MVP!
martes, 28 de junio de 2016
ASP.NET Core¡Por fin! Tras un desarrollo muy largo y convulso, ayer se presentaron las respectivas versiones 1.0 RTM de .NET Core, ASP.NET Core y Entity Framework Core, junto con actualizaciones de una serie de productos relacionados.

La verdad es que hace tan sólo unos años, presentar la nueva versión de ASP.NET en la conferencia Red Hat DevNation habría resultado una auténtica osadía y probablemente habría acabado con tomates volando hacia el escenario. Pero esto es agua pasada, y este simple gesto es una prueba más de que realmente las cosas han cambiado en Microsoft.

Con el lanzamiento de la versión 1.0 de la infraestructura .NET Core y el conjunto de frameworks basados en ella (ASP.NET, MVC, Entity Framework), iniciamos una nueva época en la que aquél sueño de desarrollar o ejecutar fácilmente aplicaciones .NET en cualquier plataforma es ya una realidad, y con todo el soporte y las bendiciones del gigante de Redmond. Escenarios antes impensables, como desarrollar desde Mac para desplegar en Linux, o crear nuestras aplicaciones en Windows y explotarlas desde un contenedor Docker, son ya posibles.

Estamos ante un reboot en toda regla: todos estos frameworks han sido construidos desde cero teniendo en mente conceptos actuales que ni siquiera existían cuando empezaron a gestarse las versiones iniciales de .NET o ASP.NET "clásicos": la nube, alto rendimiento, escalabilidad, APIs, múltiples dispositivos y plataformas, contenedores, microservicios etc. Y creados usando principios y buenas prácticas que tampoco eran los habituales antaño: inyección de dependencias, clases con responsabilidades limitadas, modularidad, componibilidad, abstracciones basadas en interfaces, pruebas unitarias…

Resumiendo, ayer se lanzaron, entre otras cosas:
Con estas novedades ya tenemos entretenimiento para una temporada, ¿que no? ;)

Y la pregunta del millón: ¿debo migrar ya a ASP.NET Core?

Oficialmente, ASP.NET Core se encuentra ya en RTM, lo que quiere decir que está listo para ser utilizado para desarrollar y explotar aplicaciones reales. Las recomendaciones son:
  • No intentar portar a ASP.NET Core aplicaciones existentes, pues el esfuerzo necesario para ello es comparable a lo que supuso el salto de Web Forms a MVC. Si fuera necesario hacerlo, se recomienda afrontarlo más como una reescritura que como una migración.
     
  • Sí serían candidatas a darle la oportunidad a ASP.NET Core aquellas aplicaciones que vayan a desarrollarse desde cero, o bien cuando sean necesarias características exclusivas de este nuevo framework como el soporte multiplataforma (por ejemplo, si necesitamos desplegar sobre Docker).
Y ahora hago yo mi aportación personal al respecto ;) Abstrayéndonos un poco del entusiasmo que despiertan estas novedades y de las ganas que sin duda todos tenemos de hincarle el diente en proyectos reales, hemos de ser conscientes de que estamos ante productos que acaban de salir del horno, aún incompletos en algunos aspectos, y que seguirán evolucionando durante los próximos meses. Aún su ecosistema y comunidad son relativamente pequeños, y al romper con las versiones anteriores hay puntos en los que partiremos desde cero.

Mi recomendación, por tanto, sería actuar con prudencia y estudiar detenidamente las necesidades que tenemos antes de embarcarnos en una aventura que puede ser costosa; simplemente evaluemos los entornos de explotación a los que nos dirigimos, dependencias externas (motores de bases de datos, componentes de terceros…), intención de reutilizar de código existente, las características que necesitamos y no están aún implementadas en Core, el tooling, y muchas otras cosas que nos podrían comprometer en el futuro. Eso sí, una vez la evaluación resulte positiva, seguro que disfrutamos con estos nuevos marcos de trabajo y las posibilidades que nos ofrecen :)

Por último, os dejo algunos enlaces por si queréis ampliar información:

Publicado en Variable not found.

3 Comentarios:

Aleluya dijo...

Por fin, ya era hora.

https://www.youtube.com/watch?v=KnQGs24U1e8

https://i.imgur.com/AMeGohY.jpg

A ver si en un futuro cercano se animan con las aplicaciones de escritorio multiplataforma. Cuando eso suceda... C# se come a Java y fin de la guerra, ARMISTICIO.

José María Aguilar dijo...

Jajaja, a ver, a ver...

Saludos!

Anónimo dijo...

Entity Framework Core aun esta muy verde, no es capas de realizar select con muchas relaciones en algunas casos marca el error:
Unable to cast object of type 'System.Linq.Expressions.Expression`1.....] to type 'System.Linq.Expressions.ConstantExpression'. Cosa que con EF6 no sucedía. mi conclución es que hay que esperar a que maduren un poco