kako.dev

開発、自作アプリのこと

ReactNative→Kotlinのリファクタリングあるいはマルチモジュールの話

迫る64bit対応

個人でリリースしているアプリの中でReactNativeで開発したものがあるのですが、先日Google様から64bit対応してないよと通達を受けました。

f:id:h3-birth:20190621124528p:plain

アプデをしないと。

ReactNativeやめたい

ReactNativeで作ったはいいもののAndroidアプリしかリリースしていないので、クロスプラットフォームの利点を活かしきれておらず、今後もReactNativeで開発続けるか見直すことにしました。

ReactNativeのつらみもあるのでまずその列挙から。

ライブラリのインストール面倒

ライブラリいれるごとにReactNative自体のバージョン合わず、なんどもインストールコマンド叩いてつらかった印象が強いのです。

ホットリロードはよかったけど、ライブラリのインストールの時間が私のよわよわ回線では待ち時間が長いのもつらみ。

開発環境の依存をなくしたい

また今回のようなプラットフォーマーからの指定(64bit対応しろとかtargetSDK26以上必須とか)に対応するのに、このような公式以外の開発環境使ってしまうと、対応できるかどうかが開発環境に依ってしまうのが嫌というのもあります。

*ReactNativeは0.59.0から64bitに対応しているようです。 ReactNativeのAndroid 64bit対応時に読んでおきたいメモ - Qiita

Kotlin化ついでにマルチモジュール化

折角なのでKotlinで書き直しと、ついでに以前から気になっていたマルチモジュール化を行いたいと考えていて。

Kotlin化する際のネック

今回のアプリはrealmを使っているのだけど、ちゃんと移行できるのか懸念があります。

realmはReactNativeでもAndroid(Java)でも使えるので、アプリからちゃんとスキーマを呼び出してあげればいけるはずなのですが、実際ユーザーの端末からデータがなくなるようなことがないか、心配が残ります。

レビューにバックアップ要望の声

ありがたいことにレビューに「有料でもいいからバックアップがあるとうれしい」というご意見をいただいています。

このような要望がありながら、アプデ後にデータがなくなるような不具合が生じたら目もあてられません。

ReactNativeやめたいとは思っているものの、バックアップ機能をつけてからKotlin化するシナリオを考え中です。

マルチモジュールの話

DroidKaigi2019に参加して思ったことの1つにマルチモジュールの流行があります。

多機能を求められソースの肥大化しやすいアプリ開発現場において、ビルド時間の短縮という利点があるマルチモジュール。

今回のアプリは小規模なのであまり恩恵ないのですが、仕事でマルチモジュール化したくなったときに、知見を持って取り組みたいという気持ちがあり、このアプリがその砂場のような存在になれたらという狙いがあります。

要は一度自分で経験しておきたいんです。

その他にも試したいこといっぱい

マルチモジュールのほかに、アプリ内課金(GooglePlayBilling)やcoroutineなどもろもろ試したいものがいっぱいあるので、その砂場にもしたいなと思っています。

サービスとして

(少ないながらも)、ユーザーがいてくれるアプリなので、私のリリースしているアプリの中では、サービスとしての視点も持ちつつ開発を考えて取り組める環境になるのではないかと考えています。

サービスとして大きくしていきたい視点も持ちつつ、技術的な挑戦もしていけるように考えて取り組めるのが、楽しいポイントになりそう。

面白くしていきたいですね。

最後に

説明してきたアプリですがこちらになります。 どれくらい小さいアプリかみてもらえればわかると思います。

play.google.com

以上でーす。