Com mais uma integração na caixa de ferramentas, o DotNetBrowser tornou-se o controle de Web view mais versátil para .NET no Windows, Linux e macOS.

Esta integração oferece à comunidade .NET uma nova ferramenta e novas capacidades. Com uma poderosa Web view, o .NET e o Avalonia UI estão no caminho certo para se tornarem a tecnologia número um para a criação de aplicativos de desktop multiplataforma.

Temos orgulho em fazer parte destes eventos e queremos lhe contar como esta integração se tornou realidade.

Experimente você mesmo 

Preparamos um projeto de demonstração, um navegador simples com abas e navegação.

Obtenha a licença de avaliação com um clique e verifique-a no GitHub.

Spinner

Enviando…

Desculpe, o envio foi interrompido

Tente novamente. Se o problema persistir, contate-nos através do endereço info@teamdev.com.

Leia e aceite os termos para continuar.

A sua chave de avaliação pessoal de DotNetBrowser e o guia de início rápido chegarão à sua caixa de entrada de e-mail dentro de alguns minutos.

Uma viagem multiplataforma 

Aplicação Avalonia com DotNetBrowser no macOS

Aplicação Avalonia com DotNetBrowser no macOS

Em 2019, uma pequena equipe de engenheiros reuniu-se no nosso acolhedor escritório para dar início à próxima iteração do DotNetBrowser — versão 2. Nesta altura, o .NET já tinha se tornado uma tecnologia multiplataforma e sabíamos desde o início que o DotNetBrowser 2.0 também deveria ser.

Em 2022, lançámos a primeira versão do DotNetBrowser que também funcionava em Linux e macOS. Nesta versão, adicionamos mais três conjuntos de binários do Chromium e permitimos que os nossos clientes utilizassem o navegador fora da tela.

Um navegador fora da tela é, sem dúvida, útil, mas apenas alguns clientes utilizam o DotNetBrowser desta forma. A última etapa da viagem foi encontrar a estrutura de IU multiplataforma com a qual estamos prontos para nos comprometer.

Escolhendo o Avalonia 

Considerámos vários fatores ao selecionar uma estrutura de IU para a nova integração. E após uma pesquisa minuciosa, a IU da Avalonia surgiu como a única escolha, está aqui porquê:

  • É compatível com Linux e macOS.
  • É fácil para os programadores WPF, que podem reutilizar os seus conhecimentos de XAML.
  • Trata-se de uma estrutura madura com uma década de desenvolvimento ativo.
  • Tem uma grande e empenhada comunidade global de programadores.

O Avalonia é uma excelente tecnologia, mas a integração do DotNetBrowser com uma nova estrutura é sempre um trabalho difícil. As nossas exigências não são normais e as nossas exigências são altas: O DotNetBrowser deve funcionar de forma idêntica em dois modos de renderização e em três sistemas operacionais. Não sabíamos no início: será que vamos conseguir fazer isto com a interface do usuário da Avalonia?

Desafios e colaboração 

O modo de renderização acelerada por hardware sempre nos deu trabalho, e não foi exceção na Avalonia IU. Percebemos rapidamente que o Avalonia carecia de alguns recursos muito especializados ao testá-lo em todas as plataformas.

Não foi uma surpresa, porque se tratava de coisas muito plataforma-específicas. As pessoas raramente sabem sobre elas, mas elas são críticas para o DotNetBrowser. Por isso, contactamos a equipe da Avalonia.

O pessoal da IU do Avalonia reagiu imediatamente. Tivemos o prazer de nos encontrar com uma equipe muito acessível e conhecedora. Os engenheiros falaram diretamente uns com os outros e resolvemos todos os problemas no espaço de duas semanas. Nos deram ótimos conselhos e até contribuímos um pouco para a estrutura.

Conclusão 

O DotNetBrowser pretendia se tornar um controle de visualização multiplataforma para o .NET. Ao escolher um conjunto de ferramentas de IU, escolhemos o Avalonia como uma estrutura amplamente adotada que suporta Linux e macOS.

A natureza amigável e descontraída da equipe de IU do Avalonia tornou esta viagem agradável. Num ambiente positivo e de colaboração, ultrapassamos os desafios técnicos em poucas semanas.

Acreditamos que a nossa colaboração alarga a adoção das nossas tecnologias e é um passo significativo para todo o ecossistema .NET.