Discordが好きだ.Slackが好きだ.LINEが好きだ.他人とのコミュニケーションのために導入することがほとんどだと思うけれど、ボクなりの3つのアプリの共通した使い方がある.

それは他の誰も入ることができない.
自分だけの部屋があることだ.

3つも部屋がある必要はないけれど、それぞれの役割はある.例えばTweetにRTをするとSlackの1つのチャンネルにTweetのリンクが送られる.いいねをするとLINEに送られる.何かしら思いついたことがあれば、絶えずDiscordにメモをする.どうもアイデアは忘れやすい.
今回は振る舞いがDiscordにすごくよっている.色は暗めでUXも似ている.Drawerを引っ張って、チャットルームを転々とする.その振る舞いは自分にとってよく馴れた動きで、今回はそれを再現してみた.
少し技術的な話をする.今回はFlutterを使う.このくらいのUIの部分だけであれば、1日必要はない.今回は5時間くらいで作った.後に細かな改良は加えるのだけれども、便利なウィジェットがたくさん揃っているので、容易にレイアウトを組める.
問題はバックエンドの方.今回はFirebaseを使う.いつも使うときはFirebaseの一部の機能だけ、みたいな使い方しかしたことがなかったので、今回のように有機的にFirebaseのサービス間を行き来することが新鮮だった.
今回使ったパッゲージ群はこちら.
Firebaseのパッケージはいつになったら、1.X.Xになるのかな.
flutter.devのパッケージもまだメジャーアップデートしないな.今回だとshared_preferencesがそう.
今回覚えることができたいくつかのこと
・DrawerからScaffoldのbodyのPageViewを操作すること
・Theme.of(context)を使ってThemeData.dark()のcolor, style等を取り出すこと
・shared_preferencesを使って2回目に訪れたユーザにオンボーディングを見せないようにすること
・signupやsigninを待つ間、progress circleを表示すること(Modal Progress Hubという便利なパッケージがあった. Swiftではよくやる)
・ListViewをreverseさせられるということ
・firestoreから取ってきたデータをソートできるということ(Firebaseのコンソール側でソートしていたがアプリで表示するときバラバラだった)

Back to Top