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 Core Concepts が自分のワークフローをカバーするか先に確認したい場合。
関連:Agent Messaging Skill、Agent Ops Incident Notifier。分類は skills。
コメント
まだコメントがありません。最初のコメントを投稿してください!
関連ツール
Makepad Getting Started
makepad.nl
Makepad開発のエントリーポイント。プロジェクトのセットアップ、構造、Rustを使用したクロスプラットフォームUIアプリケーション構築のための利用可能なスキルを学びます。
Makepad Components Gallery
makepad.nl
すべてのMakepad組み込みウィジェットの使用例付きクイックリファレンス。ボタン、入力、スライダー、チェックボックス、ドロップダウン、ラベル、アイコン、仮想リストをカバー。
Makepad Deployment
makepad.nl
デスクトップ(Linux、Windows、macOS)、モバイル(Android、iOS)、Web(Wasm)プラットフォームでMakepadアプリケーションを配布用にパッケージ化。完全なビルドとデプロイガイド。
関連インサイト

Anthropic Subagent: マルチエージェント時代のアーキテクチャ革命
Anthropicのマルチエージェントアーキテクチャ設計を徹底解説。Subagentによるコンテキストウィンドウ制限の突破、90%のパフォーマンス向上、Claude Codeでの実際の応用について学びます。
7 つの AI コーディング CLI を半年使って悟ったこと:モデルがどんなに強くても、仕事には監督が必要
Claude Code、Codex、opencode、pi、omp、DeepSeek Harness はそれぞれ性格が違う。半年間の深い使用で確立した分業:pi で最速最省のレビュー、omp で複雑な PR レビュー、DeepSeek Harness + V4 Flash で高頻度・低コストなレビュー、Claude Code と Qoder でコーディング。モデルがどんなに強くても、仕事には監督が必要——しかも独立した第三者であるべき。
Skills + Hooks + Plugins:AnthropicによるAIコーディングツールの拡張性の再定義
Claude CodeのSkills、Hooks、Pluginsという三位一体アーキテクチャを深く分析し、なぜこの設計がGitHub CopilotやCursorよりも先進的なのか、そしてオープンスタンダードを通じてAIコーディングツールの拡張性をどのように再定義しているかを探ります。