Androidアプリ作成を諦めた件について【kivy、kotlin】

どうも神田です。今回はお恥ずかしながら諦めた件についてです。色々と障害があったので、これからAndroidアプリを作ろうとしている人の参考になれば幸いです!

この記事を書いている私は大学時代にHPの勉強を始め、その後SEとして会社に3年勤務。
退職後はフリーランスとして独立して現在も活動しています。
習得している言語は「PHP」「JAVA」「Python」です。

Androidアプリ作成を諦めた件について【kivy、kotlin】

事の経緯と、kotlin選択

まずは経緯からです。私はwebアプリケーションとして下記のようなアプリ「音域チェッカー」を作成したのですが、今回はこれのAndroidアプリを作成しようとしました。

Androidアプリはkotlinで作られていることが多いというのは知っていたので、最初はkotlinを勉強し、その後実際に作ってみました。

なのですが、実はkotlinはデフォルトでMySQLなどに対応していなかったために、少し毛色が違うなと思い始めました。

勉強した書籍に関しても、データベース接続に関してはSQLiteがほとんどでした。

一応ドライバをインストールすることで接続可能なようですが、情報も少ないのでkotlinは諦めた形になります。

kivyにてAndroidアプリ開発

さて、kotlinがダメになったので次の言語を探しました。調べてみると、Pythonのkivyで開発できるとの情報を入手しました。

kivyはデフォルトでMySQL接続が可能なようです。かなり安心して使えそうですね。

実は上であげた「音域チェッカー」はPythonで作成しています。なので同じような構文のkivyなら使いやすそうと考えました。

Youtubeで動画を見たりして勉強し、実際に作り始めましたが、以下のような2点の壁に当たりました。

  • そもそも情報が少ない
  • 日本語表示ができない

kivyの問題点①そもそも情報が少ない

まずkivyですが、そこまで有名かつ人気なプログラミング言語ではないようです。バージョンも2·~という形ですし。

それ故に情報がありません。日本語の情報はおろか、英語の情報すら見つかりません。PythonやPHP、Javaくらいのレベルなら英語のサイトまで目を通せば大体解決するのですが、流石に情報が少なすぎますね。

エラーに関する情報もないので、かなり苦労しました。

kivyの問題点②日本語表示ができない

とんでもない問題点なのですが、kivyアプリは日本語に対応していないので、日本語表示ができません。

一応回避する方法はあるのですが、kivyのデザインを助けてくれるkivyMDの各種パーツには変わるものと変わらないものがありました。

具体的にはNavigation系統の日本語は全滅でしたね。

上記の2点から、流石に実用に耐えられないのでkivyの使用は見送った形になります。

ここでスマホアプリの必要性を考える

で、2つの言語を勉強したのですが、ここに来てそもそもスマホアプリ版が必要か?という疑問を抱きました。

見てもらえれば分かりますが、「音域チェッカー」は既にスマホに対応していますので、わざわざアプリにしなくていいのでは?と思い始めました。

(もっと早く思えよ、って感じですが)

以上をもってアプリ開発を諦めた形ですね。

そもそもどういう場合にアプリ開発するべきなのか?

今回の教訓で、どういった場合にアプリ開発が良いのかを自分なりに考えたので、以下にまとめておきます。

個人的には

  • 他の言語で作成していない
  • MySQLのような大規模DBを使用していない
  • webアプリケーションならば、Javaで作成している

ら辺かなと思います。最初の条件は分かりやすいですね。私のようにもともとwebアプリケーションで開発したものがあるならともかく、無いならそりゃあ作るしかないです。

2番目は、簡単なアプリとかなら推奨されるSQLiteで十分かもしれませんが、MySQLくらい大きなDBでアプリを作るなら、そもそもJavaで作成した方がいいかもしれません。

kotlinはMySQL等の大きなDBに標準対応してませんし、kivyは日本のアプリには不向きですからね。

3番目に関しては設計の問題になってきますが、私は「音域チェッカー」をもしもJavaで作成したらAndroidアプリもJavaで作成してたかもしれません。

少なくとも私が今、個人開発としてwebアプリケーション、スマホアプリ両対応のシステムを作るならJavaでまずはwebアプリケーションを作るかな、と思いますね。

上記の情報は2022年9月のものですので、古くなっている情報があれば最新版に読み替えて参考にしてください。

個人的にはkivyが完全に日本語対応になっている未来を期待しています(笑)