😼
Riverpod 入門
自己紹介
- 受託で働いているしがない 20代Android エンジニア(メンタルやって半日しか働けてない)が、
VSCode 使って Flutter を今更勉強してみようというやつです - Android Studio より VSCode の方が実際軽いのと fvm とか入れるの便利っぽいので VSCode でやることにしたよ
- 目標は週に2,3本書くこと
- 親戚に関西出身の人がいるんで文中にエセ関西弁が入るよ、理解が難しい時に自分を安心させるために入れがち
- クソ記事を量産するなとか言われそうで怖いけど頑張る
概要
FlutterKaigi で紹介されている conference-app-2023 をちゃんと理解できるくらいまでやってみようかな〜という感じです。
やっぱね、自分でやらないと理解できないからね!
他人の記事を読んで即理解できるほどじゃないからね、仕方ないね。
とりあえず confference App をクローンしてみて色々と覗いてみると、
やれ Provider
やら Riverpod
やらが使われているので、Riverpod公式の getting started あたりを見ながら一つずつ弄って勉強(暇つぶし)をやっていこうと思います。
勉強しておいて損はない、本業の方にも生きるはず。きっと。多分。知らんけど。
公式を触る前にざっくり調べてみた感じだと、
- Riverpod はイミュータブルなグローバル変数を定義できて Widget から監視できるみたい
- Widget で監視 'ref.watch(監視対象の provider)' すると状態変化検知して Widget が自身をリビルドしてくれるみたい
- 詳しいことは参考に載せた動画で説明されていて、Widget == Element らしいし、リビルドは rebuild() メソッドが走るってことみたい
- 宣言的 UI なので Widget が階層構造になるんで、「親から Viewmodel みたいなのを渡して状態変化を伝えていくとか引数の数がえぐいし可読性最悪やな。。せや!riverpod 使ったろ」ってことみたい!
- 参考 FlutterKaigi 2023 我々にはなぜ Riverpod が必要なのか - InheritedWidget から始まる app state 管理手法の課題 by ちゅーやん(中條 剛)
環境構築
すでに大量に記事があるんで書きません。
Android Studio も環境構築(confference app 動かすとこまで)はやったけど、公式ドキュメント見ながらやればいいし、詰まったら調べればいいよ。
よくわからんエラーは gpt 先生に聞くのもアリ。
Android Studio と VSCode のショートカットの違い
早速色々とつまづいた。Android Studio とショートカット全然ちゃうやんけ。
Android Studio | VSCode | 挙動 |
---|---|---|
shift+shift | cmd+p | ファイル名検索 |
cmd+shif+f | cmd+shif+f | パス内検索 |
cmd+\ | cmd+s | save and hot reload |
option+enter | cmd+. | import の解消、エラーのレコメンド参照、Widget で囲うやつ |
所感
このくらいの分量にしておかないと週に2,3本は無理ゲーなのでここまで。
次から公式触るよ。
Discussion