素人が思うAndroidアプリ制作の難しさ。

Androidアプリの制作には基本的にAndroid Studioが使われることが多いですが少し使いにくいと思っています。またプログラムの作成時にも色々と問題に直面することが多かったのでその不満を記事にしてみました。

画像クリックすると楽天に飛びます。

第一の関門ROOM

まず私が最初につまずいたのは「ROOM」というデータベースの使用です。ROOMを使おうとしましたが、いくつかの問題に直面しました。ROOMを利用するためには、gradleに依存関係を追加する必要があるのですが、この設定を行ってもエラーが発生しました。調べてみると、JavaとKotlinのコンパイル時に、target JVMのバージョンが一致しない場合にエラーが発生するとのことでした。しかも、このエラーの原因はgradle 8.0からの仕様変更であるため、参考になる情報が少ないことも問題でした。本来、総合開発環境であるAndroid Studioならば、こうした問題は解決しておいてほしいと思います。一応、javatoolchainというものを使ってバージョンを一致させる方法があると聞いたので試しましたが、それでも別のエラーが発生しました。自分のスキルだけでは解決できない状況に直面し、結局はgradleのバージョンを下げるという裏技で問題を一旦先送りにすることにしました。

JavaからKotlin

Androidでは推奨されるプログラミング言語JavaからKotlinに変更されています。これにより、多くのサンプルプログラムを参考にする際に苦労することがあります。確かに、自動でJavaをKotlinに変換する機能は存在しますが、大規模なプログラムの場合、変換ミスやnull問題などが発生しプログラムを参考にできないことが多くあります。
誰もが公式サイトのプログラムだけで理解できるわけではないんだよ(´;ω;`)

Androidフレームワーク自体更新頻度

また、Androidフレームワーク自体も頻繁に変更され、様々な機能が定期的に非推奨になっています。これにより、開発者はアップデートに追いつくのに苦労することがあります。これは上で話したサンプルプログラムを参考にできないという問題にも関わってきます。

その他

また、ライフサイクルやレイアウトの変更についてもわかりにくさを感じることがあります。Android Studioではレイアウトを少し変更するだけで、constraintに関するエラーが表示されることもあります。最後に、Androidは多様なデバイスで動作することを目指しているため、PCとは異なる多様性に直面します。画面サイズ、解像度、オペレーティングシステムのバージョンなどが異なるため、アプリのテストや互換性確認が大変です。

まとめ

それ以外にも色々やりにくさを感じているのですが他の人達は何も思っていないんですかね?まあ私のレベルが低すぎるだけな気もします。