Imagen: Adobe Stock/Imagen: Adobe Stock

Han pasado 20 años desde que Microsoft lanzó la primera versión completa de .NET y su conjunto de herramientas para desarrolladores. .NET ha sido una parte clave de la historia de Microsoft desde entonces, impulsando gran parte de la estrategia de aplicaciones de escritorio de Windows, así como el desarrollo de herramientas para desarrolladores como Visual Studio. También desempeñó un papel clave en la historia del código abierto de Microsoft, ayudando a allanar el camino para la apertura de su plataforma de herramientas y, en última instancia, el .NET abierto multiplataforma que tenemos hoy.

Entrevistamos a Scott Hunter, vicepresidente de administración de productos de Microsoft para .NET, para hablar sobre lo lejos que hemos llegado. Sin duda, ha sido un camino largo y sinuoso, comenzando con el anuncio de lo que se convertiría en .NET en el evento Forum 2000 de Microsoft, con una serie de videos conceptuales que imaginaban un mundo conectado donde la información fluía entre servidores, PC y dispositivos móviles. Al ver estos videos, queda claro que .NET ha hecho realidad esa visión, en lo que Hunter describe como "un viaje bastante increíble".

VER: Kit de reclutamiento: Desarrollador .NET (Premium de TechRepublic)

Es posible que el mundo no sea como predijeron esos videos, pero si no estamos usando Pocket PC y Windows CE, estamos ejecutando aplicaciones en nuestros teléfonos iOS y Android que podrían construirse sobre ellos. trabajando contra servidores Linux usando ASP.NET ejecutándose en .NET. El mundo .NET ahora es mucho más que Microsoft: está en todas partes... con nuevas características anunciadas en los eventos de Red Hat y VMware organizando su propia conferencia .NET.

Índice

.NET: ¿Cómo llegamos aquí?

Para Hunter, todo comenzó en 2008 con la repentina popularidad de Ruby on Rails: fue lo que inspiró el desarrollo de ASP.NET MVC y el repositorio Nuget, junto con algunas de las primeras herramientas de código abierto de Microsoft. Al comienzo del paso al código abierto, Microsoft no aceptaba contribuciones, pero eso cambió en 2012 con el código abierto de ASP.NET y Entity Framework.

Desde allí hasta el .NET completamente abierto de hoy, fue necesaria la aceptación de la gerencia de alto nivel; el equipo de ASP.NET era parte de Azure, lo que significaba trabajar con Jason Zander y Scott Guthrie. El equipo de ASP.NET pudo ver que Linux estaba por llegar. "Y estábamos sentados diciendo, ya sabes, hey, el mundo de la tecnología está cambiando, pero para nosotros, el código abierto ahora es algo enorme", dice Hunter. “Y nos sumergimos un poco en eso. Pero realmente, tenemos que estar ahí, plenamente. Toda la plataforma debe ser de código abierto.

Esta primera plataforma .NET de código abierto se construyó sobre el tiempo de ejecución de código abierto Mono existente, y el resto de la plataforma todavía usa el propio .NET Framework de propiedad de Microsoft. El cambio real hacia una plataforma .NET de código abierto completo se produjo más tarde, con el soporte corporativo para un nuevo núcleo CLR de código abierto, que se convertiría en .NET Core. Aunque el primer lanzamiento fue limitado, cambió la forma en que el equipo hacía las cosas, con un cambio hacia un enfoque comunitario. Como señala Hunter, esto era algo muy nuevo para Microsoft. “Comenzamos algo llamado ASP.NET Stand Up, donde cada semana, [the team]responderíamos a la llamada de la comunidad y les mostraríamos las cosas que pirateamos la semana pasada y recibiríamos algunos comentarios.

VER: Política de stand-up diario (Premium de TechRepublic)

La comunidad fue un gran impulsor, ya que impulsó lo que se desarrolló y cómo, y cómo el equipo se enfocó en cosas específicas. Por ejemplo, una de las primeras pruebas comparativas del sistema original basado en Mono mostró que su rendimiento de Linux era deficiente, lo que llevó al equipo a ingresar a las 10 principales pruebas comparativas clave. La demanda de un impulso de rendimiento en stand-up en línea regular condujo a la primera participación importante de la comunidad y una gran cantidad de solicitudes de extracción relacionadas con el rendimiento que solucionaron rápidamente las principales deficiencias, entregando un núcleo de nivel empresarial .NET.

.NET: ¿Cuál es el próximo gran avance?

Cada versión de .NET Core, y ahora de .NET Unified, tiene sus temas y nuevas tecnologías que apuntan a traspasar los límites. El próximo gran desarrollo de .NET será el lanzamiento a finales de este año de una nueva pila de interfaz de usuario, MAUI. La interfaz de usuario de la aplicación multiplataforma es una gran parte del próximo .NET 7, con un lanzamiento limitado en el actual .NET 6; en parte, es una respuesta a la pregunta de cómo Microsoft proporcionará una interfaz de usuario común en diferentes plataformas, incluida la web.

La respuesta, como dice Hunter, es que no lo hará directamente. "No lo hacemos porque no vamos a crear tecnología de interfaz de usuario. Solo vamos a envolver la tecnología de interfaz de usuario nativa con nuestra propia tecnología. De esa manera, tendrá una base de código única que funciona con Windows, macOS, iOS, Android , y la web. Hunter espera con ansias la última opción. "Aún más loco, puedes poner una aplicación Blazor dentro de [MAUI] y tener una aplicación web nativa que realmente se comunique con el hardware local. »

.NET no se limita a C# y Visual Basic familiares. Si regresa a los primeros días de .NET, lenguajes como IronRuby y IronPython trajeron lenguajes familiares de código abierto a la plataforma. El desarrollo de terceros continúa, con Hunter entusiasmado con desarrollos como PeachPie, una implementación .NET de PHP que se ejecuta considerablemente más rápido que el motor PHP independiente.

¿Es este el final del viaje de .NET, con .NET multiplataforma que ofrece rendimiento nativo en casi todas partes? Hunter se ríe: “El trabajo en equipo será lo que vas a hacer después de .NET 7. Va a ser una pregunta divertida pensar en lo que sigue con la pila. Aquí es donde la floreciente comunidad de código abierto de .NET ayudará a impulsar la plataforma, brindando información sobre lo que necesitan y esperan de sus herramientas.

Una posible dirección futura proviene de Orleans Distributed Application Framework de Microsoft. Diseñado por Microsoft Research para aplicaciones masivas en la nube, impulsa muchos de los servicios de back-end de Xbox. El equipo de desarrollo se unió al equipo de .NET y los elementos de Orleans comenzarán a migrar a .NET, extendiéndose para admitir aplicaciones distribuidas centradas en la nube. Hay mucha fertilización cruzada por venir, trayendo conceptos modernos de redes a la plataforma sin perder ninguna de sus ganancias de rendimiento.

Quizás el mayor cambio en .NET en los últimos años es un cambio en la filosofía: en el pasado era agnóstico, le brindaba múltiples formas de hacer lo mismo, y ahora es obstinado. Sí, aún puede usar la tecnología anterior si lo desea, pero el futuro es lo que Hunter llama "una caja de herramientas completamente equipada" que evita la confusión que surge con múltiples rutas hacia el mismo destino. Como él dice, "no tienes que ir a buscar muchas cosas, la mayoría ya está integrada".

Construir una pila en la que confían millones de desarrolladores es una responsabilidad, aunque muy gratificante. Hunter lo resume todo diciendo: “Así que es un gran viaje. Estoy muy orgulloso de dónde estamos en 20 años y no puedo esperar a ver qué estaremos haciendo en 25 años.