ここのところやってたことなど。
開発
Flutter
ストアにアップする程度のアプリを作ろうとprivate repositoryであれこれやってます。 データを保存したかったので、Firebase Authを利用してFirebaseアカウントをアプリ内であれこれと。
そんなわけで、先月作ったライブラリを自分で利用しつつ、気になったところの修正などしてました。
Dartのenumの扱いとかFlutter側でAndroidのLifecycleを扱うのとか、色々と勉強になってます。 Flutterのアーキテクチャやよく使うライブラリ一覧なんかは、これを参考に。
DIでどこのクラスからprovideするのか、ログイン状態をどのように画面に反映させるのかなどなど、長らく本格的に開発する気持ちになれなかったところがカバーされていてとても嬉しい記事になっています。
auto_router
とかめちゃくちゃ便利ですね。Navigator
との組み合わせでどこからでもいい感じにカスタマイズした画面遷移ができちゃう。
隙間時間の開発になるので長ーくかかりそうですが、気分転換も兼ねて進められればなと思っています。
Kotlin
1〜2月はあまりAndroidアプリの開発をしていないので、そこまで何かキャッチアップができていた感じではないです。
ずーっと 1.4.0-EAP
が出てるので、そこを簡単にチェックする程度。Result
どうなるんでしょうね。
あるとすると、コロナの影響で技術書展は中止になってしまいましたがLove Swift & Kotlin #3に寄稿しました。3月7日からある技術書典 応援祭のころには冊子になっていると思います。
「技術書典 応援祭」とは、3/7(土) から約1ヶ月間にわたって期間限定で開催される、#技術書典 のオンラインマーケットと、それを盛り上げる各種オンラインイベントのことです。中止になってしまった技術書典を、そして気落ちする著者を、みんなで本を買って応援しましょう。https://t.co/yBgQxT97Q6
— 技術書典 公式アカウント (@techbookfest) February 28, 2020
vol.2に続いてAndroid Architecture Component Pagingについて書いてます。 前回はKotlin Coroutinesの導入について書いたので、じゃあそもそもPagingってどういうものなのさ、ってあたりをコードを読みながら理解する感じです。
vol.2の話を id:jollyjoester さんが書いてくれているので、気になる方は読んでみてください。BOOTHで販売もしてるよ!
元々はDroidKaigi 2020に応募した話です。 まだ書き足りないことがあるから、最後にまとめつつ大きめなブログ記事にしちゃおうかなぁ。
Swift
2月はほとんどiOSアプリを書いていたので、ひたすらSwift(とObjective-C)の勉強をしていました。
11月から1月が Nuke
と UIImageView
だったのに対し、2月は UIApplication
とか UITableViewCell
とかよりぽいところを触っています。
Androidで学んだモバイルアプリの知見ベースではあるのですが、なかなかいい感じにリファクタリングができたので会社の技術ブログでまとめておきたいなと思っています。
UIApplication
の var window: UIWindow
を弄るの……難しいですね……理解が追いつかない……。
最近
DroidKaigi
PRs
- Add material animation(transition) by koji-1009 · Pull Request #592 · DroidKaigi/conference-app-2020 · GitHub
- [suggest]Remove isSameAs instead of Item.id by koji-1009 · Pull Request #682 · DroidKaigi/conference-app-2020 · GitHub
- [discussion]Add fade animation when drag bottomsheet by koji-1009 · Pull Request #744 · DroidKaigi/conference-app-2020 · GitHub
諸々忙しくて、おそらく後半から参加しました。 普段全くアニメーションをアレコレしないのですが、エイヤっと挑戦したMaterial Animation追加対応が面白かったです。 RecyclerViewのアニメーション処理追うのが一番大変だった……。
これは会社のプロダクトにも導入しようかなーと思ってます。 やっぱりリストはいい感じに表示したい。
BottomSheetのアニメーションは、takahiromさんのMotionLayout
による解消がすっきりしていてさすがだなーと感じました。
今見るとちょっと愚直にすぎたかなー? と言う気も。 UIタップやスワイプ処理を書くことと、アニメーションの記述を分離できる時代がすぐそこ……!
Issues
- A privacy policy toolbar color does not adapt to dark mode · Issue #716 · DroidKaigi/conference-app-2020 · GitHub
- Expand animation is incorrect when tap "Read more" button in session detail · Issue #751 · DroidKaigi/conference-app-2020 · GitHub
- Update Android Gradle Plugin 3.6 RC3 · Issue #801 · DroidKaigi/conference-app-2020 · GitHub
色々とお世話になっているので、気になったところをまずissueにする方針で進めてました。 AGPはもう1〜2日早くissueにするべきだったなと反省してます。
コントリビュートは今回で3回目の参加ですね。 去年できなかったことが翌年できるようになっていて、非常に刺激になります。
今年は会社の同僚が登壇する予定だったので、そこだけ心残りです。 どこかで機会があったら、最前列で話を聞くぞ……!
Firebase
iOSばっかりやるわけにもいかないよなー、と思ってサッと取り組んでなんとかなった一件です。 2020年3月まで余裕を残して対応を終えられたのはよかった。
去年の4〜6月ごろにReactでWebアプリを作ろうと色々試行錯誤していたときに、npmやyarnを触っていたのでFirebase CLIにすんなり馴染めたような気がします。 今回の件を糧に、今後もまだ触ったことのないプラットフォームを触って行きたいなと思っています。
終わりに
花粉になんて絶対に負けない心と、残り少ないマスクと共に3月を生き残りたい。