.NET no Linux: que contraste
O .NET moderno amadureceu até se tornar uma plataforma cross-platform forte, com muitos desenvolvedores relatando que o desenvolvimento em C# agora parece quase idêntico no Windows e no Linux, especialmente para backend e web. Os comentaristas destacam ferramentas melhores (VS Code com o C# Dev Kit, JetBrains Rider, fluxos de trabalho conteinerizados) e grandes motores de adoção como o Unity, enquanto criticam a estratégia inconsistente da Microsoft para frameworks de GUI nativos e UI web (MAUI, Blazor) e a falta de suporte desktop Linux de primeira parte. Frameworks de UI de terceiros como Avalonia e Uno, junto com memórias de Mono e Delphi, ressaltam o quanto da inovação do ecossistema acontece fora da própria stack de UI da Microsoft.
.NET no Desenvolvimento de Jogos
- O Unity é descrito como um motor importante de adoção de C#/.NET fora do uso “empresarial”, especialmente para desenvolvedores que nunca usam as ferramentas da Microsoft.
- O Unity é criticado por ficar preso a um antigo fork do Mono; alguns mencionam trabalho em andamento para migrar para um runtime moderno de .NET e o suporte atual a C# 9 e .NET Standard 2.x.
- O IL2CPP é amplamente usado (especialmente em mobile/console), melhorando desempenho e anti-cheat, mas um comentarista observa que ele pode, na verdade, facilitar o modding por causa dos metadados expostos.
- Alternativas como Godot com C# e depuração no Visual Studio são destacadas como beneficiadas pelo runtime moderno e pelas ferramentas da Microsoft.
GUI Multiplataforma: MAUI, Avalonia, Uno, WPF
- Vários comentários classificam a história da Microsoft com GUI multiplataforma como fraca ou instável ao longo do tempo.
- O MAUI é a solução oficial “mais recente”, mas é criticado: cheio de bugs, fraco para desktop e notavelmente sem suporte a Linux, o que alguns veem como um desprezo simbólico ao Linux como cidadão de primeira classe.
- Avalonia e Uno são repetidamente recomendados como frameworks de UI multiplataforma de fato que realmente rodam no Linux; o Avalonia é frequentemente elogiado como “muito à frente” do MAUI.
- Alguns ainda gostam de WPF; o Avalonia XPF (WPF no Linux/macOS) é citado como atraente.
Estado do .NET e das Ferramentas no Linux
- Há consenso de que a história do runtime cross-platform do .NET hoje é forte, especialmente a partir do .NET Core 3.1 e com o .NET 8.
- O VS Code com o C# Dev Kit é visto como “bom o suficiente”, mas muitos argumentam que o JetBrains Rider oferece uma experiência de C# significativamente melhor e mais escalável no Linux e no macOS.
- O licenciamento do Dev Kit (gratuito apenas em cenários semelhantes aos da comunidade) é visto como uma desvantagem.
- Alguns acham que a Microsoft limita deliberadamente a paridade do VS Code para manter o Visual Studio como produto principal.
Blazor e Posicionamento da Stack Web
- O Blazor recebe avaliações mistas: alguns o chamam de um “desastre” em comparação com Next.js/Remix/Svelte; outros dizem que o Blazor Server é excelente em cenários específicos de “HTML over the wire”, onde não ter uma API separada é valioso.
- Há preocupação de que a falta de uma história competitiva de front-end web em .NET esteja empurrando clientes para stacks JavaScript/TypeScript, afastando-os de IIS/Windows/SQL Server.
Migração e Compatibilidade Retroativa
- As experiências de migração de ASP.NET Framework para ASP.NET Core são divididas: alguns relatam transições relativamente tranquilas, exceto por certas bibliotecas e WCF; outros descrevem isso como altamente não trivial, com grandes mudanças de API e frameworks ausentes (WebForms, OData antigo, bundling).
- Uma visão é que a Microsoft “deixou sem saída” grandes apps legados, forçando reescritas caras e corroendo a confiança em comparação com sua reputação histórica de compatibilidade retroativa.
WSL2, Uso Corporativo e Fluxo de Trabalho do Desenvolvedor
- O WSL2 é elogiado por tornar o Windows tolerável e permitir um bom fluxo de trabalho de desenvolvimento baseado em Linux (especialmente com VS Code e Docker), mas vários apontam que ambientes corporativos frequentemente proíbem WSL2 e, às vezes, Docker.
- Alguns desenvolvedores preferem Linux puro para .NET por causa de ferramentas de CLI melhores e desconforto com PowerShell.
Ecossistema, Licenciamento e Expectativas de OSS
- Vários comentários argumentam que o .NET fora do Windows é impulsionado principalmente por necessidades de Azure/cloud, e não por ambições genuínas de desktop de primeira classe.
- São feitas comparações com ecossistemas Java: IDEs gratuitos e completos (IntelliJ Community, Eclipse, NetBeans) vs. as ferramentas mais comercializadas do .NET e recursos “pro” bloqueados no VS Code Dev Kit.
- A ausência de uma GUI Linux de primeira parte no MAUI é contrastada com esforços FOSS como Avalonia/Uno, levando a alegações de tratamento de “segunda classe” para o Linux. Outros rebatem que muitas linguagens (Go, Java) também não têm GUIs oficiais fortes, mas não enfrentam a mesma crítica.
Contexto Histórico do Mono e Nostalgia
- Vários lembram com nostalgia da era Mono, quando executar .NET no Linux era algo novo e conduzido pela comunidade, e observam que as reações iniciais da Microsoft e de parte da comunidade foram negativas.
- Há a sensação de que, apesar das melhorias técnicas atuais, certa desconfiança e ceticismo da comunidade persistem por causa dessa história.