Taffy:Rust製UIレイアウトライブラリ、FlexboxとCSS Gridを高速実装
Taffy: A flexible, high-performance, cross-platform UI layout library
TaffyはRustで書かれた柔軟で高性能なクロスプラットフォームUIレイアウトライブラリです。CSSのBlock、Flexbox、CSS Gridのレイアウトアルゴリズムを実装しており、Servo、Bevy、Zedなど多くのプロジェクトで利用されています。ベンチマークでは、多くのケースでFacebookのYogaを上回る性能を示しています。
TaffyはFlexboxとCSS Gridの仕様を忠実に実装しているため、ウェブ向けのドキュメントはTaffyの実装にもそのまま適用できます。
HNでの議論
41- nicoburns
私はTaffyをメンテナンスしています。何でも聞いてください。
現在、その上に、より広範なブラウザエンジン/GUIツールキットを構築しているところです(https://github.com/dioxuslabs/blitz)。その一環として、CSSレイアウトの厄介な部分(フロートなど)を実装し、また、ここで追跡しているWPTテストの修正に取り組んでいます:https://blitz.is/status/wpt/css/css-flexbox。
ビジョンは、Webレイアウトアルゴリズムの完全なスタンドアロン実装を提供し、簡単に埋め込める(個々のアルゴリズムを有効/無効にできる、使用量に応じて課金)ようにし、また、新しいブラウザエンジンの作成を容易にするモジュール式のブラウザエンジンコンポーネントのエコシステムの一部となることです。
Blitz以外の注目すべきユーザーは以下の通りです:
- Servo(CSS Gridのみに使用)
- Zed(GPUIツールキット経由で使用)
- chrisweekly
密接に関連する余談ですが、CSSを第一原理から活用する方法を示す素晴らしいリソースがあります:https://every-layout.dev
- hereonout2
イギリスの特定の層にとっては残念な名前ですね!
- davidhyde
このライブラリは、組み込みハードウェア(KB単位のRAMを持つマイクロコントローラ)上でno_std GUIを構築するために使用できます。それほど軽量で高速です。
- LoganDark
私はAppleの制約ベースのレイアウトシステムのようなものに興味があります。ネストされたフレックスボックスやグリッドでも多くのことができますが、制約レイアウトを見てちょっと魅了されました。ウィンドウのリサイズが特定の優先度を持つ制約として表現される点も含めて!