Escrevo muito sobre Avalonia e frequentemente admiro essa estrutura, mas, como qualquer tecnologia, ela tem suas próprias vantagens e desvantagens, e gostaria de falar sobre elas.
Avalonia
O que é isso? Antes de tudo, é uma
estrutura gui xaml de plataforma cruzada para estruturas .net, .net core e mono .
O que essas palavras significam?
O Avalonia é um conjunto de bibliotecas que permitem criar um aplicativo em janela e executá-lo em todas as plataformas de desktop populares.
Além disso, vou oferecer a vocês, leitores, meu raciocínio pessoal, que não quero criticar o Avalonia como uma tecnologia separada, mas simplesmente falar sobre todo o complexo de criar um aplicativo para um PC usando essa tecnologia.
O que eu gosto
Primeiro , a facilidade de iniciar, se você estiver familiarizado com tecnologias .net, como wpf \ uwp, não levará mais de 5 minutos para obter o Avalon. Tudo que você precisa fazer é baixar o modelo no site da Avalonia e criar um projeto, só isso - não é necessário dançar com um pandeiro para montar um projeto Linux (
outro framework popular ).
Em segundo lugar , o suporte para xaml - segue muitos recursos convenientes: mvvm, binders, separação de visão e lógica de negócios, estilização por arquivos separados.
Em terceiro lugar , empréstimos ou alguma compatibilidade (chame como quiser) com o wpf. Isso significa que, se você nunca trabalhou com o Avalonia, mas está familiarizado com o wpf, basta executar os controles com os quais está acostumado a trabalhar com o wpf e, em 90% dos casos, seu aplicativo será iniciado imediatamente. Isso também significa que, para resolver seu problema, você pode encontrar uma solução semelhante para o wpf e, na maioria dos casos, ele também resolverá o seu problema.
Quarto , estilos - Avalonia foi inspirado pelo css, até certo ponto, o que levou ao aparecimento de classes e pseudo-classes durante a estilização, o que simplificou a escrita dos estilos e sua compreensão.
Quinto , multiplataforma - o que significa que uma vez escrito e executado em qualquer lugar. É importante observar que o Avalonia usa tecnologias nativas para funcionar: Direct2D, MonoMac, etc. Além disso, Avalonia retoma o cenário do sistema:
Sexto , suporte ao desenvolvedor: nas salas de bate-papo, tanto em inglês quanto em russo, você pode entrar em contato diretamente com os desenvolvedores e provavelmente eles responderão à sua pergunta.
Do que eu não gosto
Em primeiro lugar , ainda é uma estrutura úmida, e às vezes você pode encontrar bugs, sim, Avalonia cresceu muito ao longo dos anos e, no momento, qualquer bug pode ser resolvido (
com uma muleta ), mas você já pode falar sobre a estabilidade da tecnologia, como observam os próprios desenvolvedores. Eu cheguei na loja de comida.
Em segundo lugar , um desempenho bastante fraco, ou seja, Eu tinha um projeto engraçado para animais de estimação, onde joguei milhares de controles em uma janela e, calmamente, lidamos com ele (normas de 10 mil, não testamos mais), Avalonia deu frisos e, pior, pior (em algum lugar por 3 mil elementos)
Em terceiro lugar , a tecnologia é jovem - a comunidade também é pequena, para que você possa ficar com o fato de que ninguém resolveu o problema que o confrontou.
O que sinto falta em Avalonia
Em primeiro lugar , é fácil criar pacotes de estilos prontos, como metro \ material, mas às vezes você deseja usar o pronto e não pensar nisso.
Em segundo lugar , ligações de mídia, não há suporte multiplataforma para sons e vídeos, e isso não está incluído e não (pelo menos no futuro próximo) será incluído nas tarefas dos desenvolvedores, se você quiser um som multiplataforma - escreva você mesmo ou arraste estranhos.
Em terceiro lugar , suporte aos recursos atuais da plataforma, minimizando a bandeja, ícones de notificação em atalhos, etc., mas aqui você deve prestar homenagem aos desenvolvedores - a cada versão, a situação está melhorando rapidamente.
Resumir
Avalonia está pronta para sair - acho que sim, mas não para eu julgar - tente, olhe. Afinal, como eles dizem: "É melhor ver uma vez do que ouvir 100 vezes"
Gostaria de dizer obrigado a
ForNeVer kekekeks worldbeaterE observe que o suporte ao c # pode ser encontrado
aqui e ao Avalonia
aqui .