この記事は、実際にAndroidのアプリを作ってみるために必要な知識や手順を解説していく記事です。
今回は、Androidアプリの製作の番外編として、Kotlinというプログラミング言語について、お話をしていきたいと思います。
Contents
Kotlinとは?
最近、Androidアプリの開発と調べているとKotlinというプログラミング言語が人気になりつつあるという話をよく聞きます。
Kotlinというのは、2011年ごろにJetbrains社から発表されたばかりの比較的新しい言語で、あまり日の目を浴びることはありませんでした。
ですが、2017年にGoogleがこのKotlinをAndroidの公式言語として採用したことによって、知名度が一気に上がり、書籍なども徐々に出版され始めました。
この様に、最近は情報が以前に比べると格段に増えてはいるのですが、初学者向けの情報というのはまだまだ少ないというのが現状です。
なので、結局、JavaとKotlinどっちを勉強すればいいの?と迷ってしまう方やよく分からないからやめた!となってしまう方も何人かいました。
この記事では、そういった方向けにKotlinの特徴をJavaと比較しながら確認していきます。
基本的には、難しい用語は一切使わずに解説をしていくので気楽に読んでください。
Kotlinの特徴
よく言われるKotlinの特徴として、Javaと似ていて、更にJavaよりも簡単にコーディングをすることが出来るといわれます。
どのように似ているのかというのを見ていきましょう。
1.オブジェクト指向である。
オブジェクト指向という言葉は、Javaを勉強した人なら必ず聞いたことのある言葉だと思います。
あまり細かいことはここでは解説しませんが、簡単に言うと機能を細かくクラスで分けて、そのクラスを組み合わせることでプログラムを作成することをオブジェクト指向といいます。
KotlinでもJavaと同じくオブジェクト指向でのプログラミングを行えます。
2.Javaに比べて簡潔な構文
以下の2つのコードを見てみましょう。
Java
public class hello{
public static void main(String[] args){
String hello = “Hello World!”;
System.out.println(hello);
}
}
Kotlin
fun main(){
val hello = “Hello World!”
println(hello)
}
このコードは、ただ単純にHello Worldを表示させるだけのプログラムをJavaとKotlin両方で書いただけのコードです。
このコードを見ただけでも、Kotlinのコードの簡潔さがなんとなくわかると思います。
この様に、Javaっぽいけれど、Javaよりはるかに簡潔にコードを書くことが出来るというのがKotlinの特徴の一つです。
3.Javaとの互換性がある。
なんと、JavaとKotlinの間には、相互互換性があります。
つまり、Javaで作ったプログラムをそのままKotlinの形に変換することが出来るというわけですね。
相互運用が容易に行うことが出来るのも特徴の一つです。
4.Null安全
Javaをある程度勉強した方なら、「Null Pointer Exception」という例外が発生してしまって躓いた人は多いと思います。
Kotlinでは、このNull Pointer Exceptionを事前に防ぐための機能としてNull安全という機能が備わっています。
Null Pointer Exceptionが起きるのは、変数内のNullが参照されたときです。
逆に言えば、Nullが入っていなければこのExceptionが起きる理由はないわけです。
この仕組みを利用して、変数にNullを定義できないようにした仕組みのことをNull安全といいます。
こんな仕組みもあるんだなあと頭の片隅にでも残しておいてください。
結局どっちを使うべきなの?
いくつか、Kotlinの特徴をJavaと比較しながら説明させていただきました。
これだけ見ると、Kotlinの方がメリットがたくさんあるからKotlinだけを勉強すればいいのか!となってしまうかもしれませんが、一概にそうとも言い切れません。
というのも、いくらKotlinが便利といってもまだまだ歴史の浅い言語です。
すでに開発されている既存のプログラムはJavaで書かれていることが多いので、需要が大きいのはやはりJavaになってしまうわけです。
ですが、ことAndroid開発においてはGoogleが公式言語として採用したこともあり、間違いなくポピュラーになっていく言語です。
要するに、Android開発を行うならKotlin。その他の開発を行うのならJavaを勉強しておけばとりあえず間違いはないということですね。
勿論、他の言語としてPythonだとかC#だとかもありますが、そこまで説明していた始めるとこの記事が終わらなくなってしまうので割愛させていただきます・・・
今回は、Kotlinという言語についての説明をさせていただきました。
実際にAndroidアプリを開発する時にどうやってKotlinを選択すればいいのかなどの話については、本編の方でまた解説していきたいと思います。