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
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
本編では話さない Zig の話
andpad
2
160
"noncopyable types" の使いどころについて考えてみた
andpad
0
260
ANDPAD黒板のオフラインモード機能 リリースまでの軌跡
andpad
0
120
アンドパッドのマルチプロダクト戦略を支える SRE
andpad
1
140
Introduction of Cybersecurity with OSS (RDRC2024)
andpad
1
33
開発チームとともに進めるインフラセキュリティの継続的な改善
andpad
2
68
ANDPAD and Ruby
andpad
1
560
Modular semantic actions
andpad
0
120
about #67401 //go:linkname
andpad
3
22k
Other Decks in Programming
See All in Programming
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
CSC509 Lecture 11
javiergs
PRO
0
180
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
Flutterを言い訳にしない!アプリの使い心地改善テクニック5選🔥
kno3a87
1
190
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
250
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
CSC509 Lecture 13
javiergs
PRO
0
110
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
140
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
Macとオーディオ再生 2024/11/02
yusukeito
0
370
Quine, Polyglot, 良いコード
qnighy
4
650
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Writing Fast Ruby
sferik
627
61k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
Documentation Writing (for coders)
carmenintech
65
4.4k
Producing Creativity
orderedlist
PRO
341
39k
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アプリを開発する、というメリットを享受で きるような進め方を考えるべき