O mecanismo do navegador Kosmonaut, escrito em Rust, foi introduzido

No âmbito do projeto cosmonauta Está sendo desenvolvido um motor de navegador, escrito inteiramente na linguagem Rust e utilizando alguns dos desenvolvimentos do projeto Servo. Código distribuído por licenciado sob MPL 2.0 (Licença Pública Mozilla). Ligações OpenGL são usadas para renderização gl-rs na linguagem Rust. O gerenciamento de janelas e a criação de contexto OpenGL são implementados pela biblioteca Glutina. Componentes são usados ​​para analisar HTML e CSS html5ever и cssparserdesenvolvido pelo projeto Servo.
O código para trabalhar com o DOM é baseado nos desenvolvimentos do projeto Kuchiki, que desenvolve uma biblioteca para manipulação de HTML/XML. Dentre os projetos utilizados, também é citado um web engine experimental Robinson, que está em estado de semi-abandono há cerca de 5 anos.

No estágio atual de desenvolvimento, são fornecidos suporte HTML básico e um conjunto limitado de recursos CSS, que ainda não são suficientes para visualizar a maioria das páginas modernas. No entanto páginas simples em divs com CSS são desenhados corretamente. O projeto foi fundado originalmente há um ano para ensinar o processo de desenvolvimento de motores de navegador, mas agora está tentando encontrar novos nichos de aplicação.

O que já foi implementado:

  • Análise de HTML, subconjunto CSS, CSS em cascata, DOM.
  • Renderização de página, layout de conteúdo de bloco.
  • Suporte parcial para resumo modelos de caixa e propriedades "direção".
  • Gerando dumps de depuração com uma árvore de elementos exibidos.
  • Suporta fatores de escala arbitrários para telas de alto DPI.
  • Renderizando texto usando a biblioteca FreeType.
  • apoio Layout de Fluxo, formatação e renderização embutidas sensíveis ao contexto.

Fonte: opennet.ru

Adicionar um comentário