.NET Framework vs .NET Core
28 diciembre, 2022Ha llovido mucho desde que en 2002 Microsoft lanzase su primera versión del framework de desarrollo de software .NET. Probablemente ni sus propios creadores hubiesen imaginado el gran impacto y evolución que éste ha tenido desde entonces. En este artículo vamos a descubrir las dos versiones de este framework más comunes: .NET Framework y .NET Core.
Y es que realmente conviene remarcar sus diferencias, ya que el nombre que tienen da lugar a error. Por mucho que pueda parecer la misma herramienta, las diferencias entre ambas versiones son realmente abismales. Es cierto que también existen similitudes (lenguaje de programación, arquitectura, etc), pero es difícil verlas como hermanas cuando se conocen en profundidad.
.NET Framework
Como ya se ha mencionado, .NET Framework es una herramienta que fue lanzada por Microsoft a principios de 2002. En el momento en el que se escribe este post, la última versión es la 4.7.2, lanzada en mayo de 2018.
El lenguaje de programación que se emplea en este Framework es Visual Basic o C#, siendo este último el más común. Como es de esperar de un Framework que lleva más de 17 años en el mercado, su versatilidad es admirable. Es posible construir desde pequeñas aplicaciones de escritorio (los .exe que seguro que alguna vez has ejecutado) hasta grandes sistemas. Por poner algunos ejemplos, Skype, Photoshop o Microsoft Office están construidos en base a este framework (C#).
Desde entonces, numerosas empresas lo han adoptado como herramienta de transformación digital. Tanto es así, que hoy en día existe una increíble demanda de esta tecnología. Especialmente si se compara con la oferta que el mercado laboral brinda. Es por eso que las tarifas de un desarrollador de .NET son realmente elevadas. En muchos casos, superan los niveles salariales de ingenieros, arquitectos, etc.
Al ser un framework que únicamente es posible ejecutar en un entorno Microsoft (Sistema Operativo Windows, Servidor IIS, etc), el uso de licencias se hace prácticamente inevitable. Es cierto que existen ciertas licencias gratuitas para determinados casos, pero no permiten explotar al 100% sus características. Como contrapartida, Microsoft ofrece un soporte y una comunidad nada despreciables. Seguramente será por este factor que es el favorito de las grandes empresas.
.NET Core
A mediados de 2016, Microsoft dio un giro inesperado con la aparición de .NET Core. Lo que hasta entonces se había configurado como un Framework propietario y exclusivo de tecnologías basadas en Window, ahora se había pasado al open-source.
Esto significa que, no sólo el uso de .NET Core no estaba sujeto a licencias propietarias (código abierto), si no que se puede ejecutar en diversas plataformas, no únicamente en Windows. Como es lógico, comparte la base arquitectónica con .NET Framework, pero muchos de sus módulos han sido re-escritos. Siendo así, las primeras versiones de .NET Core eran considerablemente limitadas en comparación al primero.
Sin embargo, la evolución de .NET Core ha sido espectacular. Actualmente, en su versión 2.2 (lanzada en diciembre de 2018) poco tiene que envidiar a .NET Framework. De hecho, al ser código libre, no sólo Microsoft colabora en su desarrollo, también lo hace la comunidad. Esto hace que el Framework crezca a un ritmo vertiginoso.
A nivel empresarial, son muchas las empresas que ya se han dado cuenta del panorama. Al ritmo al que avanzan estas tecnologías, no pasará mucho tiempo hasta que .NET Core se sitúe por delante de .NET Framework. Podría llegar incluso a desbancarlo, tanto a nivel de potencia como de uso estandarizado.
.NET Framework vs .NET Core
En vista del escenario, es fácil que surja el impulso de descartar .NET Framework en pro de .NET Core. En realidad, no es tan sencillo. Cabe tener en cuenta una serie de aspectos que pueden afectar en gran medida a la decisión de utilizar uno u otro en nuestros desarrollos:
- Estabilidad. Hay que tener en cuenta que el primero lleva más de 17 años de evolución y su uso está más que estandarizado por todo el mundo. Te sorprendería lo “fácil” que es que seas de los primeros en encontrarte un problema al desarrollar tu solución. Si eso ocurre, el buscar “cómo arreglo mi problema” en Google, de poco te va a ayudar
- Formación. Pese a que la base es muy similar, es innegable que existe una curva de aprendizaje al pasar de .NET Framework a .NET Core. SI formas (o planeas formar) parte de un equipo de desarrollo, es muy posible que dicho equipo ya tenga formación y experiencia en el primero, pero no en el segundo.
- Multiplataforma. Una de las grandes ventajas de .NET Core es su posibilidad de ejecutarse en diversas plataformas, no sólo en aquellas basadas en Windows. Ahora bien, si toda tu infraestructura ya es de Windows, carece de sentido migrar a .NET Core simplemente por esa “posibilidad” que probablemente nunca explotes
- Comunidad/Recursos. Pese a que .NET Core es open-source y su comunidad crece rápidamente, .NET Framework es el rey indiscutible a día de hoy. Es poco probable que encuentres herramientas o recursos exclusivamente diseñados para el primero. Por el contrario, es muy probable que no puedas utilizar una librería que necesites por sólo estar disponible en .NET Framework.
El futuro de .NET
Dicho esto, parece que .NET Core se está posicionando como el favorito en lo que a Framework de desarrollo de software se refiere. Siendo así, es muy posible que a medio plazo su uso se estandarice e incluso llegue a superar a .NET Framework. SI esto ocurre, es fácilmente predecible que el mercado ajuste su oferta y empecemos a ver carteles de “se busca programador .NET Core” cada vez más.
Como es natural, en nuestro curso de programación web .NET, vemos estos conceptos en profundidad. En él aprenderás todos los conceptos para sumergirte en el mundo del desarrollo web y ofrecer las aptitudes que las empresas demandan en sus procesos de selección.