HN 日本語サマリー

← 一覧へ戻る
プログラミング

Show HN: Base-GPUI - Base UIのヘッドレスコンポーネントをGPUIに移植

Show HN: Base-GPUI: A GPUI port of Base UI headless components (github.com)

5 pointsby autodidacc0 コメント

要約

Base GPUIは、Base UIの豊富なヘッドレスコンポーネントAPIをGPUIネイティブに移植したライブラリです。コンポーネントはスタイリングされておらず、アプリケーション側で完全なデザインコントロールを維持できます。GPUIの即時モードレンダリングモデルに合わせて実装されており、現在も活発に開発が進められています。

全文翻訳

Base GPUI GPUIネイティブなBase UIの豊富なヘッドレスコンポーネントAPIのポートです。 Base GPUIは、Base UIの豊富なコンポーネントAPIサーフェスをGPUIに移植します。コンパウンドパーツ、制御済みおよび未制御の状態、キーボード操作、状態に応じたスタイリング、アクセシビリティセマンティクスが含まれます。 コンポーネントはスタイリングされていないため、アプリケーションはビジュアルデザインを完全に制御できます。 公開APIは、その概念がネイティブアプリケーションにきれいにマッピングされる場合はBase UIに従いますが、実装はGPUIの即時モードレンダリングモデル専用に設計されています。 重要Base GPUIは活発な開発中です。APIはバージョン1.0の前に変更される可能性があります。GPUIの活発に開発されているGitリビジョンを使用するプロジェクトで一般的なように、GitHubからインストールしてください。 インストール [dependencies] base-gpui = { git = "https://github.com/LukeTandjung/base-gpui" } gpui = { git = "https://github.com/zed-industries/zed", rev = "1d029c5ff5654fb1b1e8caf4462993c8ee13a133" } 使用法 アプリケーションの起動時にBase GPUIを初期化します。 use gpui::{App, Application}; fn main() { Application::new().run(|cx: &mut App| { base_gpui::init(cx); // アプリケーションウィンドウを開きます。 }); } コンポーネントはコンパウンドパーツと状態に応じたスタイリングを公開します。 例えば、タブは単一の事前スタイリングされたウィジェットではなく、TabsRoot、TabsList、TabsTab、TabsIndicator、TabsPanelから構成されます。 コンポーネント Base GPUIは現在、アコーディオン、ダイアログ、ボタン、チェックボックス、コンボボックス、メニュー、ポップオーバー、セレクト、スライダー、タブ、トースト、ツールチップ、その他の一般的なインターフェイスパターンのAPIを含んでいます。 各コンポーネントのコンパウンドパーツ、ビヘイビアビルダー、サポートタイプ、スタイル状態、アクセシビリティモデルについては、コンポーネントガイドを参照してください。 デザイン Base GPUIは、Base UIの公開コンポーネントコンセプトの意図的なGPUIポートであり、Base UIのReact内部のRust翻訳ではありません。 表現力豊かなヘッドレスAPIを維持しつつ、GPUIネイティブのメカニズムを通じてビヘイビア、状態、レンダリング、アクセシビリティを実装しています。 GPUIが必要なプリミティブを公開する場所に、アクセシビリティセマンティクスとキーボードビヘイビアがコンポーネントに組み込まれています。 アップストリームのGPUIアクセシビリティAPIの欠如によって引き起こされる既知のギャップは、サイレントに近似されるのではなく、文書化されています。詳細はコンポーネントアーキテクチャを参照してください。 プロジェクト関係 Base GPUIは独立したコミュニティプロジェクトです。 Base UIまたはZedチームとは提携しておらず、承認も維持もされていません。 Base UIはコンポーネントAPIデザインにインスピレーションを与えました。 GPUIは基盤となるアプリケーションフレームワークです。 Base UIおよびGPUIの名前とロゴは、それぞれの所有者に帰属します。 ライセンスMIT