フリーランス
エンジニア
Googleが公式サポート!!Kotlinって?サクッと解説!
Kotlinについて
今回はGoogleが公式にサポートを発表したことで注目されている、プログラミング言語Kotlin(コトリン)についてご紹介します。
今まで一般的に使われてきたプログラミング言語であるjavaとの違いについても紹介していきますので、ぜひ最後までご覧くださいませ。
Kotlinとは
Kotlin(コトリン)は2011年にロシア連邦のJetBrains(ジェットブレインズ)社が開発・発表したオブジェクト指向のプログラミング言語です。
発表当初はそれほど注目されていませんでしたが、2019年にAndroid向けスマートフォンを開発するGoogleが公式にサポートすることを発表したことで、注目されるようになり、話題のプログラミング言語となりました。
Googleが公式サポートを発表したことで、以前はjavaを用いて開発されていたAndroid向けのスマートフォンアプリの多くもKotlinを用いることが増え、現在Googleが提供するAndroid及びChromebook向けのアプリを配信するGoogle Play上では、Kotlinを用いて開発したアプリが数多く登場しています。
国内での携帯電話シェア率を見るとApple社のiphoneのシェア率の高さが注目されていますが、世界的に見るとgoogle社のAndroidのシェア率の高さに驚かされます。
世界的にシェア率が高いということは、その分アプリ開発の需要も高いということになります。
求人数が増えた分、Kotlinエンジニアの需要も高まることから、今後ますます需要は高まると予想されるでしょう。
javaとは
ここではKotlin と並行して紹介するJavaの説明もしておきます。
Javaは1996年にアメリカのソフトウェア会社オラクルが発表した、汎用プログラミング言語です。
ソフトウェア開発のプラットフォームであるGitHub(ギットハブ)によれば、javaは世界のおよそ900万人が利用する最も人気の高いプログラミング言語の一つと言われており、マーケットシェア、ユーザーシェア共に、トップクラスのプログラミング言語と言われています。
人気の理由としては、Javaのキャッチフレーズである、「Write once, Run anywhere」(一度書けば、どこでも使える)という言葉にある通り、Javaを用いてコーディングをすればWindowsやMacなどOSを問わず、プログラムの実行が可能です。
Javaの他にもPHPなど、webアプリでも人気のプログラミング言語はいくつかありますが、javaのようにスマホ、ロボット、人口知能、IoT、宇宙開発、ブロックチェーンと幅広い分野に対応したものはごく少数なこともJavaが人気の理由の一つかもしれません。
そのことからWebアプリケーションに用いられているプログラミング言語は、ほとんどがこのjavaを用いたものであり、今もなお高い人気を誇っています。
Kotlinとjavaの違い
Kotlinが開発された理由の一つに、Javaよりもさらに簡潔かつ、安全に改良を加え、産業利用向けの汎用言語としてリリースしたものがKotlinです。そのためKotlinはJavaのようにOS依存することなく仮想マシン上で動作し、文法などもJavaに近い設計になっています。
では、Kotlinとjavaの違いは何なのでしょうか。
大きなポイントはjavaよりも”記述がよりシンプル”であることです。
Kotlinの文法はjavaに似ていますが、javaよりもよりコードが短く、コンピュータープログラム(ソースコード)を分析し、実行可能なプログラム(オブジェクトコード)に変換するコンパイルの速度もjavaと同様、高速に作動します。
Javaは高性能な分、他のプログラミング言語と比較してコーディングに関するルールが多く、習得までの難易度が高いことが問題でした。
そのことが、習得に意欲があっても難易度が障壁となり挫折したプログラマーも少なく無いでしょう。
Kotlinはコードがシンプルでルールもそれほど厳しく設定されていないため、誰もがチャレンジしやすいプログラミング言語と言えるでしょう。
加えてKotlinはJavaとの相互利用も出来るように配慮されていることから、javaを用いるユーザーからも広く受け入れられています。
世界で最も人気の高いプログラミング言語であるJavaのユーザーが利用しやすい設計にすることでKotlinのユーザーも爆発的に増えるということになります。
まとめるとKotlinはjavaに近い感覚で使用することができることに加えて、よりシンプルに使いやすい仕様となったプログラミング言語です。
Jetbrainsとは
ここからは開発発表をしたJetbrainsについても説明しておきます。
googleが公式サポートを発表したことにより、Kotlin=googleとイメージする人が多いでしょうが、冒頭で説明した通り、Kotlinを開発したのはロシアのJetbrains社です。
Jetbrains社はチェコに本社を置く、ソフトウェア開発会社で主にコンピュータソフトウェア開発の生産性向上を目指した製品をリリースしています。
創業は2000年とソフトウェア開発企業としては、比較的新しい企業ではありますが、ロシア、ドイツ、アメリカの3カ国に研究開発拠点を持つだけでなく、約1500名の社員と9カ国のオフィスを持ち、顧客数は213以上の国に1010万人という、一大ソフトウェア開発企業です。
主要製品はjava用の統合開発環境 (IDE) であるIntellij IDEA(インテリジェイ アイディア)やC#言語用であるMicrosoft Visual StudioのプラグインであるReSharperがあります。
開発環境
ここからはKotlinの開発環境について説明します。
Kotlinの主な開発環境にはIntelliJとJDKを活用します。
IntelliJはJetbrains社が開発した統合開発環境です。KotlinとIntellijは開発元が同じことに加えて相性が非常に良いです。
Kotlinの開発環境としてはAndroid Studioも有名ですが、Android StudioはIntelliJの古いバージョンがベースとなっているので、特に理由がなければ、IntelliJの利用をおすすめします。
JDK(Java Development Kit)はjavaのプログラム開発や実行を行うパッケージされたソフトウェアです。
こちらは、誰でも無償で入手し、使用することが可能です。
① IntelliJ IDEA
1. JetBrains社のwebサイトからIntelliJ IDEA Community Editionをダウンロード&インストール
②JDK
1.Oracle社の公式サイトからJDKをダウンロード&インストール
② Kotlinのファイル作成
上記の方法は特に複雑な操作なく、行うことが可能です。
Kotlinで作れるもの
ここからはKotlinで開発できるものをご紹介します。
Kotlinを用いて開発できるものといえば、やはりGoogleが開発したAndroid向けのアプリです。
Kotlinを用いて開発されたアプリと聞くと、あまりピンときませんが、有名な企業だとUberやEvernote、NetflixがKotlinを使用して開発されたアプリがあります。
日本企業ではYahoo!ニュースやLINE、GYAO!、abemaなども、Kotlinを使用して開発されたAndroid向けのアプリです。
Kotlinのメリット
ここでKotlinのメリットとデメリットをまとめておきましょう。
メリットとしては、下記の5点が挙げられます。
・javaと比較してシンプルな設計であること
・javaと相互性があること
・発生するエラーを未然に防ぐこと
・googleが公式でサポートしてくれること
・取得する際、それほどレベルがそこまで高くないこと
Kotlinのデメリット
あえてデメリットをあげるのであれば、下記の2点が挙げられます。
・日本語に対応してものが少ないこと
・javaと比較して市場が小さいこと
日本語対応に関しては、Googleが公式サポートを発表したことで一気に対応エリアが広がりました。
今後、さらに解消されると考えられます。
市場に関しては、Kotlinを活用してアプリ開発を行う大手企業も多く登場していることから、lこちらも今度さらに解消されると予想されるでしょう。
まとめ
今回はJetbrains 社が開発し、Googleが公式にサポートを発表した、プログラミング言語である「Kotlin」についてご紹介しました。
一般的に活用されていたjavaと比較して、コードが短く、コンパイルの速度もjava高速に作動することに加えて、javaとの相互性もあり、多くのプログラマーに注目されています。
世界を代表するITメガ企業であるGoogleのバックアップもあり、今後ますます注目されると考えられます。
Androidアプリ開発に対応したプログラミング言語であるKotlinの今後に注目です。
中川 里美(ナカガワ サトミ)
20歳の時にアメリカで出会った経営者に誘われてライターの道へ。 自分の事業と並行して趣味レベルでライター業に取り組んでいたが、 その後のリモートワークやネットビジネス業界の普及により、 ネット環境があれば、どこでも仕事ができるライター業の魅了を再認識する。 現在、リサイドのライターとして、記事を執筆中。 好きなことは、旅と美味しいものを食べること。 今年の目標であったバンジージャンプと滝行と富士登頂を達成し、来年の目標を思考中。