.NET en Linux: Qué contraste
El .NET moderno ha madurado hasta convertirse en una plataforma multiplataforma sólida, y muchos desarrolladores informan que el desarrollo en C# ahora se siente casi idéntico en Windows y Linux, especialmente para trabajo de backend y web. Los comentaristas destacan herramientas mejoradas (VS Code con C# Dev Kit, JetBrains Rider, flujos de trabajo en contenedores) y motores de adopción importantes como Unity, mientras critican la estrategia inconsistente de Microsoft para marcos GUI nativos y UI web (MAUI, Blazor) y la falta de soporte de escritorio Linux de primera parte. Los marcos UI de terceros como Avalonia y Uno, junto con recuerdos de Mono y Delphi, subrayan cuánto de la innovación del ecosistema está ocurriendo fuera de la propia pila de UI de Microsoft.
.NET en el desarrollo de videojuegos
- Unity se describe como un motor clave de adopción de C#/.NET fuera del uso “empresarial”, especialmente para desarrolladores que nunca tocan herramientas de Microsoft.
- Se critica a Unity por seguir atascado en un viejo fork de Mono; algunos señalan el trabajo en curso para pasar a un runtime moderno de .NET y el soporte actual para C# 9 y .NET Standard 2.x.
- IL2CPP se usa ampliamente (especialmente en móvil/consola), mejorando el rendimiento y el anti-cheat, pero un comentarista señala que en realidad puede facilitar el modding debido a los metadatos expuestos.
- Se destacan alternativas como Godot con C# y la depuración en Visual Studio como beneficiadas por el runtime y las herramientas modernas de Microsoft.
GUI multiplataforma: MAUI, Avalonia, Uno, WPF
- Varios comentarios califican la historia de GUI multiplataforma de Microsoft como débil o inestable con el tiempo.
- MAUI es la solución oficial “más reciente”, pero se la critica: buggy, débil para escritorio y, de forma notable, sin soporte para Linux, algo que algunos ven como un desprecio simbólico hacia Linux como ciudadano de primera clase.
- Avalonia y Uno se recomiendan repetidamente como marcos de UI multiplataforma de facto que realmente funcionan en Linux; a menudo se elogia a Avalonia por estar “muy por delante” de MAUI.
- Algunos aún gustan de WPF; se cita Avalonia XPF (WPF en Linux/macOS) como algo atractivo.
Estado de .NET y las herramientas en Linux
- Hay consenso en que la historia del runtime multiplataforma de .NET ahora es sólida, especialmente desde .NET Core 3.1 y con .NET 8.
- VS Code con el C# Dev Kit se ve como “suficientemente bueno”, pero muchos sostienen que JetBrains Rider ofrece una experiencia C# significativamente mejor y más escalable en Linux y macOS.
- La licencia del Dev Kit (gratis solo en escenarios tipo comunidad) se considera una desventaja.
- Algunos sienten que Microsoft limita deliberadamente la paridad de VS Code para mantener a Visual Studio como producto insignia.
Blazor y posicionamiento de la pila web
- Blazor recibe opiniones mixtas: algunos lo llaman un “desastre” frente a Next.js/Remix/Svelte; otros dicen que Blazor Server es excelente en escenarios específicos de “HTML over the wire” donde no tener una API separada es valioso.
- Existe la preocupación de que la falta de una historia competitiva de front-end web en .NET esté empujando a los clientes hacia pilas JavaScript/TypeScript, alejándolos de IIS/Windows/SQL Server.
Migración y compatibilidad hacia atrás
- Las experiencias de migración de ASP.NET Framework a ASP.NET Core están divididas: algunos informan transiciones relativamente fluidas salvo por ciertas bibliotecas y WCF; otros la describen como altamente no trivial, con grandes cambios de API y marcos ausentes (WebForms, OData antiguo, bundling).
- Una perspectiva es que Microsoft “cerró en falso” grandes aplicaciones heredadas, obligando a reescrituras costosas y erosionando la confianza en comparación con su reputación histórica de compatibilidad hacia atrás.
WSL2, uso corporativo y flujo de trabajo del desarrollador
- Se elogia WSL2 por hacer tolerable Windows y habilitar un buen flujo de trabajo de desarrollo basado en Linux (especialmente con VS Code y Docker), pero varios señalan que los entornos corporativos a menudo prohíben WSL2 y a veces Docker.
- Algunos desarrolladores prefieren Linux puro para .NET por mejores herramientas de CLI y por incomodidad con PowerShell.
Ecosistema, licencias y expectativas de OSS
- Varios comentarios sostienen que .NET en sistemas no Windows está impulsado principalmente por necesidades de Azure/nube más que por verdaderas ambiciones de escritorio de primera clase.
- Se hacen comparaciones con ecosistemas Java: IDEs gratuitos y completos (IntelliJ Community, Eclipse, NetBeans) frente a las herramientas más comercializadas de .NET y las funciones “pro” restringidas en el C# Dev Kit de VS Code.
- La ausencia de una GUI Linux de primera parte en MAUI se contrasta con esfuerzos FOSS como Avalonia/Uno, lo que lleva a afirmar un trato de “segunda clase” para Linux. Otros responden que muchos lenguajes (Go, Java) tampoco tienen GUIs oficiales potentes, pero no reciben la misma crítica.
Contexto histórico de Mono y nostalgia
- Varios recuerdan con nostalgia la era de Mono, cuando ejecutar .NET en Linux era novedoso y comunitario, y señalan que las primeras reacciones de Microsoft y de parte de la comunidad fueron negativas.
- Hay la sensación de que, a pesar de las mejoras técnicas actuales, persisten cierta desconfianza y escepticismo de la comunidad desde esa historia.