24 ポイント 投稿者 xguru 2024-06-14 | 4件のコメント | WhatsAppで共有
  • 新しいブラウザエンジンを開発するプロジェクト
    • 既存のブラウザエンジンはC++で開発されており、大きく、遅く、柔軟性に欠けるという問題がある
    • LexborはCで開発されており、移植性、モジュール化、速度、独立性、標準準拠などを目標としている
  • Lexborの主な特徴:
    • HTML、CSS、Encoding、URL、Punycode、Unicodeなど多様なモジュールで構成されている
    • 各モジュールを独立したライブラリとして利用可能
    • 外部依存がない
    • さまざまなプラットフォームへ容易に移植できる
    • C99をサポートし、非常に高速である
  • HTMLモジュールの特徴:
    • HTML5仕様に完全準拠している
    • 要素と属性を操作する機能を提供
    • 断片化されたHTMLのパースをサポート (innerHTML)
    • チャンク単位のパースをサポート
    • 2億件以上の実際のHTMLページでテストされている
    • DocumentParserの2種類のパース方式を提供
    • エンコーディング自動判別機能
    • タグ属性と<style>タグ内のCSSスタイルをパースする機能
    広告
  • CSSモジュールの特徴:
    • CSS Syntaxモジュールに完全準拠している
    • セレクタとスタイルシートツリー(CSSOM)をサポート
  • LexborはCentOS、Debian、Fedora、RHEL、Ubuntuなど、さまざまなOS向けのバイナリパッケージを提供している
  • macOSではHomebrewとMacPortsを通じてインストール可能
  • ソースコードはCMakeを使ってビルド可能
  • liblexborはすべてのモジュールを含む単一ライブラリで、各モジュールごとにliblexbor-{module}ライブラリがある
  • Elixir、Crystal、Python、D、Rubyなど、さまざまな言語向けのバインディングとラッパーが存在する

4件のコメント

 
aer0700 2024-06-16

C++ が遅いからって c...
わあ…C++ が遅いなんて考えたこともなかったですが、そういう世界もまた別のものなんですね
すごいです

 
botplaysdice 2024-06-15

メイン画面に「既存のブラウザーエンジンはC++で開発されていて、大きくて遅く、柔軟性に欠ける問題がある…」までしか出てこなかったので…

何だよ、またRustか? と思ったんですが……Cでしたね……。

自分のメイン言語なのでうれしいですね…

 
mdisprgm 2024-06-14

C++ は C より遅いんですね…。

 
penza1 2024-06-14

いや、いったい何で実装したから C++ なのに遅いって言われてるんだと思ったら、
C なんですね……