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
TextBoxpodem 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.