martes, 28 de junio de 2016
¡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:
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.
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:
- Visual Studio 2015 Update 3, una actualización necesaria para que este IDE soporte la versión 1.0 RTM de .NET Core y sus herramientas, y que además corrige errores y mejora el rendimiento de la anterior Update 2.
- .NET Core Tooling Preview 2 para Visual Studio 2015, una actualización de las herramientas y plantillas de VS2015. Requiere el Update 3 descrito en el punto anterior.
- C# Extension para Visual Studio Code, una actualización de este editor para hacerlo compatible con .NET Core.
- Docker Tools for Visual Studio 2015 – Preview, una extensión que permite desarrollar, ejecutar y depurar aplicaciones ASP.NET Core en contenedores Docker. Tenemos también imágenes para Docker de .NET Core RTM.
- Microsoft .NET Core 1.0 Windows Server Hosting, que instalará el módulo encargado de rutar las peticiones desde IIS hacia Kestrel. Es lo que necesitarías instalar en servidores para poder ejecutar aplicaciones ASP.NET Core.
- .NET Core 1.0 RTM, cuyos runtimes podéis descargar para Windows, macOS, RedHat, Ubuntu, Debian, Fedora, CentOS y openSUSE. Puedes descargarlos desde la página oficial.
- ASP.NET Core 1.0 RTM, el nuevo framework para la construcción de aplicaciones y servicios para la web modular, optimizado para la web y multiplataforma.
- Entity Framework Core 1.0 RTM, el nuevo framework de acceso a datos, que viene de fábrica inicialmente con soporte para SQL Server, SQL Compact, SQLite, Postgres y bases de datos en memoria (para testing), aunque existen adaptadores comerciales para MySQL, Oracle y otros.
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).
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:
- Announcing .NET Core 1.0
- Announcing ASP.NET Core 1.0
- Announcing Entity Framework Core 1.0
- Visual Studio 2015 Update 3 and .NET Core 1.0 Available Now
- Sitio web oficial de .NET Core
- Nuevo sitio de documentación (docs.microsoft.com)
Publicado en Variable not found.
3 Comentarios:
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.
Jajaja, a ver, a ver...
Saludos!
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
Enviar un nuevo comentario