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

Flutter入門してみた

 Flutter入門してみた

最後のスライドのデモ動画のリンクは以下です。
https://docs.google.com/file/d/1O_EjgVpUbFzMJ4MeCCd4ApQE8la9mUaC/preview

nsym-m

May 29, 2022
Tweet

More Decks by nsym-m

Other Decks in Programming

Transcript

  1. 目次 - Flutterてなに? - なぜFlutter - どんなことした? - よく使われるライブラリ調べた -

    デフォルトで作られるカウンターアプリの MVVM化 - アプリによくある画面下のタブバーの実装 - 歩数計測 - デモ動画
  2.  Flutterてなに? - クロスプラットフォームのフレームワーク - iOS, Android, Web, Windows, macOS, Linuxの開発が出来る

    - Googleが開発してるFuchsiaという独自のOSのUIを開発することも出来る
 - FuchsiaはNest hub(Googleのスマートホームのデバイス)に使われている
 - Googleが開発している - 言語はDart - DartもGoogleが開発してる - 宣言的UI
  3. なぜFlutter - アプリの開発もできるようになりたい気持ちがある - ネイティブの方がいいのでは? - iOSはネイティブの開発も少しあったが、 iOS/Androidどちらも開発できるようになりたいので Flutter を選んでみた

    - React Nativeは? - React Nativeは落ち目感があるし前職の経験から良い思い出がないので使う気になれない - React NativeはWeb開発者が使うことが多い印象だったが、 Flutterはアプリ開発者が使うことが多 い印象で(アプリエンジニアに受け入れられてるという意味で) React Nativeよりも盛り上がりが長そ う
  4. デフォルトで作られるカウンターアプリのMVVM化(1) - MVVM+Repositoryパターンで作った - なぜMVVM? - Riverpodを使ったFlutterでのMVVMには賛否あるみたいだったので、とりあえず使ってみて判断す る為 - 中規模くらいのアプリだとこのくらい(

    MVVM+Repository)の構成がちょうど良さそうな気がした - そもそもMVVMとは? - Model, View, ViewModelの略 - 従来のアプリでよく使われていた MVC(Model View Controller)だとModelのデータの変更をViewに 伝えにくいという問題があった - MVVMではデータバインディングという機能で ViewModelで持ってるデータの変更を即座に Viewに 伝えることができる - ReactやVue.jsでも使われている
  5. 簡単に解説 タブバーの種類を指定 タブバーの状態を管理を定義 ↑で定義したbaseTabViewProviderの監視 タブバーをタップした時の処理 items: const [ BottomNavigationBarItem(icon: Icon(Icons.home),

    label: 'home'), BottomNavigationBarItem( icon: Icon(Icons.calendar_month), label: 'calendar'), BottomNavigationBarItem(icon: Icon(Icons.home), label: 'health'), ], final baseTabViewProvider = StateProvider((ref) => PageType.home); enum PageType { home, calendar, health } final page = ref.watch(baseTabViewProvider.state); onTap: (int index) => page.state = PageType.values[index],
  6. - healthというパッケージを利用 - https://pub.dev/packages/health - iOSはヘルスケアからデータを取得する - AndroidはGoogle Fitというアプリからデータを取得する -

    Google Fitがインストールされていないと使えない - 審査には動画でアプリの必要性を説明しないといけないらしい - かなりめんどくさそう - Google Fitがインストールされていないと使えない歩数計アプリって微妙では?と思った 歩数計測