これまで、Compose Multiplatformを、 しっかりと使ったことがなかったので、今後のポテンシャルの知りたいと感じたので使ってみました。
今回は、Android、iOSだけですが、その他デスクトップ(Windows, macOS)の開発ができるため開発ツールなどの開発をKotlinで出来れば魅力的です。
今回は、Android Studioを直接使うのではなく、まだベータ版ですが、JetBrains Fleetを使い、マインスイーパー風のパズルゲーム開発を行ってみました。
XcodeやJDKのバージョンダウンが必要でしたが、環境構築は手軽でした。
まず、最初の期待としては、コードレベルでのUIの統一を確認したかったのですが、 Android 35(Androidバージョン15)のGoogle Pixel8で、セーフエリアの対応がされていらず、カメラにボタンが重なってしまい、ボタンが押せない現象に遭遇しました。ボタンのonClick()については、iOS、Android共に、問題なく機能します。
現時点で、パズルゲームには、程遠いのですが、ロジックとユニットテストコードは実装しているので、修正したコードをGitHubで公開したいと思います。また、Compose Multiplatformの勘所なども発信したいと思います。
Kotlin Multiplatformの、ポテンシャルは、Flutterよりも上と感じているので、 ネイティブアプリと、Flutter、KMPについては、今後も注目していきたいと思います。
その中でもKotlinは、バックエンド開発に用いたこともあるので、将来性を感じます。
私の現状の印象では、ReactNative、Ionicなどは、保守、パフォーマンスの点で、劣ると感じているのですが、皆さんはどう感じているかコメントを残していただけると幸いです。