¡Es un buen momento para aprender .NET!

¡Es un buen momento para aprender .NET!

Un nuevo intento de tener mi blog personal.

Un poco de historia

Aprender a desarrollar software es quizás uno de los objetivos más retadores y quienes nos aventuramos en ello nos encontramos ante una infinidad de opciones: Plataformas, lenguajes, sistemas operativos, tecnologías y como entre gustos no hay disgustos, cada uno recomienda lo que conoce y cree mejor.

Conocí .NET en el 2003 cuando estaba en la universidad, por aquellos días no sonaba otra cosa que JButton, JLabel, System.out.println, JCreator, Eclipse, Netbeans y apareció alguien hablando de Microsoft. ¡Una Herejía! en medio de un entorno universitario donde usar Linux y programar en una consola azul era idílicamente ambientado por las películas de Matrix y el ejercicio de programación preferido era simular las letras verdes cayendo por la pantalla.

Inicié con WebMatrix un entorno de programación integrado, gratuito y que solo para nombrar algunas de sus funcionalidades, permitía "arrastrar y soltar" componentes en un lienzo e ir construyendo una interfaz gráfica, ya no en ventanitas de escritorio como Eclipse, si no en una Aplicación Web ¡era magia!. El tiempo pasó y aquello que hoy vemos como rudimentario y obsoleto pasó de .NET 1 a .NET 1.1 y luego dió un salto espectacular a .NET 2, una versión que trajo una cantidad increible cantidad de mejoras en la construcción de aplicaciones, con elementos como generics, clases parciales, iteradores, entre otros.

El viaje nos llevo a .NET 3 y con ella aparecieron Windows Communications Foundation, Windows Presentation Foundation y Windows Workflow Foundation solo por nombrar las tres grandes innovaciones. Por último, nos encontramos con .NET 4 y con esta versión pequeñas nuevas mejoras contenidas en las 4.5, 4.6, 4.7 y 4.8, en realidad fueron años de pequeños cambios porque ya se venía cocinando algo que cambiaría la forma en la que .NET y especialmente Microsoft se relacionaban con los desarrolladores de Software.

image.png

Después de que en el año 2000 Microsoft publicara la especificación de .NET (sin código fuente por supuesto), surgió mono-project.com una iniciativa que buscaba llevar .NET a entornos fuera de Windows, lo cual lograron sin acceso al código fuente, algo magnifico y con un logro técnico que tiene un gran mérito.

Esta historia está a punto de terminar...

Del mismo creador de Mono, nació Xamarin, un proyecto que buscaba llevar código C# a través de Mono, a dispositivos iPhone y Android y construir de esa manera aplicaciones móviles usando un XAML un lenguaje creado a partir de XML. Las cosas se fueron juntando, se fue Steve Balmer , llegó Satya Nadella y trajo ideas revolucionarias. ¿cómo podría alguien imaginarse esta imagen en una presentación de Microsoft?

image.png Origen de la imagen

De todo esto empezó a sonar la idea por allá en 2014 de tener un nuevo .NET, opensource y multiplataforma, idea que se materializó en el 2016 con el lanzamiento de .NET Core 1.0 y ASPNET Core 1.0. Scott Hanselman lo presentaba en 2016 de esta manera

image.png

Y advertía que .NET Core 1, no era el fin de camino, al contrario, era el inicio de uno nuevo. El camino nos llevó a tener dos "versiones" de .NET: Framework y Core, algo un poco confuso, pero dada la adopción de la plataforma se está apuntando a una reunificación.

Hoy ese camino nos llevó a .NET 6.

¿Que quiero proponerte con esta publicación? Que si no sabes .NET, lo aprendas.

Como intentaré mostrar en las siguientes publicaciones es una plataforma madura, con una amplia variedad de opciones para todos los gustos de programación, soporta varios lenguajes, es opensource, multiplataforma, gratuita, impresionantemente rápido, seguro y que ha evolucionado y ya no solo está respaldado por el nuevo Microsoft, sino también por una comunidad que cada día crece. Si te animas, espero tocar estos temas en las siguientes semanas:

Temario

Conceptos fundamentales

  1. ¿Que es .NET y porqué usarlo?

  2. Preparación de las herramientas de Desarrollo

  3. C#, Conceptos básicos para empezar a escribir código

    • El famoso ¡Hola, Mundo! Ahora en C#
    • Variables y estructuras de control
    • Tipos de datos
  4. El paradigma orientado a objetos en C#

Desarrollo Web en .NET

  1. ASP.NET

  2. Blazor

Desarrollo Móvil en .NET

  1. MAUI

Desarrollo para Escritorio

  1. Windows Forms

  2. UWP

Es un temario muy extenso y posiblemente va a cambiar, pero mi meta es ir mostrando paso a paso las bondades de .NET y C#, no para desvirtuar otras plataformas, si no para dar algunas luces de cuando es conveniente o no usarlo.

Espero me sigas y me cuentes ¿qué te gustaría aprender de .NET?

Foto de Gustavo Martinez