AvaloniaUI: Crie Aplicativos Multiplataforma com .NET

AvaloniaUI é apresentado como um framework de UI multiplataforma para .NET que visa Windows, macOS, Linux, web e, cada vez mais, mobile, usando Skia para renderização e XAML para layout — o que o torna especialmente atraente para equipes com histórico em WPF ou Xamarin.Forms. Os comentários destacam seus pontos fortes em cenários de desktop, o desenvolvimento ativo de código aberto sob a licença MIT e um modelo de negócios viável por meio de um produto comercial compatível com WPF (XPF), com várias empresas notáveis já usando-o em produção. As preocupações se concentram no suporte imaturo a mobile, na aparência e comportamento não nativos, em problemas de desempenho como tempo de inicialização, uso de CPU e memória, e em um ecossistema de controles ainda em crescimento em comparação com toolkits mais estabelecidos.

Ecossistema e Controles

  • Principal preocupação: ecossistema menor em comparação com stacks nativas maduras (por exemplo, menos controles prontos, como mapas, gráficos e seletores de data).
  • Contraponto: várias bibliotecas de gráficos e mapeamento, além de outros controles, já existem no ecossistema Avalonia/.NET.
  • Alguns usuários destacam a disponibilidade de coleções da comunidade (por exemplo, listas “awesome”) e bibliotecas de terceiros.

Foco em Desktop vs Mobile

  • O Avalonia é amplamente visto como voltado primeiro para desktop; o suporte a mobile existe, mas é descrito como “chegando”, “não pronto para produção” ou menos polido.
  • Controles como TextBox podem parecer orientados a desktop em mobile.
  • Alguns argumentam que é preciso redesenhar a UI para cada formato de tela de qualquer forma; outros querem um toolkit multiplataforma “mobile-first, desktop-second” e veem isso ainda como uma lacuna.

Desempenho, Renderização e UX

  • Usa Skia; conceitualmente comparado a “Flutter para .NET”.
  • Relatos mistos: alguns dizem que é rápido (especialmente com Native AOT e bindings compilados), enquanto outros relatam:
    • Alto uso de CPU em repouso, especialmente no macOS e com animações.
    • Inicialização lenta e uso relativamente alto de memória.
    • Comportamento de texto não nativo (por exemplo, granularidade de desfazer/refazer) e renderização de fontes “estranha”.
  • Debate mais amplo sobre o uso de CPU do Skia, aceleração por GPU e a lentidão geral das stacks modernas de UI 2D, com comparações a navegadores, jogos e renderizadores alternativos.

Uso em Produção e Licenciamento

  • Várias empresas e produtos usam Avalonia em produção (incluindo alguns nomes conhecidos).
  • O framework em si é licenciado sob MIT, totalmente open source, sem nível pago “pro” nem bloqueios ocultos de recursos.
  • O modelo de receita se concentra em:
    • Suporte e consultoria.
    • Avalonia XPF, uma plataforma comercial compatível com WPF, supostamente custando alguns milhares a ~20 mil USD por app por plataforma.

Migração e Cenários-alvo

  • Forte apelo para:
    • Portar apps WPF para desktop multiplataforma (Windows/macOS/Linux/Web) com mudanças mínimas, especialmente via XPF.
    • Novos apps com foco em desktop em que uma aparência consistente, não nativa, seja aceitável ou desejada.
  • Ressalvas:
    • Menos controles prontos para uso em comparação com os ecossistemas WinForms/WPF.
    • Portar Xamarin.Forms para Avalonia é visto como mais fácil do que para Flutter/React Native, mas ainda assim exige trabalho significativo.
    • Migração de WinForms e .NET Framework → .NET Core/“dotnet” pode ser dolorosa independentemente da UI escolhida.

Linguagens e Alternativas

  • Melhor ajuste para equipes já investidas em .NET/C#/XAML.
  • Suporte a F# existe via projetos da comunidade (FuncUI, Fabulous), mas é considerado menos de primeira classe.
  • Comparado ao Flutter (mais maduro em mobile), ao Uno (mais orientado a controles nativos) e a outros engines de GUI/embedded.