こんにちは、ニフクラ mobile backend 担当の竹田です。
ついにニフクラ mobile backendで Kotlin SDKをリリースしました! 今回はKotlin SDKがリリースされた事もあり、改めてJavaとKotlinの特長を比較しながらAndroidアプリ開発言語にはどちらを使うべきなのかを考えていきたいと思います。
はじめに
みなさんはAndroidアプリ開発する際にJavaとKotlinのどちらをお使いになられてますか?
KotlinはJavaよりも簡潔なコードでプログラムを作成でき、しかもJVM上で動作することからJavaの代替として非常に人気のある静的な型付け言語です。
一方で、JavaはKotlinに比べ少々コーディングの手間はあるものの、日本語のリファレンスやライブラリ、APIが充実している事もあり、学びやすく信頼が高い言語と言えます。
Android アプリ市場
SensorTower はモバイルアプリ市場に関する調査結果を出しています。 2021年のGoogle Playストアの売り上げは479億ドルという規模であり、2020年の388億ドルと比較しても大きく成長していることがわかります。
今後もますますAndroidアプリ市場の拡大化が期待できますね。
では、それぞれの特長を見ていきましょう
Kotlin
Javaよりも直感的に扱うことが出来る
KotlinはJavaの様々な問題点を考慮して作られた言語です。簡潔なコードで同じプログラムが組めるというのは魅力的ですよね。
また、Javaとの互換性が非常に高く、Javaで作られたプログラムやライブラリなどはほとんど流用が可能です。
本格的にJavaを使っている方、これからJavaを学ぼうと考えている方もKotlinを扱うことが出来ればより開発がしやすくなりそうですね!
こちらのQiita
では、弊社エンジニアがKotlin SDKについて、利用例などを詳しく解説していますので、Kotlin SDKによって何をすることが出来るのか知りたい方は要チェックです!
安全性が高い(null安全)
KotlinはJavaよりも安全な言語を目指して作られたこともあり、nullになる可能性のあるところではエラーを出力してくれます。
簡単に言えば、Kotlinではコンパイラがnullチェックを行ってくれるため、nullになる可能性があるところではコンパイルが通らなくなるのです。
詳細につきましては公式記事をご確認ください
将来性が高い
Kotlinは2019年にGoogleからAndroidアプリデベロッパーの推奨言語すると発表されたばかりということもあり、まだまだ使いこなせる人材は多くありません。
また、Kotlinについて日本語で書かれたリファレンスなどはまだまだ少なく、Kotlinを扱う事の出来る人材の少なさから多くの企業ではまだまだJavaを採用していることが多いです。
しかし、 今後はほぼ確実にKotlinの需要は高まっていくと考えられますので、今のうちにKotlinを使ってAndroidアプリの開発をしておくのはいかがでしょうか!
その際にはぜひ、ニフクラ mobile backend の
Kotlin SDKを使ってみてくださいね😉
Java
OSに依存されず使用することが出来る
Androidアプリ開発としても多く使われているJavaですが、webや組込みなど、幅広いプログラムで採用される事が多いです。
そのため、Javaを書けるようになれば様々なシーンで使う事が出来るようになりますので、現場での需要は高いです。
学習しやすい
世界中で長く使われてきたため、Web上に多くの情報が落ちています。日本語で書かれているものも多く、最近の言語と比較しても学習環境は整っているといえます。
周りに教えてくれるエンジニアがいる事が多い点も、学習していく上では心強いですね。
開発者が多い
Oracle社によれば、Java開発者の数は2017年時点で世界全体で900万人にも上るとされています。 開発者が多いということは、それだけ信頼のある言語である裏付けでもあると考えられます。
新しい言語を用いるリスクを考えると、古くから愛されているJavaを採用するということは多くの企業でもありそうですね。
結局どっちを使うべきなの?
ここまで読んでくださった方はきっとこう思うでしょう。
執筆者 Kotlinめっちゃ推すやん!
正直せっかくリリースするので、「多くの人に Kotlin SDK使って欲しい。だからKotlinの開発者が増えてほしい!」とは思っています。
しかしこの記事は、Javaを捨ててKotlinに乗り換えるべきだ!という事が言いたいのではありません。
先ほども申し上げましたが、JavaとKotlinは互換性が非常に高いです。 Javaが扱える方はKotlinを学ぶ敷居も高く感じないといわれていますので、Kotlinの認知がもっと増え、両方書けるエンジニアが増えたらいいなと思っています。
Kotlinで書くべきプログラム、Javaで書くべきプログラムでそれぞれ強みを生かした開発をしていきましょう。
おわりに
最後までお読みいただきましてありがとうございます。
日本ではKotlinを使っている方がまだまだ少ないように感じますが、これからもAndroidアプリ開発の需要は増加傾向にあると予想できます。 これを機にKotlinを使ったアプリ開発に挑戦してみるのも良いのではないでしょうか。