Kotlinでできることとは?Googleが推奨する次世代Android用言語

Kotlinでできることとは

Googleが公式に採用している言語であり、Androidの開発環境で多く使用されている『Kotlin』。

ほかの言語と比べ知名度こそ低いですが、Javaと完全な互換性を持ち、より簡潔で安全に記述できる特徴が評価され、Googleを筆頭に名だたるIT企業が採用しています。

この記事では、Kotlinでどのようなことができるのか、概要やJavaとの違いを踏まえながらご紹介します。

Kotlinとは?

Kotlinは、2011年にJetBrains社が開発したオブジェクト指向型のプログラミング言語です。

開発元のJetBrains社は、Javaに特化した高機能IDE(統合開発環境)である『IntelliJ IDEA』や、Python向けの高機能IDEの『PyCharm』など、各言語に適した開発ツールを数多く提供している会社。

各言語のノウハウを理解し使いやすさを追求しているJetBrains社が、Javaと完全な互換性のある、より簡潔な言語として開発したものこそがKotlinです。

KotlinはJavaと同程度の速度で動作することに加えて、Androidの開発言語としてGoogleが公式に認定している言語。そのため、もともとJavaを扱っていた企業だけでなく、Androidアプリの開発を行う企業で広く扱われています。

KotlinとJavaの違い

「Kotlinは、JetBrains社がJavaより簡潔な言語として開発した」と前述しました。この項目では、どの程度KotlinがJavaに比べて簡潔な記載ができるのか具体例を添えて説明します。

まずは王道の「Hello World」を表示させる場合。

Javaの場合

System.out.println("Hello World");

Kotlinの場合

println("Hello World")

単純に文字を出力する構文自体も「System.out.println」が「println」と短く、加えてコード末の「;」も省略できるようになっています。

次に、Androidアプリ開発においてボタンをクリックしたときの処理の違いです。

Javaの場合

findViewById(R.id.sampleButton).setOnClickListener(
    new View.OnClickListener()
        @Override
        public void onClick(View view) {
            (ここにボタンがクリックされたときの処理);
        }
    }
);

Kotlinの場合

sampleButton.setOnClickListener { (ここにボタンがクリックされたときの処理) }

記述量の違いが一目瞭然。Kotlinの場合”毎回このように書かないといけない”という決まった構文が大きく省略されていることが分かります。

Kotlinのnull安全について

JetBains社はKotlinによって、Javaのコードを簡潔にするだけでなく、安全性を高めることも目指しています。

たとえば、Javaを扱うプログラマーであれば一度は見たことのあるエラーである「NullPointerException」。これは、簡単に言えばNullを指定している変数を呼び出そうとしたときに見られるものですが、厄介なことにこのエラーはプログラムの実行時に発生します。すなわち、実際に動かして初めてエラーが判明するのです。

このエラーを防ぐための仕組みが、Kotlinにも採用されている「null安全」です。Kotlinのようなnull安全な言語の場合、nullを指定している箇所に問題があれば実行前のコンパイル時にエラーが出ます。そのため、nullが原因となるエラーを事前に防げるのです。

Kotlinでできること

ここでは具体例を挙げながら、Kotlinという言語で、どのようなことができるのか紹介します。

KotlinはAndroidアプリ開発としてGoogleが公式採用している言語。そのため、世の中の需要的にはAndroidアプリ開発が最も多くなりますが、Javaの後継として開発されていることも忘れてはいけません。

できること1. Androidアプリ開発

Kotlinは、Androidのアプリ開発に特化した言語として開発されているため、最も使用される場面は当然アプリ開発となります。

Android developersページにはKotlinでの開発事例が多数紹介されており、人気のサービスを挙げると『Slack』『Evernote』『Dropbox』『NETFLIX』『Twitter』『Kindle』などがあります。

実際、Androidアプリの上位1,000件のAndroidアプリにおいて、その80%以上がKotlinによって開発されています。

できること2. Webアプリ開発

Javaの後継であるKotlinは、Webアプリの開発も可能です。

有名なサービスでいうと、『Yahoo!』ページにおける一部サービスにおいてKotlinが使用されています。

できること3. サーバーサイド開発

私たちが普段何気なく利用しているサービスの一部に、スマートフォンなどのデバイスで動作するのではなく、サーバーで動作した結果を参照しているものがあるのをご存知でしょうか。

たとえば、LINEです。LINEは、メッセージを送るとサーバーにメッセージが格納され、送り先の相手が同様のサーバーを参照することによって会話が成立するシステムをとっています。

このような考え方や仕組みをサーバーサイドと呼びます。

このサーバーサイドにおいて最も使われている言語はJavaであるため、この後継であるKotlinでもサーバーサイド開発が可能。実際に、これまでJavaを使用していた各サービスが次々とKotlinに移行しているようです。

有名なサービスだと『アメーバーピグ』『LINE GAME』『NewsPicks』などが挙げられます。

Kotlinはどんな人におすすめ?

KotlinはこれからAndroidアプリ開発を主に行いたいと考えている初学者から、Javaを扱うことのできるプログラミング経験者まで幅広くおすすめできる言語です。

現在、JavaからKotlinに移行を検討している企業が多く、Kotlinが扱える人材を新卒や中途、フリーランスで募集している事例が多くあります。

今後、さらにKotlinの需要は伸びると考えられるため、未経験者がはじめて習得する場合でも、経験者が扱える言語を増やすという場合でも、学習して損はないでしょう。

Kotlinの効率的な学習方法

個人的にプログラミング言語の学習は基本Progateを推薦したいところなのですが、この記事執筆している2021年10月現在、ProgateでKotlinは扱われていません。

Udemy

▲出典:Udemy

そこで、Progateでのコース設立を待ちつつ、現在おすすめの学習方法としては、Udemyという動画教材販売サイトで提供されているひらまつ しょうたろう氏のはじめてのKotlin【Java知らなくてOK!丁寧な解説でAndroidに必要なKotlinの基本を学習】という教材になります。プログラミング経験が少なくても学習しやすく、効率的に学習を進められると思います。

独学に自信のない方は、プログラミングスクールに通うのもおすすめです。

まとめ

この記事ではKotlinという言語は何なのか、Kotlinを使ってどのようなことができるのかを解説しました。

筆者からみて、Kotlinは現在学ぶべきプログラミング言語だと自信を持って言えます。興味を持たれた方はぜひ学んでみてください。

(執筆:セイタモ 編集:泉)

SHARE

  • 広告主募集
  • ライター・編集者募集
  • WorkshipSPACE
エンジニア副業案件
Workship