Lexbor - biblioteca de renderização HTML open source
(github.com/lexbor)- Um projeto para desenvolver um novo motor de navegador
- Os motores de navegador existentes são desenvolvidos em C++ e têm problemas por serem grandes, lentos e pouco flexíveis
- O Lexbor é desenvolvido em C e tem como objetivos portabilidade, modularização, velocidade, independência e conformidade com padrões
- Principais características do Lexbor:
- É composto por diversos módulos, como HTML, CSS, Encoding, URL, Punycode e Unicode
- Cada módulo pode ser usado como uma biblioteca independente
- Não possui dependências externas
- É fácil de portar para várias plataformas
- Suporta C99 e oferece desempenho muito rápido
- Características do módulo HTML:
- Está totalmente em conformidade com a especificação HTML5
- Fornece recursos para manipular elementos e atributos
- Suporta parsing de HTML fragmentado (
innerHTML) - Suporta parsing em chunks
- Foi testado com mais de 200 milhões de páginas HTML reais
- Oferece dois modos de parsing:
DocumenteParser - Possui detecção automática de encoding
- Faz parsing de atributos de tags e de estilos CSS dentro da tag
<style>
- Características do módulo CSS:
- Está totalmente em conformidade com o módulo CSS Syntax
- Suporta seletores e a árvore de stylesheet (CSSOM)
- O Lexbor fornece pacotes binários para vários sistemas operacionais, como CentOS, Debian, Fedora, RHEL e Ubuntu
- No macOS, pode ser instalado via Homebrew e MacPorts
- O código-fonte pode ser compilado com CMake
liblexboré uma biblioteca única que inclui todos os módulos, e também existem bibliotecasliblexbor-{module}para cada módulo- Existem bindings e wrappers para várias linguagens, como Elixir, Crystal, Python, D e Ruby
4 comentários
C++ é lento, então c...
Nossa... eu nunca tinha pensado que C++ fosse lento, mas parece que esse mundo também existe
Impressionante
Como na tela principal só aparecia até "os motores de navegador existentes foram desenvolvidos em C++ e têm problemas por serem grandes, lentos e pouco flexíveis..."...
Pensei: ué, lá vem mais Rust?.... mas é C mesmo... caramba
É minha linguagem principal, então fico feliz em ver isso...
Então C++ realmente é mais lento que C mesmo..
Não, eu fiquei pensando com o que diabos isso foi implementado pra dizerem que por ser em C++ é lento, mas é C mesmo .....