FlutterとKotlinとSwiftと、最近のこと

ここのところやってたことなど。

開発

Flutter

ストアにアップする程度のアプリを作ろうとprivate repositoryであれこれやってます。 データを保存したかったので、Firebase Authを利用してFirebaseアカウントをアプリ内であれこれと。

そんなわけで、先月作ったライブラリを自分で利用しつつ、気になったところの修正などしてました。

pub.dev

github.com

Dartenumの扱いとかFlutter側でAndroidのLifecycleを扱うのとか、色々と勉強になってます。 Flutterのアーキテクチャやよく使うライブラリ一覧なんかは、これを参考に。

codewithandrea.com

DIでどこのクラスからprovideするのか、ログイン状態をどのように画面に反映させるのかなどなど、長らく本格的に開発する気持ちになれなかったところがカバーされていてとても嬉しい記事になっています。 auto_router とかめちゃくちゃ便利ですね。Navigator との組み合わせでどこからでもいい感じにカスタマイズした画面遷移ができちゃう。

隙間時間の開発になるので長ーくかかりそうですが、気分転換も兼ねて進められればなと思っています。

Kotlin

1〜2月はあまりAndroidアプリの開発をしていないので、そこまで何かキャッチアップができていた感じではないです。 ずーっと 1.4.0-EAP が出てるので、そこを簡単にチェックする程度。Result どうなるんでしょうね。

あるとすると、コロナの影響で技術書展は中止になってしまいましたがLove Swift & Kotlin #3に寄稿しました。3月7日からある技術書典 応援祭のころには冊子になっていると思います。

vol.2に続いてAndroid Architecture Component Pagingについて書いてます。 前回はKotlin Coroutinesの導入について書いたので、じゃあそもそもPagingってどういうものなのさ、ってあたりをコードを読みながら理解する感じです。

vol.2の話を id:jollyjoester さんが書いてくれているので、気になる方は読んでみてください。BOOTHで販売もしてるよ!

jollyjoester.hatenablog.com

元々はDroidKaigi 2020に応募した話です。 まだ書き足りないことがあるから、最後にまとめつつ大きめなブログ記事にしちゃおうかなぁ。

Swift

2月はほとんどiOSアプリを書いていたので、ひたすらSwift(とObjective-C)の勉強をしていました。 11月から1月が NukeUIImageView だったのに対し、2月は UIApplication とか UITableViewCell とかよりぽいところを触っています。

tech.studyplus.co.jp

Androidで学んだモバイルアプリの知見ベースではあるのですが、なかなかいい感じにリファクタリングができたので会社の技術ブログでまとめておきたいなと思っています。 UIApplicationvar window: UIWindow を弄るの……難しいですね……理解が追いつかない……。

最近

DroidKaigi

PRs

諸々忙しくて、おそらく後半から参加しました。 普段全くアニメーションをアレコレしないのですが、エイヤっと挑戦したMaterial Animation追加対応が面白かったです。 RecyclerViewのアニメーション処理追うのが一番大変だった……。

github.com

github.com

これは会社のプロダクトにも導入しようかなーと思ってます。 やっぱりリストはいい感じに表示したい。

BottomSheetのアニメーションは、takahiromさんのMotionLayoutによる解消がすっきりしていてさすがだなーと感じました。

github.com

github.com

今見るとちょっと愚直にすぎたかなー? と言う気も。 UIタップやスワイプ処理を書くことと、アニメーションの記述を分離できる時代がすぐそこ……!

Issues

色々とお世話になっているので、気になったところをまずissueにする方針で進めてました。 AGPはもう1〜2日早くissueにするべきだったなと反省してます。

コントリビュートは今回で3回目の参加ですね。 去年できなかったことが翌年できるようになっていて、非常に刺激になります。

blog.dr1009.com

今年は会社の同僚が登壇する予定だったので、そこだけ心残りです。 どこかで機会があったら、最前列で話を聞くぞ……!

Firebase

tech.studyplus.co.jp

iOSばっかりやるわけにもいかないよなー、と思ってサッと取り組んでなんとかなった一件です。 2020年3月まで余裕を残して対応を終えられたのはよかった。

去年の4〜6月ごろにReactでWebアプリを作ろうと色々試行錯誤していたときに、npmやyarnを触っていたのでFirebase CLIにすんなり馴染めたような気がします。 今回の件を糧に、今後もまだ触ったことのないプラットフォームを触って行きたいなと思っています。

終わりに

花粉になんて絶対に負けない心と、残り少ないマスクと共に3月を生き残りたい。