Upgrade to Pro — share decks privately, control downloads, hide ads and more …

フルFlutterプロジェクトでの苦労・メリット・開発経験について

8847086af047cbf895ab3277b59529fe?s=47 ANDPAD inc
February 25, 2021

 フルFlutterプロジェクトでの苦労・メリット・開発経験について

2021/02/24 ANDPAD TechLive #2 Flutterって実際どうなの?設計からテストまで

8847086af047cbf895ab3277b59529fe?s=128

ANDPAD inc

February 25, 2021
Tweet

Transcript

  1. フル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
  2. 自己紹介 - kotaro.kudo - 株式会社アンドパッド アプリ開発チーム - GitHub: ham-burger -

    Twitter: derakudo - 金融系SIer→C向け事業会社→現職 - Kotlin/Android時々Swift/iOS
  3. Flutterで開発してます - 検査業務を効率化するサービス - ReactNative製v1からリニューアル

  4. 検査アプリについて - 40画面 - 50 domain entity - 70 api

    endpoint - Provider+ChangeNotifier - いずれはRiverpodも
  5. 1. Flutterを使うのが良いことだけではないということを知って もらう 2. それでも使う価値があるということを知ってもらう 発表のゴール

  6. よかったこと

  7. 開発スピード - 言語のコンテキストスイッチが減った - 実装後にフォローすべきコード量が減った - 結果的にスピードアップ

  8. 開発スピード(補足) - ≠Dartが良い、≠Kotlin/Swiftが悪い - 言語仕様の違いは慣れが必要 - キャッチアップはAndroid,iOSに比べれば楽かも - 過去の知識が役立つのはある程度進んでから

  9. - ウィジェットテストが書きやすい - Javaと同名のライブラリ(mockito) - UIテストとInstrumentalテストも挑戦してみたい テストのハードル

  10. キャリアの問題 - 手軽に守備範囲を増やせる - 最悪Androidの開発手段として生き残りそう - web,Fuchsia

  11. 苦労したこと

  12. Providerの利用方法(1) AndroidのViewModelをイメージして使っていた https://developer.android.com/topic/libraries/architecture/viewmodel?hl=ja#implement

  13. 現状の使い方 Providerの利用方法(2) 渡しているcontextがいまいち notifyListeners()するたびにリビルドされ る

  14. 利用するcontextをちゃんと理解して使うべき Providerの利用方法(2) builder配下のcontextを利用するため、child側はリビルドされない

  15. Providerの利用方法(3) 1. 適切なスコープを見極め、UIコンポーネントを整理 2. コンポーネントごとに管理すべき状態を分ける 3. 必要なcontextを渡してChangeNotifierをlistenする

  16. デザインのバランス - デフォルトのMaterial vs 人気のCupatino(iOS)? - CupertinoTabBarとAndroidの戻るボタン - 使ってもらうとマテリアルデザインも意外と好評 1.

    開発初期はマテリアルデザインですすめる 2. 実装が落ち着いてからデザインの歩み寄りを始める 3. xibとかに比べたらデザイン変更は一瞬
  17. OS固有の対応 - CI/CD,Push通知,カメラ etc - Flutterに集中できるようにしておく - 2OSテストするコスト 1. Flutter脳になる前に対応しておく

    2. 対応できるスペシャリストを事前に押さえておく
  18. まとめ - 銀の弾丸ではない - 二刀流する上での選択肢の一つとして有力 - 同一コードで2OSアプリを開発する、というメリットを享受で きるような進め方を考えるべき