Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
社内のFlutterテンプレートをリニューアルした話
Search
teamLab
PRO
January 29, 2025
Technology
0
180
社内のFlutterテンプレートをリニューアルした話
teamLab
PRO
January 29, 2025
Tweet
Share
More Decks by teamLab
See All by teamLab
TSKaigi Hokuriku - TypeScriptによる静的データガバナンス
teamlab
PRO
0
35
Reactの<ViewTransition>で作るUIアニメーション
teamlab
PRO
0
9
「めんどくさい」から考える クレジットカード入力フォームのUX
teamlab
PRO
0
24
複雑なUI設計への銀の弾丸 「オブジェクト指向UIデザイン」
teamlab
PRO
2
61
「人」から考える「アクセシビリティ」
teamlab
PRO
0
22
TSKaigi Hokuriku - TC39 Signals で描くJS/TS/フレームワークの未来の姿
teamlab
PRO
0
43
TSKaigi Hokuriku - oxc-transformとisolatedDeclarationsで 手に入れるtscなし型定義ファイル生成
teamlab
PRO
0
30
TSKaigi Hokuriku - tsc --init の設計思想の変化とその背景を追う
teamlab
PRO
0
40
ユーザーのアクションを伴うWidgetのGoldenTest
teamlab
PRO
0
74
Other Decks in Technology
See All in Technology
AIと二人三脚で育てた、個人開発アプリグロース術
zozotech
PRO
0
680
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
580
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
260
Ruby で作る大規模イベントネットワーク構築・運用支援システム TTDB
taketo1113
1
190
第4回 「メタデータ通り」 リアル開催
datayokocho
0
110
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
5分で知るMicrosoft Ignite
taiponrock
PRO
0
130
pmconf2025 - 他社事例を"自社仕様化"する技術_iRAFT法
daichi_yamashita
0
780
GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術
74th
3
1.2k
Karate+Database RiderによるAPI自動テスト導入工数をCline+GitLab MCPを使って2割削減を目指す! / 20251206 Kazuki Takahashi
shift_evolve
PRO
1
460
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
130
AI活用によるPRレビュー改善の歩み ― 社内全体に広がる学びと実践
lycorptech_jp
PRO
1
180
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Speed Design
sergeychernyshev
33
1.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Why Our Code Smells
bkeepers
PRO
340
57k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
710
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
A better future with KSS
kneath
240
18k
KATA
mclloyd
PRO
32
15k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Transcript
社内のFlutterテンプレートをリニューアルした話 新技術の導入で効率化を目指す チームラボ そた 社内のFlutterテンプレートをリニューアルした話 1
自己紹介 そた 高専出身23卒スマホエンジニア KMPとFlutter書いてます 最近ウイスキーにハマってます Twitter: @_sotaatos 社内のFlutterテンプレートをリニューアルした話 2
背景 弊社では常日頃からアプリ開発の効率化を目指している 案件で0→1を繰り返さないためにテンプレートを用意 新規案件の開始が重なるタイミングでテンプレート更新の必要性 弊社では案件開始時毎に新技術の導入を検討 テンプレに新技術を取り入れ続けることで新規案件での新技術導入を効率化 自分が主導となりテンプレートをリニューアル 社内のFlutterテンプレートをリニューアルした話 3
導入した新技術 1. StateMachine 2. VRT (Visual Regression Testing) 3. WidgetBook
4. マルチパッケージ構成 社内のFlutterテンプレートをリニューアルした話 4
StateMachine 有限オートマトンを用いた状態管理 予期せぬ状態遷移の防止 テスト容易性の向上 チーム全体での状態管理の理解促進 FlutterKaigiで登壇してきたので興味ある方は以下のリンクからぜひ ご覧ください! https://www.youtube.com/watch?v=nfL9ffl8ajs 社内のFlutterテンプレートをリニューアルした話 5
VRT UIの回帰テストを導入 PR時点でUIの変更をチェック 予期しないUI変更の防止 マルチデバイスでの表示確認を簡略化 社内のFlutterテンプレートをリニューアルした話 6
WidgetBook UIカタログで作成済みのコンポーネントを 一覧で確認 様々な状態のプレビュー コンポーネントの再利用促進 社内のFlutterテンプレートをリニューアルした話 7
マルチパッケージ構成 CleanArchitectureに基づいた責務分割 依存関係を明確に管理 保守性の向上 開発効率の向上 社内のFlutterテンプレートをリニューアルした話 8
リニューアル時に注意した点 社内のFlutterテンプレートをリニューアルした話 9
チーム内での合意形成 今までよりコードを書くコストは上がる 目的とメリットの明確化 なぜそれをするのかをチーム内で合意形成 定期的なミーティング開催 週1回Flutter改善会というミーティングを開催 進捗状況の共有と意見交換 各メンバーから改善案などもヒアリング 社内のFlutterテンプレートをリニューアルした話 10
ドキュメント整備 新技術を導入するともちろんキャッチアップが必要 キャッチアップのためにプロジェクトが遅延するのは避けたい ドキュメントを整備してキャッチアップのコストを減らす 合計35000文字以上のドキュメントを作成 作成したドキュメント アーキテクチャについて 開発に使用するツール類(melosなど)の使い方 状態管理の設計について その他多数
社内のFlutterテンプレートをリニューアルした話 11
チームメンバーの理解度の確認 日々の開発のフォロー Slackで「StateMachine」を通知キーワードに 困ってそうな人がいないか 想定外の運用をしていないか 質問しやすい環境作り 週一のFlutter改善会では案件の課題の解決なども Flutterに関しての雑談なども行い心理的安全性を高める 社内のFlutterテンプレートをリニューアルした話 12
テンプレート開発の振り返り 社内のFlutterテンプレートをリニューアルした話 13
やってよかったこと 合意形成をとりながらの開発 自分一人だけじゃなく、チームメンバーの意見を取り入れながら開発するこ とでより良いものに 週一回のFlutter改善会 MTGがないとどうしても非同期で小規模なコミュニケーションになりがち 週一回のMTGで一度にFlutterメンバーが集まり会話することでよりコミュニケ ーションがしやすくなった 社内のFlutterテンプレートをリニューアルした話 14
課題として残ったこと 新技術の習得時間 StateMachineやCleanArchitectureの概念理解に時間が必要 ドキュメントは整備したが、量が多くなってしまった 案件規模に応じた柔軟な適用 今回のテンプレートは大規模な開発を想定 小規模な案件でもより活用しやすくする工夫 社内のFlutterテンプレートをリニューアルした話 15
まとめ テンプレートへの新技術の導入による改善 StateMachineやVRT、マルチパッケージ構成による品質・保守性の向上 新規案件立ち上げ時の開発効率の向上が見込める チームコミュニケーションの強化 定期的なミーティングによる合意形成や質問しやすい環境作り メンバー間での知見共有が活発に ドキュメント整備による知見の蓄積 新メンバーの参画時のキャッチアップがスムーズに プロジェクトの設計思想が明確に残せた
社内のFlutterテンプレートをリニューアルした話 16
ご清聴ありがとうございました Contact: @_sotaatos 社内のFlutterテンプレートをリニューアルした話 17