×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Flutterに入門して 体重グラフアプリを作る Kanazawa.rb meetup #108 Takayuki Takagi
Slide 2
Slide 2 text
Who am I? ● Takayuki Takagi (髙木貴之 / ニボシーニョ) ● @TAKAyuki_atkwsk / takayukiatkwsk ● Programmer (employee) ● Working from home ● Scala, Ruby, Python, AWS, Docker, etc. ● Like beer and gyoza🍻🍻🍻 ● Fit Boxing 2
Slide 3
Slide 3 text
今日の話 ● Flutter触ってみた ● 感触を掴むために体重の推移をグラフ化するアプリを 作りました ○ ひとまずAndroidで動かす前提 ● ネイティブアプリ開発ほぼ未経験勢の感想 ○ XCodeのStoryboardを軽く触ったことがある程度 ○ Android開発は経験無し
Slide 4
Slide 4 text
アプリの様子
Slide 5
Slide 5 text
どのようなアプリなのか? ● Google Fitに登録済みの体重をグラフで表示する ○ 当該アプリで書き込みはしていない ● 主な処理 ○ Googleサインイン ○ Fitness APIのリクエスト ○ 上記リクエストで得られた体重データを集計 ○ 時系列グラフとして表示 ○ タブの切り替えで表示期間を変更 ○ メニューを表示するドロワー
Slide 6
Slide 6 text
モチベーション ● どうやらFlutterがアツいらしいと小耳に挟む ○ 単一のコードベースでモバイル/Web/Desktopそれぞれに対応したアプ リが作れる、すごない? ○ プロトタイプとかこういうのでシュッと作れると良さげ ● どうせなら動くものを作ってみたい ○ チュートリアルより少し先の世界として ○ 体重の推移をいい感じに見たい需要 ■ 年齢を重ねると健康の話になりがち ■ Google Fitアプリでは任意の表示期間で見れない
Slide 7
Slide 7 text
道のり ● Get started ○ https://flutter.dev/docs/get-started/install/macos ● チュートリアルやCodelab ○ https://flutter.dev/docs/reference/tutorials ○ https://flutter.dev/docs/codelabs ● アプリで必要な機能を洗い出して試しながら実装へ ● flutter.devをリファレンスにして進める
Slide 8
Slide 8 text
感想 ● デフォルトでUI要素が揃っている ○ 自前で素材を用意しなくてもそれっぽいものは作れる😄 ○ 特にMaterial design ○ とはいえ自分で素材を用意する時はいずれ来ると思う
Slide 9
Slide 9 text
感想 ● 宣言的に記述できる ○ あるべき姿を書いておけば、あとはいいがに😄 ○ すべてがWidget(UI構成要素を組み合わせて一つのアプリにする) ○ 状態が変わるときにどうやって構成を変えるかは気にしなくて良い ○ Reactの思想と似ている(かじった程度の知識)
Slide 10
Slide 10 text
感想 ● Dartパッケージにサンプルコードが割と含まれている ○ 公開する側は手間だけど、使う側からするととても助かる😄 ○ exampleディレクトリに配置すればpub.devで表示されるらしい ■ https://dart.dev/tools/pub/package-layout#examples ○ pub.dev見ておけばオッケーというのも良い ○ 全部ではないと思うが、今回利用したものには含まれていた
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
感想 ● Google API使うのにちょっと手間が掛かる😓 ○ Googleサインインが必要だったのでまずはFirebaseでアプリ登録 ○ 呼び出すAPIのスコープを設定したり ○ アプリのフィンガープリントを登録したり ○ サポートメールアドレスを登録しておかないとサインインに失敗する ○ という感じではまりがち ○ プラットフォームによって準備手順が異なる
Slide 13
Slide 13 text
まとめ ● 動くものができて良かった(エミュレーターだけど) ○ やってみたものの尻すぼみになること数多 ○ シンプルなアプリならさくさく作れて良い体験だった ○ 導入でおぉすげえってなったのも好奇心が継続するきっかけになった のかもしれない ○ 今回はAndroidに絞ったからというのはあると思う ● もう少し作り込みたい ○ 自分の端末にインストールして動かす ○ APIキャッシュ、時間範囲指定、グラフをリッチに