Saltar al pie de página
Iron Academy Logo
Aprender C#
Aprender C#

Otras categorías

C# en Linux: Introducción a la serie

Tim Corey
14m 29s

Para la mayoría de los desarrolladores de C#, Windows ha sido el único sistema operativo en el que han trabajado. Las herramientas, el IDE, los objetivos de despliegue todo gira en torno a una sola plataforma. Eso funciona hasta que deja de hacerlo, ya sea por preocupaciones de privacidad con los cambios recientes del sistema operativo, el deseo de reutilizar hardware antiguo, o simplemente la ventaja profesional de conocer más de un entorno.

En su video "C# en Linux: Introducción a la serie", Tim Corey inicia una serie de varias partes sobre el desarrollo de aplicaciones .NET completamente en Linux. Este episodio de apertura cubre el panorama antes de que se escriba cualquier código: qué distribución de Linux elegir, qué editores funcionan para el desarrollo de C#, qué tipos de proyectos puedes y no puedes construir, y qué esperar cuando el flujo de trabajo ya no se ve como Windows. Si has estado curioso sobre ejecutar .NET fuera de su hogar tradicional, este es el plan.

¿Por qué Linux? El caso para más opciones

[0:00 - 1:17] Tim abre con una observación sincera: estar atado a una sola plataforma limita tu flexibilidad. Un video anterior sobre cambios relacionados con la IA de Microsoft en Windows motivó conversaciones sobre alternativas, y esta serie surgió de esas discusiones. La meta no es abandonar Windows sino agregar un segundo entorno viable a tu conjunto de habilidades.

Tener esa amplitud tiene un valor profesional real. Si un trabajo nuevo requiere trabajar en Mac o Linux, o si un objetivo de despliegue se ejecuta en un servidor Linux, el desarrollador que ya conoce el flujo de trabajo tiene una clara ventaja. Tim enmarca la serie como una forma de profundizar tu conocimiento de .NET abordándolo desde un ángulo diferente, no como una guerra de plataformas.

Escogiendo Linux Mint

[1:28 - 2:42] Una cosa que toma por sorpresa a los recién llegados es que "Linux" no es un solo sistema operativo. Es un núcleo que se encuentra debajo de cientos de distribuciones distintas, cada una con su propio entorno de escritorio, gestores de paquetes por defecto y filosofía de diseño. Tim reconoce que la mera cantidad de opciones puede sentirse abrumadora y luego simplifica la decisión para esta serie: Linux Mint.

Mint logra un equilibrio entre estabilidad y familiaridad. Su diseño de escritorio se parece a lo que los usuarios de Windows ya conocen, con una barra de tareas, un equivalente a un menú de inicio, y un gestor de archivos que se comporta de manera predecible. Esa similitud visual facilita la transición sin fingir que los dos sistemas son idénticos. Otras distribuciones como Pop!_OS son también opciones sólidas, pero Mint proporciona el punto de partida más accesible para desarrolladores cuyos reflejos están basados en Windows.

Opciones IDE para el Desarrollo en .NET

[2:42 - 3:57] Ya que Visual Studio es una aplicación de Windows, los desarrolladores de Linux necesitan un editor diferente. Tim destaca dos caminos principales: VS Code emparejado con la extensión C# Dev Kit y JetBrains Rider.

VS Code con el C# Dev Kit ha mejorado considerablemente en las versiones recientes, aunque Tim nota que aún hay algunos detalles por pulir. El modelo de licenciamiento sigue el mismo de Visual Studio: gratis para desarrolladores individuales y pequeños equipos, con un nivel de pago para organizaciones más grandes. JetBrains Rider ahora ofrece una edición comunitaria gratuita para proyectos personales, dando a los desarrolladores una segunda opción sin costo inicial. La serie se inclinará hacia VS Code pero cubrirá ambos, ya que cada herramienta tiene fortalezas dependiendo de la tarea en cuestión.

Especificaciones de Máquina: Lo Que Realmente Necesitas

[4:00 - 6:14] Uno de los puntos de venta más prácticos para Linux es cuán poco hardware exige. Tim comparte dos ejemplos que ilustran el rango. Primero, describe ejecutar VS Code con el C# Dev Kit en una computadora de teclado Raspberry Pi, un dispositivo con aproximadamente 400 MHz de potencia de procesamiento y una CPU de doble núcleo. Construyó y ejecutó una aplicación Blazor en él. La experiencia fue lenta, pero funcionó.

El segundo ejemplo es más relacionado para la mayoría de los desarrolladores. Una laptop antigua que se había vuelto inutilizable bajo Windows 10 (clics agotándose, aplicaciones negándose a cargar) ejecutó Linux Mint sin problemas después de una instalación fresca. El mismo hardware que apenas podía renderizar un escritorio de Windows se convirtió en una máquina de desarrollo funcional. Tim deja claro que mejores especificaciones todavía producen una mejor experiencia, pero el umbral mínimo para el desarrollo de C# en Linux es mucho más bajo que en Windows.

Tipos de Proyectos Que Puedes y No Puedes Construir

[6:17 - 8:23] No todos los tipos de proyectos .NET funcionan fuera de Windows, y entender esos límites al principio previene la frustración después. WinForms y WPF ambos dependen de bibliotecas específicas de Windows integradas en el sistema operativo. UWP lleva la misma limitación. Ninguno de estos se compilará o ejecutará en Linux.

MAUI agrega una sutileza que vale la pena mencionar. Aunque enfoca múltiples plataformas (Windows, macOS, iOS, Android), Linux no es una de ellas. Esta distinción importa porque los desarrolladores a veces asumen que "multiplataforma" significa "en todas partes", cuando en práctica el alcance de MAUI excluye tanto a Linux como a la web.

Lo que funciona abarca una superficie amplia. Las aplicaciones de consola, que forman la base para aprender C#, funcionan sin modificación. Las aplicaciones de servicio (daemons en la terminología de Linux) están completamente soportadas. Toda la pila web de ASP.NET Core, incluyendo APIs, aplicaciones Blazor, servicios gRPC, y servicios worker, opera de manera idéntica en Linux. Para aplicaciones de escritorio que necesitan abarcar sistemas operativos, Uno Platform aparece como un tema futuro en la serie, permitiéndote construir desde Linux y desplegar tanto en Windows como en macOS.

Lo Que Esta Serie No Hará

[8:37 - 11:52] Tim establece tres expectativas al principio. Primero, la serie no es anti-Microsoft. GitHub, Azure, Edge, VS Code, y .NET son todos productos de Microsoft, y varios aparecerán a lo largo de la serie. El punto es elegir qué herramientas adoptar por tu cuenta en lugar de que te sean impuestas.

Segundo, estos episodios no posicionarán a Linux como la única elección correcta. Windows sigue siendo el entorno adecuado para muchos desarrolladores y flujos de trabajo. Linux amplía tus opciones; no reemplaza todos los escenarios que Windows maneja bien. El valor radica en entender ambas plataformas para poder elegir la que se ajuste a una situación dada.

Tercero, y quizás lo más importante para los desarrolladores que hacen el cambio: no esperes que Linux funcione de la misma manera que Windows. Instalar software implica más interacción con la línea de comando. La gestión de paquetes sigue un modelo fundamentalmente diferente. Algunos flujos de trabajo que se sienten automáticos en Windows requieren pasos explícitos en Linux. La serie caminará a través de cada una de esas diferencias a medida que surjan, explicando por qué existen y cómo manejarlas.

Espera Diferencias, No Deficiencias

[11:52 - 13:34] Una trampa común al cambiar de plataforma es medir todo contra lo que ya conoces. Tim aborda esto directamente: dejar atrás Windows significa aceptar que ciertas tareas se verán y sentirán desconocidas. La gestión de ventanas, instalación de software y configuración del sistema tienen sus propias convenciones en Linux.

Algunos de esos patrones son genuinamente mejores. El modelo de gestor de paquetes de Linux, por ejemplo, mantiene tu pila completa de software actualizada a través de un solo sistema en lugar de depender de cada aplicación para gestionar su propio actualizador. Otras diferencias simplemente requieren ajuste. Tim lo compara con cambiar de Windows a Mac, donde instala una herramienta de terceros para obtener el comportamiento de ajuste de ventanas que prefiere. Lo equivalente sucede en Linux: adaptas el entorno a tus preferencias con el tiempo, en lugar de esperar que refleje lo que dejaste atrás.

Conclusión: Un Plan para la Serie

[13:34 - 14:10] Tim concluye delineando lo que viene a continuación. La serie comienza con la instalación de Linux Mint en una unidad USB para que puedas probar toda la experiencia sin modificar tu instalación existente de Windows. A partir de ahí, los episodios posteriores cubren la instalación permanente, configuración de herramientas de desarrollo y construcción de aplicaciones reales. Los videos de misiones secundarias abordarán tareas de configuración específicas de Linux en el camino.

Conclusión

[14:10 - 14:29] La conclusión de esta introducción es sencilla: Linux es una plataforma viable y capaz para el desarrollo en C# y .NET, con algunos límites que debes entender antes de sumergirte. Los requisitos de hardware son modestos, las herramientas han madurado, y los tipos de proyectos que más importan para el desarrollo moderno (web, API, servicios, consola) funcionan sin compromisos.

Para los desarrolladores que han trabajado exclusivamente en Windows, esta serie ofrece un camino estructurado para ampliar tu alcance. Comenzar con una unidad USB significa que no hay nada que perder y una habilidad significativa que ganar.

Consejo de ejemplo: antes de comprometerte con una instalación completa, arranca Linux Mint desde una memoria USB portátil en tu máquina principal. Obtendrás una sensación del escritorio, el terminal y el flujo de trabajo general sin alterar tu configuración existente. Si la experiencia te convence, puedes pasar a una instalación permanente sabiendo qué esperar.

Mira el video completo en su Canal de YouTube y obtén más información sobre el desarrollo de C# en Linux.

Hero Worlddot related to C# en Linux: Introducción a la serie
Hero Affiliate related to C# en Linux: Introducción a la serie

Gana más compartiendo lo que te gusta

¿Creas contenidos para desarrolladores que trabajan con .NET, C#, Java, Python o Node.js? ¡Convierte tu experiencia en un ingreso extra!

Equipo de soporte de Iron

Estamos disponibles online las 24 horas, 5 días a la semana.
Chat
Email
Llámame