Kotlinは2011年に開発されたオブジェクト指向型言語で、Javaを改良する形で作られました。ではKotlinはどのような言語仕様で、どのような開発に用いられるのか、解説していきます。
<目次>
●Kotlinってどんな言語?
●Kotlinの特徴は?
・Kotlinでできること、メリット
・Kotlinで開発されたサービスの事例
・Kotlinでできないこと、デメリット
●他言語との違いは?
・Javaとの違い
・Swiftとの違い
・相性の良い他言語
●Kotlinを使ってどんな仕事ができる?
●Kotlinを学びたい! まずは何をすればいい?
・学習の大まかな流れ
・Kotlin学習におすすめの書籍、サイト
・ライブラリ/フレームワークとは
●Kotlinで就職できる企業を探すには?
・Kotlinで就職できる企業の探し方
●この記事のまとめ
●先輩エンジニアの選考体験談が見られる! ONE CAREER for Engineerのご紹介
・ONE CAREER for Engineerではどんなことができる?
Kotlinってどんな言語?
KotlinはAndroidのアプリ開発に使用されることの多いプログラミング言語です。以前はJavaが使用されることが多かったのですが、最近は徐々にKotlinに移行されています。
今後のAndroidアプリ開発は、ほとんどKotlinで行われると考えて間違いないでしょう。また、Javaで作られていたAndroidアプリがKotlinに置き換えられることも多いです。
Kotlinの特徴は?
Kotlinの特徴について、より詳しく解説していきます。
Kotlinでできること、メリット
KotlinはAndroidアプリの開発に特化しており、Javaよりもコードがシンプルで分かりやすくなっています。結果的に、開発者の負担が軽減され、コーディングミスのリスクも減ります。KotlinとJavaの違いについて詳しくは後述します。
Kotlinを学習することのメリットは、Androidアプリの開発に使えることです。現状Androidアプリ開発をしたかったら、Kotlinの学習は必須といえます。個人開発ならJavaでも問題ありませんが、プロジェクトに所属するのであれば使用言語はKotlinが一般的だからです。
Kotlinで開発されたサービスの事例
Kotlinで開発されたサービス事例は数多いです。ここ数年で開発されたAndroidアプリはほとんどKotlinで開発されていると言っても過言ではないでしょう。ただし例外として、ゲームアプリに関してはKotlinでもJavaでもなく、Unityと呼ばれる開発プラットフォーム上にC#というプログラミング言語で開発されている場合が多いです。
ゲームはどのOSであっても、共通してUnityと呼ばれる開発プラットフォームが使われることが多いからです。スマホゲームの場合、Unityで開発し、iOSとAndroidで共通してリリースされるケースが多いでしょう。
Google Play上にあるゲーム以外のアプリの大部分は、Kotlinで作られています。
Kotlinでできないこと、デメリット
KotlinはAndroidアプリの開発言語に特化しています。言語仕様上Androidの開発にしか使えないというわけではありませんが、ウェブ開発などに使用される事例は少ないです。理由としては、ウェブ開発には別の言語を使った方がメリットがあるからです。ウェブ開発用のフレームワークやライブラリが充実している言語が他にあるため、わざわざKotlinを使用する必要がないということです。
そのため、現状ではKotlinはあくまでもAndroidアプリの開発をしたい人にのみおすすめのプログラミング言語です。
他言語との違いは?
Kotlinと多言語の違いや、セットで学習するとエンジニアとして活躍するのに効率の良い言語をご紹介します。
Javaとの違い
KotlinはJavaを土台として作られた言語なので、基本的には似ています。しかし、当然KotlinとJavaには違いがあります。Kotlinの方が言語仕様がシンプルです。では具体例をご紹介します。
for文でカウントし、出力するコード
・Javaの場合 for (int i = 0; i < 5; i++) { System.out.println( i ); } ・Kotlinの場合 for (i in 0..5) { println("${i}") }
どちらも0から5までカウントしながら、数字を出力していくコードです。JavaよりもKotlinの方がコードが短いことがわかります。さらに違いが顕著なのが条件分岐です。数次判定のサンプルコードで比較します。
条件に合致するかどうかを判定し、判定結果を出力するコード
・Javaの場合 int i = 1; switch(i) { case 0: System.out.println("0"); break; case 1: System.out.println("1"); break; case 2: System.out.println("2"); break; case 3: System.out.println("3"); break; default: System.out.println("その他の数字"); } ・Kotlinの場合 val i = 1 when(i) { 0 -> println("0") 1 -> println("1") 2 -> println("2") 3 -> println("3") else -> println("その他の数字") }
どちらも同様に、0~3、もしくはその他の数字かどうかを判定し、結果を出力するコードです。Javaではswitchとcaseを使用しているのに対し、Kotlinではwhenを使用しています。switch、caseではセットでbreakという表記も必要です。breakがないと、処理が終わらずに後ろの判定も実行されてしまいます。
一方で、Kotlinのコードは条件に合致する命令が実行されたらその時点で処理が終了します。結果的に、Kotlinの方がコードがシンプルになっています。
Swiftとの違い
KotlinはAndroidのアプリ開発で使用されることの多いプログラミング言語です。一方で、SwiftはiOSのアプリ開発で使用されることの多い言語です。そのため、それぞれ同じスマホアプリ開発に特化した言語でありながら、OSが異なるということです。
相性の良い他言語
Kotlinとセットで学習するとエンジニアとして活躍するのに効率の良い言語はSwiftとJavaです。Swiftに関しては、Kotlinとセットでスキルを身に付けることで、iOS開発にもAndroidアプリの開発にも対応できるようになります。
iOSとAndroidで同じアプリをリリースするケースは多く、その場合は仕様も共通している部分が多いです。同じ人がiOSとAndroidのアプリ開発を担当すれば、仕様を共有する手間がなくなります。
つまり、Kotlinと合わせてSwiftを学べばAndroidとiOSの両方の開発が行え、関連職種において需要が高まるといえます。
また、Javaに関してはJavaと共通している部分が多く学習しやすく、両方扱えることでAndroidアプリの開発のさまざまな現場で広く活躍できます。Javaに関してはAndroidアプリの開発以外でも幅広く使われているため、その点でも学習のメリットがあるといえます。
Kotlinを使ってどんな仕事ができる?
Kotlinを使ってできる職種は、Androidエンジニアや、そこから派生するPMです。まずはAndroidエンジニアとして開発に従事し、経験を積んだ後にPMとしてプロジェクトのマネジメントを行う流れです。技術に特化したい人は、PMにはならずにそのままAndroidエンジニアとしてスキルアップを図るケースもあります。
Kotlinを使用してできる仕事は、Androidアプリの開発が中心です。PMとしてプロジェクトマネジメントを行う選択肢もありますが、PMになる場合は直接的にKotlinを書くのではなく、成果物の確認や、エンジニアのスケジュール管理などの業務が中心です。
Kotlinを学びたい! まずは何をすればいい?
Kotlinの学習の流れや、学習に使える書籍、サイトなどについて解説していきます。
学習の大まかな流れ
Kotlinを学習する大まかな流れは、まずは書籍やサイトで基本を学習し、その後簡易的なアプリを自分で開発します。Androidのアプリ開発は自分で環境構築をしやすいので、Kotlinは学習しやすい言語といえるでしょう。
Kotlin学習におすすめの書籍、サイト
Kotlinの学習におすすめの書籍とサイトをご紹介します。
書籍
・『やさしいKotlin入門』(カットシステム、2018年)
『やさしいKotlin入門』はプログラミング自体が初めての方でも理解しやすいよう丁寧に解説されています。Kotlinが初めての言語という人には特に合っているでしょう。
・『作って楽しむプログラミング Androidアプリ超入門 改訂新版』(日経BP、2021年)
Kotlinの基礎を学び、さらに実際にプログラミングでアプリを作ることを目的にした書籍です。具体的にはおみくじアプリを作ります。アプリを実践的に作るとなるとハードルが高そうですが、別の言語経験がなくても学習を進められるようになっています。
サイト
動画でプログラミングを学習できるサイトです。初心者でもコードを書けるように手を動かしながら学習できる仕様になっています。
同じく動画で学習できるサイトで、プログラミング学習のサイトとしては王道でしょう。Kotlinの学習もできます。
ライブラリ/フレームワークとは
Kotlinの学習をしていると、ライブラリやフレームワークといった用語を目にすることがあるかもしれません。ライブラリとはプログラミングを行う際に利用できる用意された処理のまとまりです。
フレームワークはプログラミングを行う際の土台のようなもので、フレームワークの機能を使って開発を便利に進められます。ライブラリとフレームワークはいずれも開発を便利にするものなので、Kotlinの基本に慣れた頃に学習していくと良いです。
Kotlinで就職できる企業を探すには?
Kotlinのスキルを身に付けた後、スキルを生かして就職するにはどのように企業を探せば良いのでしょう。
Kotlinで就職できる企業の探し方
Kotlinで就職できる企業を探すには、以下のような選択肢があります。
・求人サイト ・転職エージェント ・SNS ・エンジニアの紹介
SNSとエンジニアの紹介は業界経験がある人でないと難しいため、未経験者の場合は求人サイトか転職エージェントになるでしょう。ハローワークという選択肢もありますが、IT業界の求人は少なかったり空求人があったりするのであまりおすすめできません。
求人サイトにするか転職エージェントにするかは好みですが、企業探しに不安がある場合は転職エージェントにした方がより自分に合った企業を選べる可能性が高いでしょう。転職エージェントが客観的な視点から分析してくれることや、独自のパイプで企業を紹介してくれることが大きなメリットです。
この記事のまとめ
KotlinはAndroidアプリの開発で使用頻度の多いプログラミング言語です。Javaから派生する形で作られています。Androidアプリの需要は今後も続くので、Kotlinの需要も続くでしょう。すぐに別の言語に代替されることも考えにくいです。
書籍やサイトでKotlinの基礎学習ができたら、企業に就職することが可能です。求人サイトや転職エージェントを活用して企業を探すと良いでしょう。
先輩エンジニアの選考体験談が見られる! ONE CAREER for Engineerのご紹介
エンジニア就活をこれから始める、今まさに選考を受けている皆様へ、このような悩みはないでしょうか?
「総合職やビジネス職ばかりで、エンジニア職の体験談が見つからない」「内定を獲得した先輩が、どんな開発経験を積んでいたのか/どんな対策をしていたのか知りたい」
こういった悩みをお持ちの方に向けて、エンジニア職特化の就活サイト、「ONE CAREER for Engineer」をリリースいたしました!
▼ONE CAREER for Engineerエンジニアや技術職の就活・選考体験談を探す ※選考体験談の閲覧には、別途会員登録が必要となります。
ONE CAREER for Engineerではどんなことができる?
1. エンジニア特化の選考体験談が見られる!
エンジニア人気企業を中心に、先輩のESや選考体験談を公開中です。
エンジニア就活ならではといえる、「コーディングテスト」の体験談も多数公開しています!
2. 登録いただいたプロフィール情報をもとにポートフォリオを自動生成!
エンジニア人気企業を中心に、先輩のESや選考体験談を公開中です。
ES提出時にそのまま添付できるポートフォリオを自動で作成が可能です!
「ご自身の技術経験を企業へどう伝えよう……」とお悩みの方は、こちらの機能をご活用ください!
3. エンジニア職の選考体験談投稿で謝礼(Amazon ギフト券)を貰える!
ご自身の選考の体験談をご登録いただくことで、謝礼(Amazonギフト券)をプレゼントしております!
エンジニア就活をこれから始める方、選考対策にお困りの方は、ぜひこの機会にご登録をお待ちしております!
(Photo:BAIVECTOR/Shutterstock.com)