Flutter

PencilデザインをFlutterコードへ変換する方法|Widget分解と確認手順

Pencilで作ったデザインをFlutterコードへ落とし込む流れを解説します。.pen、MCP、AI支援、Widget分解、Theme統合、レビュー観点を整理します。

この記事の目次
  1. この記事の結論
  2. Pencilから受け取るもの
  3. Flutterへ分解する手順
  4. コード化の最小例
  5. AIに任せる範囲
  6. 実装後に確認すること
  7. よくあるつまずき
  8. 次に読む記事
  9. まとめ

Pencilは、AIと一緒にデザインを作るワークフローで使われるツールです。Flutter実装では、Pencilの出力をそのまま完成コードにするのではなく、Widget、Theme、状態へ分解する必要があります。

この記事の結論

PencilからFlutterへ進める時は、デザイン案を確定し、画面構造を抽出し、Widgetに分解し、Themeへ統合し、最後に実機サイズで確認します。

Pencilから受け取るもの

  • 画面の目的
  • 主要Frameやコンポーネント
  • 色、余白、文字のルール
  • .penやMCP経由のデザイン文脈
  • 生成されたコード案やメモ

Flutterへ分解する手順

  1. 画面をHeader、Body、Footerなどに分ける
  2. 繰り返し部分をWidget化する
  3. 色や文字をThemeへ寄せる
  4. 状態が必要な箇所を洗い出す
  5. ListViewやFormなどFlutterの標準Widgetへ置き換える

コード化の最小例

class PromoCard extends StatelessWidget {
  const PromoCard({super.key, required this.title});

  final String title;

  @override
  Widget build(BuildContext context) {
    return Card(
      child: Padding(
        padding: const EdgeInsets.all(16),
        child: Text(title),
      ),
    );
  }
}

AIに任せる範囲

AIにはWidget候補、分割案、Themeへの反映案、レスポンシブ確認リストを出させると有効です。最終的な命名、状態設計、アクセシビリティ、既存コードとの整合は人が確認します。

実装後に確認すること

  • 生成コードを既存Widgetへ統合したか
  • Themeや定数に寄せたか
  • デザイン上の状態差分を実装したか
  • AI生成コードの不要な依存を除いたか
  • 複数サイズで確認したか

よくあるつまずき

  • Pencil出力をそのまま本番コードにする
  • デザイン案と仕様を混同する
  • 状態やエラー表示を後回しにする
  • アクセシビリティやタップ領域を確認しない

次に読む記事

まとめ

PencilはFlutter実装の初速を上げる補助になります。ただし完成コードではなく設計素材として扱い、Widget分解とレビューを必ず行いましょう。