24 puntos por xguru 2024-06-14 | 4 comentarios | Compartir por WhatsApp
  • Un proyecto para desarrollar un nuevo motor de navegador
    • Los motores de navegador existentes están desarrollados en C++ y tienen problemas por ser grandes, lentos y poco flexibles
    • Lexbor está desarrollado en C y busca portabilidad, modularidad, velocidad, independencia y cumplimiento de estándares
  • Características principales de Lexbor:
    • Está compuesto por diversos módulos como HTML, CSS, Encoding, URL, Punycode y Unicode
    • Cada módulo puede usarse como una biblioteca independiente
    • No tiene dependencias externas
    • Es fácil de portar a distintas plataformas
    • Soporta C99 y presume una velocidad muy alta
  • Características del módulo HTML:
    • Cumple completamente con la especificación HTML5
    • Proporciona funciones para manipular elementos y atributos
    • Soporta el parsing de HTML fragmentado (innerHTML)
    • Soporta parsing por chunks
    • Ha sido probado con más de 200 millones de páginas HTML reales
    • Ofrece dos formas de parsing: Document y Parser
    • Función de detección automática de encoding
    • Función de parsing de atributos de etiquetas y estilos CSS dentro de la etiqueta <style>
  • Características del módulo CSS:
    • Cumple completamente con el módulo CSS Syntax
    • Soporta selectores y el árbol de hojas de estilo (CSSOM)
  • Lexbor ofrece paquetes binarios para varios sistemas operativos como CentOS, Debian, Fedora, RHEL y Ubuntu
  • En macOS puede instalarse mediante Homebrew y MacPorts
  • El código fuente puede compilarse usando CMake
  • liblexbor es una biblioteca única que incluye todos los módulos, y también existen bibliotecas liblexbor-{module} para cada módulo
  • Existen bindings y wrappers para varios lenguajes como Elixir, Crystal, Python, D y Ruby

4 comentarios

 
aer0700 2024-06-16

Como C++ es lento, entonces c...
Vaya... nunca había pensado que C++ fuera lento, pero parece que ese también es otro tipo de mundo.
Impresionante

 
botplaysdice 2024-06-15

Como en la pantalla principal solo aparecía hasta: "los motores de navegador existentes están desarrollados en C++, y tienen problemas de ser grandes, lentos y poco flexibles..."

Pensé: ¿qué es esto, otro más en Rust?... pero no... es C... wow.

Es mi lenguaje principal, así que me da gusto verlo...

 
mdisprgm 2024-06-14

Parece que C++ sí es más lento que C..

 
penza1 2024-06-14

No, o sea, me preguntaba con qué demonios lo habían implementado para decir que era lento por estar hecho en C++, pero resulta que era en C .....