Makepad コア概念
レイアウト、ウィジェット、イベント、スタイリングを含むMakepad UI開発の基本的な構成要素。
クイックナビゲーション
| トピック | 説明 |
|---|---|
| レイアウトシステム | フロー、サイズ、間隔、配置 |
| ウィジェット | 一般的なウィジェット、カスタムウィジェット作成 |
| イベント | イベント処理、ヒットテスト、アクション |
| スタイリング | フォント、テキストスタイル、SVGアイコン |
概要
Makepadは次を使用するRustベースのクロスプラットフォームUIフレームワークです:
- 宣言的UIレイアウトのための
live_design!マクロ #[derive(Live, Widget)]によるウィジェット合成- 型付きActionsを使用したイベント駆動アーキテクチャ
- GPUアクセラレーテッドレンダリング
プロジェクト構造
my_app/
├── src/
│ ├── app.rs # メインアプリエントリ、イベントルーティング
│ ├── lib.rs # モジュール宣言、live_register
│ ├── home/ # 機能モジュール
│ │ ├── mod.rs
│ │ └── home_screen.rs
│ └── shared/ # 再利用可能なウィジェット
│ ├── mod.rs
│ ├── styles.rs # テーマ、色
│ └── widgets.rs
└── resources/ # 画像、フォント
live_design! マクロ
Makepad UI定義のコア:
live_design! {
use link::theme::*;
use link::shaders::*;
use link::widgets::*;
App = {{App}} {
ui: <Root> {
main_window = <Window> {
body = <View> {
flow: Down,
spacing: 10,
padding: 20,
my_button = <Button> {
text: "クリック"
draw_bg: { color: #4A90D9 }
}
<Label> { text: "こんにちは Makepad" }
}
}
}
}
}
DSL 構文リファレンス
| 構文 | 目的 | 例 |
|---|---|---|
<Widget> | ウィジェットのインスタンス化 | <Button> { text: "OK" } |
name = <Widget> | 名前付き参照 | my_btn = <Button> {} |
{{StructName}} | Rust構造体へのリンク | App = {{App}} {} |
flow: Down/Right | レイアウト方向 | flow: Down |
width/height | サイズ | width: Fill, height: Fit |
padding/margin | 間隔 | padding: {left: 10, top: 5} |
サイズ値
| 値 | 意味 |
|---|---|
Fill | 利用可能なスペースを埋める |
Fit | コンテンツに合わせる |
Fixed(100.0) | ピクセル単位の固定サイズ |
All | 全方向に埋める |
イベント処理
fn handle_event(&mut self, cx: &mut Cx, event: &Event, scope: &mut Scope) {
match event.hits(cx, self.view.area()) {
Hit::FingerDown(_fe) => {
// クリックを処理
}
_ => {}
}
}
リソース
- Makepad drawソース
- Robrix - 実用例
コメント
まだコメントがありません。最初のコメントを投稿してください!
関連ツール
Makepad 入門ガイド
makepad.nl
Makepad開発のエントリーポイント。プロジェクトのセットアップ、構造、Rustを使用したクロスプラットフォームUIアプリケーション構築のための利用可能なスキルを学びます。
Makepad コンポーネントギャラリー
makepad.nl
すべてのMakepad組み込みウィジェットの使用例付きクイックリファレンス。ボタン、入力、スライダー、チェックボックス、ドロップダウン、ラベル、アイコン、仮想リストをカバー。
Makepad デプロイメント
makepad.nl
デスクトップ(Linux、Windows、macOS)、モバイル(Android、iOS)、Web(Wasm)プラットフォームでMakepadアプリケーションを配布用にパッケージ化。完全なビルドとデプロイガイド。
関連インサイト

Anthropic Subagent: マルチエージェント時代のアーキテクチャ革命
Anthropicのマルチエージェントアーキテクチャ設計を徹底解説。Subagentによるコンテキストウィンドウ制限の突破、90%のパフォーマンス向上、Claude Codeでの実際の応用について学びます。
Claude Skills 完全ガイド - 必須10大 Skills 徹底解説
Claude Skills の拡張メカニズムを深掘りし、10の中核スキルと Obsidian 連携を詳しく解説。高効率な AI ワークフロー構築を支援します
Skills + Hooks + Plugins:AnthropicによるAIコーディングツールの拡張性の再定義
Claude CodeのSkills、Hooks、Pluginsという三位一体アーキテクチャを深く分析し、なぜこの設計がGitHub CopilotやCursorよりも先進的なのか、そしてオープンスタンダードを通じてAIコーディングツールの拡張性をどのように再定義しているかを探ります。