Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
フルFlutterプロジェクトでの苦労・メリット・開発経験について
Search
ANDPAD inc
February 25, 2021
Programming
0
2.2k
フルFlutterプロジェクトでの苦労・メリット・開発経験について
2021/02/24 ANDPAD TechLive #2 Flutterって実際どうなの?設計からテストまで
ANDPAD inc
February 25, 2021
Tweet
Share
More Decks by ANDPAD inc
See All by ANDPAD inc
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
260
読もう! Android build ドキュメント
andpad
1
390
アンドパッドにおける CocoaPods ライブラリ群の SwiftPackageManager への移行戦略
andpad
0
180
Flutter は DCM が 9 割
andpad
1
270
Amplify で SPA をホスティングする際の注意点
andpad
1
240
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
andpad
0
110
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
530
本編では話さない Zig の話
andpad
2
350
"noncopyable types" の使いどころについて考えてみた
andpad
0
500
Other Decks in Programming
See All in Programming
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.2k
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
720
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.9k
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
310
ニーリーにおけるプロダクトエンジニア
nealle
0
130
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
190
GraphRAGの仕組みまるわかり
tosuri13
7
480
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
250
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
570
F#で自在につくる静的ブログサイト - 関数型まつり2025
pizzacat83
0
310
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
340
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Building Adaptive Systems
keathley
43
2.6k
Why Our Code Smells
bkeepers
PRO
337
57k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
How GitHub (no longer) Works
holman
314
140k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
We Have a Design System, Now What?
morganepeng
53
7.7k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Embracing the Ebb and Flow
colly
86
4.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Transcript
フルFlutterプロジェクトでの苦労・メリット・ 開発経験について Copyright © 2020 Present ANDPAD Inc. This information
is confidential and was prepared by ANDPAD Inc. for the use of our client. It is not to be relied on by and 3rd party. Proprietary & Confidential 無断転載・無断複製の禁止 ANDPAD TechLive #2
自己紹介 - kotaro.kudo - 株式会社アンドパッド アプリ開発チーム - GitHub: ham-burger -
Twitter: derakudo - 金融系SIer→C向け事業会社→現職 - Kotlin/Android時々Swift/iOS
Flutterで開発してます - 検査業務を効率化するサービス - ReactNative製v1からリニューアル
検査アプリについて - 40画面 - 50 domain entity - 70 api
endpoint - Provider+ChangeNotifier - いずれはRiverpodも
1. Flutterを使うのが良いことだけではないということを知って もらう 2. それでも使う価値があるということを知ってもらう 発表のゴール
よかったこと
開発スピード - 言語のコンテキストスイッチが減った - 実装後にフォローすべきコード量が減った - 結果的にスピードアップ
開発スピード(補足) - ≠Dartが良い、≠Kotlin/Swiftが悪い - 言語仕様の違いは慣れが必要 - キャッチアップはAndroid,iOSに比べれば楽かも - 過去の知識が役立つのはある程度進んでから
- ウィジェットテストが書きやすい - Javaと同名のライブラリ(mockito) - UIテストとInstrumentalテストも挑戦してみたい テストのハードル
キャリアの問題 - 手軽に守備範囲を増やせる - 最悪Androidの開発手段として生き残りそう - web,Fuchsia
苦労したこと
Providerの利用方法(1) AndroidのViewModelをイメージして使っていた https://developer.android.com/topic/libraries/architecture/viewmodel?hl=ja#implement
現状の使い方 Providerの利用方法(2) 渡しているcontextがいまいち notifyListeners()するたびにリビルドされ る
利用するcontextをちゃんと理解して使うべき Providerの利用方法(2) builder配下のcontextを利用するため、child側はリビルドされない
Providerの利用方法(3) 1. 適切なスコープを見極め、UIコンポーネントを整理 2. コンポーネントごとに管理すべき状態を分ける 3. 必要なcontextを渡してChangeNotifierをlistenする
デザインのバランス - デフォルトのMaterial vs 人気のCupatino(iOS)? - CupertinoTabBarとAndroidの戻るボタン - 使ってもらうとマテリアルデザインも意外と好評 1.
開発初期はマテリアルデザインですすめる 2. 実装が落ち着いてからデザインの歩み寄りを始める 3. xibとかに比べたらデザイン変更は一瞬
OS固有の対応 - CI/CD,Push通知,カメラ etc - Flutterに集中できるようにしておく - 2OSテストするコスト 1. Flutter脳になる前に対応しておく
2. 対応できるスペシャリストを事前に押さえておく
まとめ - 銀の弾丸ではない - 二刀流する上での選択肢の一つとして有力 - 同一コードで2OSアプリを開発する、というメリットを享受で きるような進め方を考えるべき