Lexbor - bibliothèque open source de moteur de rendu HTML
(github.com/lexbor)- Un projet de développement d’un nouveau moteur de navigateur
- Les moteurs de navigateur existants sont développés en C++ et présentent des problèmes de taille, de lenteur et de manque de flexibilité
- Lexbor est développé en C avec pour objectifs la portabilité, la modularité, la rapidité, l’indépendance et la conformité aux standards
- Principales caractéristiques de Lexbor :
- Composé de divers modules tels que HTML, CSS, Encoding, URL, Punycode et Unicode
- Chaque module peut être utilisé comme bibliothèque indépendante
- Aucune dépendance externe
- Facile à porter sur différentes plateformes
- Compatible avec C99 et extrêmement rapide
- Caractéristiques du module HTML :
- Entièrement conforme à la spécification HTML5
- Fournit des fonctions de manipulation des éléments et des attributs
- Prend en charge l’analyse de fragments HTML (
innerHTML) - Prend en charge l’analyse par blocs
- Testé sur plus de 200 millions de pages HTML réelles
- Propose deux modes d’analyse :
DocumentetParser - Détection automatique de l’encodage
- Analyse des attributs de balise et des styles CSS dans les balises
<style>
- Caractéristiques du module CSS :
- Entièrement conforme au module CSS Syntax
- Prise en charge des sélecteurs et de l’arbre de feuilles de style (CSSOM)
- Lexbor fournit des paquets binaires pour de nombreux systèmes d’exploitation comme CentOS, Debian, Fedora, RHEL et Ubuntu
- Sur macOS, l’installation est possible via Homebrew et MacPorts
- Le code source peut être compilé avec CMake
liblexborest une bibliothèque unique incluant tous les modules, et il existe aussi des bibliothèquesliblexbor-{module}pour chaque module- Il existe des bindings et wrappers pour de nombreux langages, dont Elixir, Crystal, Python, D et Ruby
4 commentaires
Le C++ est lent, donc le C...
Waouh... je n'avais jamais pensé que le C++ était lent, mais j'imagine que c'est encore un autre monde.
C'est impressionnant.
Comme seul le passage « les moteurs de navigateur existants sont développés en C++, ce qui les rend gros, lents et peu flexibles... » apparaissait sur l’écran principal...
Je me suis dit : quoi, encore du Rust ?... mais non... c’est du C... 😳😳😳
C’est mon langage principal, donc ça fait plaisir...
Le C++ est donc bien plus lent que le C...
Non mais sérieusement, ils l'ont implémenté avec quoi pour dire que c'était lent parce que c'était en C++ ? En fait, c'est du C .....