Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Flutterアプリを生成AIで生成する勘所
Search
Ryoichi Izumita
September 20, 2024
Programming
1.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Flutterアプリを生成AIで生成する勘所
Ryoichi Izumita
September 20, 2024
More Decks by Ryoichi Izumita
See All by Ryoichi Izumita
モバイル開発における共通性・可変性分析入門
rizumita
0
120
FlutterアプリのテストでBuilderパターンを活用しよう
rizumita
0
800
SwiftUIの大地を駆け巡るための仕組みを作る
rizumita
0
290
VIPERアーキテクチャ
rizumita
1
860
FRPを使いはじめて3年が過ぎました。
rizumita
4
1.5k
とあるプログラマのリモートワーク
rizumita
0
400
JavaScript for Automation
rizumita
1
290
Other Decks in Programming
See All in Programming
Agents on Rails - Rails at Scale 2026
irinanazarova
0
570
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
270
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
npm との違いを手がかりにGo の依存管理を理解したい
optim
0
930
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
650
Seven New Principles of Software Engineering
yegor256
0
110
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.6k
R8 の設定見直しでアプリサイズ削減
andpad
0
220
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
2
990
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
300
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
120
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.2k
Featured
See All Featured
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
30 Presentation Tips
portentint
PRO
1
430
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
630
Utilizing Notion as your number one productivity tool
mfonobong
4
620
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
640
Un-Boring Meetings
codingconduct
0
460
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Transcript
Flutterアプリを生成AIで生成する勘所 1
自己紹介 りず 和泉田 領一 合同会社CAPH TECH 代表社員 Flutter技術顧問・テックリード ゆめみの方から来ました(Flutterテックリード) 生成AIを活用した開発の研究
2
前提条件 使用するAIモデル CursorでClaude 3.5 Sonnetが基本 o1-preview, o1-miniも活用できる Claude 3.5 Sonnetの話
3
Flutter生成特有のルール 1. 命名規則 enumの命名 大文字とアンダースコアで命名されることが多いため、ルールで 命名を規定する。 4
2. 状態管理とアーキテクチャ Riverpodの利用 何も指定しなければ古い記述形式になるため、Generatorを使用 する場合はルールに記述する。 アーキテクチャパターンの指定 クリーンアーキテクチャとMVVMを利用してくる。 Riverpodでのアーキテクチャパターンの指示は必須。 5
3. ウィジェットの管理 デフォルト生成とカスタム分割 Widgetはデフォルトで分割せずに生成される。 カスタムWidgetに分割するには明示的な指示が必要。 カスタムWidgetの分割ルール 「Widgetは単一責任の原則を遵守する」 。 ローカル状態の管理 Flutter
Hooksを使わずにsetStateを利用するコードでも生成なら 面倒は少ない。 わざわざFlutter Hooksを覚える必要が無い。 6
4. パッケージの利用 パッケージ導入の検討 面倒を回避するためにパッケージを導入する場合、生成AIで肩代 わりできるか検討。 簡易な状態管理パッケージの検討 Riverpodが複雑なため、より簡単なパッケージを検討。 私はsignalsを利用している。 7
4. パッケージの利用(続き) ルーティング Navigator 2.0を利用して、状態の変化により遷移を引き起こす実 装を生成できる。 がんばってgo_routerを利用するよりNavigator 2.0のコードを生 成する方が楽に感じている。 8
生成一般 1. 導入時の活用方法 Cursorを既存プロジェクトで利用を始める場合 Copilot+を利用する ドキュメンテーションコメントを生成する テストを生成する リファクタリング Widgetを分割する 設計の問題点を相談する
9
2. コーディングルール 基本的なコーディングルールの遵守 基本ルールはAIが守るため、特別な指示は不要。 命名規則はenumくらい。 10
3. コメントとアサーションの活用 ドキュメンテーションコメントやコードコメントの記述 生成されたコードを理解する時間が必要。 コメントを記述するように指示することで、コードの理解が容易 になる。 記述内容を指示することで、ドキュメンテーションコメントを充 実させる。 アサーションの活用 アサーションを活用することで、コードの信頼性を高める。
事前条件・事後条件・不変条件 11
4. 設計とコストの注意点 設計とAIモデルの選択 o1-preview, o1-miniで設計、Claude 3.5 Sonnetでコード生成。 o1-previewは使用量に応じて料金がかかり高価。 o1-previewが生成するFlutterコードは情報が古い。 12
5. ドキュメント管理 アーキテクチャパターンの記述方法 ルールではなく、ドキュメントファイルに記述。 ComposerのProjectでそのファイルを必ず読み込むよう指定。 13
まとめ AIを活用したFlutterアプリ開発のためのルールとベストプラクティ ス 効率的な開発と高品質なコードの生成を目指す 14
Q&A ご質問はありますか? 15