Kotlin♪スマホアプリの言語は、Kotlin、Java、C#、Dart?

主にPythonの記事を書いていますが、スマホアプリも作ってみたい。そして、やっぱりKotlinかなと思いつつあります。JavaScriptの勉強も始めたばかりなので取りかかるのはもう少し先になりますが、どの言語がよいか調査中です。

本当はandroid、iosの両方に対応する言語がいいので、「C#かDartかな」と考えていたんですが見送ります。また、普通に考えると情報が充実しているJavaだと思うんですけど、現在の第一候補はKotlinです。なぜなら、名前がかわいいから。「コトリン♪」音符も似合いそう。

プログラム言語の将来って、分からないところがあるのでピピッっとくる直感みたいなものも大切だと思うんです。Kotlinがいいというのは私の勘です!恋愛みたいなものですね。

さて、とはいえ、本当に名前だけで決めたわけではありませんので、調査結果のメモを紹介したいと思います。(まだ、始めていないので正確には「決めた」ではありませんけど・・・)

0.Kotlin♪今日から始めようシリーズ

この記事は「Kotlin♪今日から始めようシリーズ」の記事です。一連の記事は、以下のリンク集を参照してください。

Kotlin♪今日から始めようシリーズ

1.androidのOSが変わる?

なんと、以下の記事を読むとandroidのOSがFuchsia (フクシア、フクシャ、フューシャ) に替わる可能性があるらしいのです。そして、Googleがサポートする言語がJava、Kotlin、Dart、JavaScript、C++から、Dart、FIFL、C/C++、Python、Go、Rustに変化しています。「あっ!Pythonがはいってる♪」「あっ!JavaとKotlinが消えてる・・・」「Dartが入ってる」。

まあ、 GoogleとOracleって、仲悪いですもんね・・・。

Android開発目線でJavaとKotlinとDart(Flutter)を比較

でも、あらら、調べれば調べるほど混沌としていますね。Google推しでandroid、iOS、 Fuchsia で使えるDartが一番という気もしますが、必ずしも思った通りにならないのがプログラミング言語の世界。私的にはDartはまだ様子見ですね。昔、 Dart ってJavaScriptに戦いを挑んで負けましたしね。

まだ全貌があきらかではないFuchsiaのことで躊躇してても時間がもったいない。行動あるのみです。

2.では、なぜKotlinが第一候補なのか

さて、私がスマホアプリ開発言語に求めるものは、①私が持っているandroid端末で使えること。②スマホアプリのプログラムを組んだことがない私が素早くプログラムを習得できること。③バイナリーコードにコンパイルされる言語であることです。

今、私は既にPythonとJavaScript(HTML, CSS)の勉強を進めているので、この2つでかなり広い範囲をカバーすることができます。あと欲しいのは、コードが丸裸にならないバイナリーコードにコンパイルされる言語です。その意味ではバイナリーコードにコンパイルしないDartは対象外です。

さて、それではC#やJavaはどうでしょうか。Unityでも使えて簡単なゲームも作れそうなC#か?Androidアプリの開発もでき、汎用性が高いJavaか?

でも、実は最近Pythonが楽すぎてC#、Javaに踏み込むのが重く感じるようになってしまいました。アプリを配布するのでなければPythonでできてしまう。また、JavaScriptでwebアプリを作れば、iOSでもandroidでもPCでも使えるソフトができてしまいます。もう一度、自分の気持ちを見つめ直してみれば、今、一番作ってみたいのはandroidアプリです。

そう考えれば、まずはandroidアプリが効率的にコーディングできることにしぼって考え、その上で足らない物があれば、その時に考える方が結局近道だと思いました。そこで、Javaよりもコーディングの労力が少ないとされるKotlinを第1候補にしたいと思います。

やはり、コーデイングの負担が少ないことがプログラミングの意欲をかき立てることになることはPythonで実感しました。広く何にでも使えるJavaというのが王道かもしれませんが、プログラミングを楽しみたい!それに、名前がかわいいですしね♪

KotlinはiOSで高い評価を受けているSwiftのような位置づけの言語です。また、ディスクトップアプリや、iOSアプリでも使えるようですので、androidアプリ限定の言語でもありません。

3.さて、どうやって勉強を進めようかな

さて、記事を書きながら気持ちがはっきりしてきました。Kotlinに決定! やっぱり、かわいいのが一番。

勉強の進め方の予定は、以下の2段階の予定です。そして、Pythonのときにも使ったUdemyの講座を買いたいと思います。・・・と思ったら、Kotlinの講座ってどれもキャンペーン値下げをしなくて高い!

(Step 1) 繰り返し、条件分岐、配列、クラスなどの基本文法

(Step 2) 実際にandroidアプリへの実装テクニックの習得

(1) Udemyの講座を購入

ところが、お正月にいいのを見つけてしまいました。以下の講座です。繰り返し、条件分岐、配列、クラスなどの基本文法の習得を目的とした講座です。よさそう!

KotlinはJavaの文法をある程度知っていることが前提の教材が多いので、貴重な講座だと思います。

はじめての Kotlin【Java 知らなくてOK!丁寧な解説で Android に必要な Kotlin の基本を学習】

ということで購入しました。Python、JavaScriptの勉強の合間にゆるりと勉強をスタートしたいと思います。

参考までに、PythonでUdemyの講座を購入したたときのプレビュー記事も紹介します。Udemyがどんなオンライン講座なのかも紹介しています。

UdemyのPythonの動画講座を書籍を買う感覚で購入してみた

(2) 書籍の購入

本日(2020.1.3)、以下の書籍のKindle版をを購入しました!Android Studioを使っていることと、最後の9章ではGoogleアプリに登録して、アプリを公開するところまで説明されているところが購入理由です。36ページ(p.60~p.96)のボリュームで、if文、for文、配列、クラスの説明がされているので、Kotlinで必要最小限の文法も習得できそうです。

作って楽しむプログラミング Androidアプリ超入門

新品価格
¥2,200から
(2020/1/3 14:44時点)

なお、Amazonのレビューに、サンプルファイルのダウンロードアドレスにミスがあるとの記述がありましたが、現在、「05390」でも「053905」でもアクセスできました。ミスに気がついて、修正したのだと思います。

また、p.67の手順7の緑枠内のコードの下から2行目について、「乱数 {$number + 1}"」が正解のようです。

それでは、コトリン♪ゆっくり、始動!