最近「書きたいことが思いつかないな」と思うようになったので、これまでに書いたFlutter関連の記事をまとめてみます。
書く媒体の使い分け
Twitterや個人ブログ、zennなどを使い分けている(mediumもあるといえばある)ので、なんとなくの書き分け理由を書いておきます。
- Twitter
- リアルタイムで考えていることのアウトプット
- ツイートを見て考えたことへの反応
- 個人ブログ
- 参加したり作ったものの記録
- 個人の感想をベースにしたまとめ
- zenn
- 調査したものベースのまとめ
- 論点を整理した記録
記事
内容に応じて、書いた時期を意識せずに整理しました。
設計について
Flutterでアプリケーションを作るにあたり、考慮していることについて。
基本のベースはAndroidの開発経験になりますが、宣言的UIであることやFlutterというフレームワークであることを鑑みた話。2023年末時点では、flutter_hooksが必須ではないなという思いを強くしつつありますが、記載内容と考えていることは変わっていません。
アプリケーションを設計するにあたり、さまざまなデータを一時的に保持する必要があるわけですが、その切り分けについて。おおよその場合、どのように保持すべきかは、データの取得方法に依拠すると考えています。
以上を踏まえた上で、なぜRiverpodを採用しているのか。本当に、Riverpodはよく考えられたツールだと感じます。
デザインシステムについて
2021年5月のMaterial You発表以後、なにがアプリ開発に影響するのか考えて、その時々でメモを続けています。デザインシステムという単語への解像度をどれだけあげるかが、今後重要になるのではないかなと。
Flutterもv3.16からM3がopt-inからopt-outに変わりました。今後、おそらく「M3が会社の色に合わない」という議論が大きくなると思いますが、同時にM3が達成しようとしていることも俯瞰しておく必要があると思っています。
開発記録
開発したアプリについて。Flutterだけに絞ると、結構少なかった。
遡ってみると、2018年10月ぐらいに作ったアプリの話も出てきました。懐かしい。
登壇記録
大きめのイベントに絞ると、DroidKaigiとFlutterKaigiの2イベント。
DroidKaigiでは、Add-to-appについての発表。Add-to-appは、ネイティブアプリをFlutterに置き換えていくケースの、有効なパターンの一つだなと思っています。
FlutterKaigiでは、アプリケーションのモジュールを分割する手法について。最近ではmelosが有力なので、monorepoでmelosによる開発を採用していたりします。個人的には、GitHub Packagesがdartをサポートしてくれれば、マルチリポジトリの方が効率いいと思っています。pubはすごい。
発表内容の詳細を書いたもの。
Tips
開発に関して、ちょっと調べた系のもの。 大抵何かしら開発でぶつかったものを、じゃあ調べるかーで調べてまとめたもの。
zennは「なんらかの引用をされてもOKなもの」という基準で書いているので、結構記述が大変です。
Flutter+αでなんとかしたものも。
Packageの解説
Packageは公式ドキュメントとコードを読めば大体いけると思っているので、そこまでモチベはないのですが、チーム内共有などを目的に時たま書いてます。
Packageの開発
いつくか作っているので、それ関連のもの。
思い出深いのが、flutter_auth_uiです。Method Channelを使って、AndroidとiOS、そしてwebのFirebaseUIを呼び出せるようにしたもので、めちゃくちゃ勉強になりました。 今では使う必要がないと思っていますが、それなりに利用されてたんじゃないかなって感じです。
まとめ
並べてみると、結構頑張って書いてました。 設計あたりは、もう考えていることをだいたい書いちゃっているのかもしれません。
Packageのあれこれについては、そもそもPackageを多用しないのであまり書くことがないかなと思いつつ。コードを読んで学んだことなどは、誰かの参考になれば程度に書いていきたいなと思います。
ちょっとやる気出たので、まとめてよかった。