Os desenvolvedores não estão satisfeitos com o .NET MAUI, mas ninguém na equipe se importa com isso

Os desenvolvedores relatam que o framework de UI multiplataforma da Microsoft, .NET MAUI, é instável, mal mantido e repleto de bugs antigos, tornando até aplicativos simples difíceis de construir e depurar. Muitos veem isso como parte de um padrão mais amplo em que a Microsoft subinveste em seus próprios frameworks de UI para clientes, raramente os usa em seus produtos principais e, eventualmente, deixa tudo estagnar. Como resultado, equipes estão abandonando o MAUI e stacks relacionadas em favor de alternativas como tecnologias web, Flutter, Avalonia ou apps totalmente nativos, apesar do apelo de compartilhar código em .NET.

Estado do .NET MAUI

  • Muitos comentaristas relatam o MAUI como instável e imaturo: layouts inconsistentes entre plataformas, controles básicos se comportando mal, CollectionViews lentas, falhas aleatórias de build e deployment e crashes ou vazamentos dentro do próprio MAUI.
  • Alguns descrevem funcionalidades triviais (pull-to-refresh, streaming de vídeo, list views com vídeo) levando semanas e ainda falhando, para depois serem recriadas em outros frameworks em dias.
  • Pontos problemáticos específicos: bugs de path em builds para Windows/iOS/macOS, depuração que frequentemente quebra, tempos de iteração lentos e bugs antigos com erros vagos.
  • Diz-se que os bindings nativos subjacentes (especialmente no iOS) são incompletos; frameworks mais novos da Apple e bibliotecas Swift não são totalmente suportados.
  • A falta de suporte a Linux é vista por alguns como um impeditivo imediato.

Estratégia da Microsoft e dogfooding

  • Preocupação recorrente de que a Microsoft não usa MAUI (nem frameworks GUI anteriores) em seus próprios aplicativos principais, enquanto depende fortemente de Electron, React + WebView ou Qt.
  • Vários veem isso como um padrão: a Microsoft promove novas stacks de UI (WinForms, WPF, Silverlight, UWP, Xamarin, MAUI), mas raramente se compromete no longo prazo ou as usa amplamente internamente.
  • Alguns argumentam que, sem estar “no caminho crítico” para a própria Microsoft, o MAUI dificilmente receberá financiamento ou manutenção robustos.

Alternativas e recomendações

  • Sugestões fortes para evitar MAUI e, muitas vezes, todos os frameworks de UI da Microsoft para novos projetos.
  • Alternativas recomendadas incluem:
    • Tecnologias web (web puro + MDN, Electron, React, etc.) como as que mais evoluem ativamente, com o ecossistema mais rico (CSS, APIs de JS, ferramentas no estilo d3).
    • Avalonia e Uno Platform para .NET; WPF para desktop apenas no Windows.
    • Flutter, React Native, Qt e outras, dependendo dos requisitos.
  • Algumas equipes abandonam Xamarin/MAUI em favor de apps móveis nativos ou outras stacks multiplataforma e relatam economia geral de tempo.

Relação com a comunidade e tratamento de issues

  • Frustração de que bugs sérios e básicos ficam abertos por anos com pouco progresso visível; supostamente, PRs ficam sem revisão.
  • Uma issue de GitHub muito comentada foi movida para “Discussions”, vista como desdenhosa mesmo que o bug subjacente permanecesse rastreado em outro lugar.
  • Debate:
    • Um lado diz que o tom dos desabafos é improdutivo e que as equipes não podem dar atenção igual a milhares de issues.
    • O outro lado argumenta que os usuários têm razão depois de anos de espera, especialmente quando o MAUI é vendido como pronto para produção e respaldado por uma empresa enorme.

Preocupações mais amplas com as ferramentas e QA da Microsoft

  • Vários comentaristas generalizam os problemas do MAUI para o ecossistema mais amplo da Microsoft:
    • Experiências passadas com Windows Phone, UWP, Xamarin, Blazor Server, Azure DevOps e várias APIs são vistas como inacabadas ou abandonadas.
    • Alegações de que alguns produtos da Microsoft (por exemplo, Azure DevOps) parecem estar estagnando enquanto o foco migra para ofertas sobrepostas (por exemplo, GitHub).
  • Um tópico aponta que a Microsoft demitiu grande parte de sua equipe de QA no passado e passou a depender de contratados, além de processos ágeis; isso é culpado por bugs passarem despercebidos, com pouca testagem exploratória ou defesa da experiência do desenvolvedor.

Desafios de UI multiplataforma

  • Alguns observam que frameworks de UI nativos multiplataforma são inerentemente difíceis: camadas extras de abstração criam mais pontos para bugs, especialmente em equipes pequenas.
  • Sugestão: compartilhar a lógica de negócio em bibliotecas agnósticas à linguagem e manter as UIs nativas ou mais simples quando possível.
  • Alguns perguntam se React Native ou outras stacks enfrentam dores comparáveis; as respostas são mistas, mas o MAUI é amplamente visto como pior do que seus concorrentes neste tópico.