Rustで書かれた高性能なUI レイアウトライブラリ。Flexbox、CSS Grid、ブロックレイアウトに対応しています。
中辛 の解説
Rustで実装されたUIレイアウトエンジンです。Flexbox、CSS Grid、ブロックレイアウトアルゴリズムをサポートしており、Servo、Bevy、Lapce、Zedなどの主要プロジェクトで採用されています。ベンチマーク結果ではYogaと比べて多くのシナリオで同等またはそれ以上のパフォーマンスを発揮します。ノード数100,000のテストケースで約38~63ms の計算時間です。すぐに使える実装例がに含まれており、Pythonなどの言語バインディングも開発中です。
이런 레포예요
이럴 때 쓰면 좋아요
- Bevyなどのゲームエンジンでゲーム内UIのレイアウトを計算する場合
- Lapce、Zedなどのテキストエディタのエディタパネル配置を処理する場合
- ServoやBlitzなどのウェブエンジンにCSSレイアウト機能を提供する場合
핵심 기능
대안 대비 차별점
複数のプロジェクト(Bevy、Servo、Lapce、Zedなど)で広く採用されており、CSS仕様への準拠度が高く、深いツリー構造で特に最適化されています。
食べた人たち
実際に使ってみた人の記録です — 一言も完走の記録も、確認のうえで公開しています。
このリポジトリの作り方
はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。
준비물
- Rust(1.70以上推奨)
すぐ動かしてみるRust (cargo)
ギット飯がリポジトリの構成を確認して組み立てた実行コマンドです。ターミナルに貼り付ければ、取得から実行までまとめて進みます。
git clone --depth 1 https://github.com/DioxusLabs/taffy.git && cd taffy && cargo run
コードは自分の環境で動きます — はじめて見るリポジトリなら、中身にひととおり目を通してから実行するのがおすすめです。
README가 안내하는 자세한 단계 보기
- Cargoプロジェクトにtaffyを追加します。
cargo add taffy
- TaffyTreeインスタンスを作成します。
use taffy::prelude::*;
let mut tree: TaffyTree<()> = TaffyTree::new();
- Styleを指定してノードを作成します。
let header_node = tree
.new_leaf(
Style {
size: Size { width: length(800.0), height: length(100.0) },
..Default::default()
},
).unwrap();
- 子ノードを含む親ノードを作成します。
let root_node = tree
.new_with_children(
Style {
flex_direction: FlexDirection::Column,
size: Size { width: length(800.0), height: length(600.0) },
..Default::default()
},
&[header_node, body_node],
)
.unwrap();
- レイアウト計算を実行します。
tree.compute_layout(root_node, Size::MAX_CONTENT).unwrap();
- 計算されたレイアウト情報を取得します。
let layout = tree.layout(root_node).unwrap();
println!("Width: {}, Height: {}", layout.size.width, layout.size.height);
ギット飯トライで味見
入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。
ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。
npx gitbap-try DioxusLabs/taffy
Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →
スター推移 · 7日
使いやすさ · まねしやすいか
- ゆるいライセンス
- テストあり
- サンプル集
- 最近の更新
- AGENTS.md
- llms.txt
- テンプレート
最近の更新あり · 2022 年に作成
「디자인·UI 컴포넌트」 こういうリポジトリを毎週受け取りませんか?
毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。
自分のリポジトリですか? README にギット飯バッジを貼る
[](https://www.gitbap.com/r/DioxusLabs/taffy)Claude からそのまま使う — ギット飯のつなぎ方
ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。
Claude の設定 → コネクタにこのアドレスを貼り付け。
https://www.gitbap.com/api/mcpプラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。
/plugin marketplace add jakeparkcolde/gitbap-cowork/plugin install gitbap-cowork@gitbapAI が README をもとに要約しました · 原文を見る