2017年5月に行われたGoogleの開発者向け会議である「Google I/O」において、Androidアプリの公式開発言語に「Kotlin(ことりん)」を採用することが発表されました。
この発表があった瞬間、会場は拍手喝采の大フィーバーとなったそうです。
では、この大歓迎を持って迎えられた「Kotlin(ことりん)」とは、一体どんなプログラミング言語なのでしょうか。
(注)Kotlinは2019年5月のGoogle I/O(開発者会議)において、Androidアプリ開発の推奨言語に格上げされました。
Androidアプリの公式開発言語に採用されて大フィーバー
その莫大なシェアを誇るAndroidアプリの公式開発言語として、2017年5月に採用されたのが「Kotlin(ことりん)」。
Androidアプリ開発は、長らく「Java(ジャバ)」という言語一択の状況でした。
「Java」は世界で最も使われているプログラミング言語で、今でも高い人気を誇っていますが、いかんせん登場から20年以上経って言語仕様が古くなっていて(冗長で書きにくく安全でない)、Android開発者内ではもっと簡潔にかけて安全な言語の登場が望まれていました。
そんな中、満を持して登場したのが「Kotlin」。
「Kotlin」は「Java」と全く異なる言語ではなく、
「Java」の後継言語として
「Java」が築いてきた莫大な遺産を100%活用できながら
より簡潔かつ安全にコードが書けるという
まさに「おいしいとこ取り」をしたプログラミング言語でした。
だから、「Kotlin」正式採用発表の瞬間に
これこそ、長らく待ち望まれていた言語の登場だ!
ということで、このフィーバーが起こったわけです。
すごいですよね。どこかのコンサート会場と間違えるくらい。
そして、このフィーバーぶりが象徴するように「Kotlin」はその後爆発的に普及。
Kotlinを使ったAndroidアプリはたった1年でなんと4倍!
さらに、Kotlinを使う人がたった2年で何と10倍!
になったんです。
Androidアプリ用だけじゃない!「Kotlin」の莫大な潜在能力!
「Kotlin」がフィーバーしているのは、実はAndroidアプリの領域だけではありません。
何と「Kotlin」一本で、Androidアプリも、iOSアプリも、Webアプリもデスクトップアプリも全部作れるようになる可能性があるんです。
これってめちゃめちゃスゴいことなんです。
プログラミング言語というのは、話す言語と同じで雨後のタケノコにように存在します。
同じスマホでも、Androidアプリであれば「Kotlin」か「Java」だけど、iOSアプリであれば「Swift」を使うし、
Webアプリであれば「JavaScript」か「Ruby」だし、
デスクトップでもWindows用なら「C#」とか、それ以外ならうんたらかんたら、
要はアウトプットの種類(OS等)によって、使う言語が変わってくるんです。
だから、同じ内容のアプリでもアウトプットの種類を変えると、違う言語で一から書き直さないといけないんです。
(例:あるAndroidアプリのiOS版を作るときには、Swiftで一から書き直さないといけない)
これって、超めんどくさいですよね。
内容が同じなら、アウトプットの種類が何であろうが、同じプログラムのコードを使いまわせる。
そんなことが「Kotlin」なら実現できる可能性があるという話なんですね。
すべてのプラットフォームで作業するのがKotlinの明確な目標です。しかしこれは、より重要な目標に対する前提と考えています。その目標とは、プラットフォーム間でコードを共有することです。 JVM、Android、JavaScript、およびNativeのサポートにより、Kotlinは最新のアプリケーションのあらゆるコンポーネントを処理できます。 また、これにより、コードや専門知識に計り知れない再利用のメリットが生まれ、すべての作業を2回以上実行することなく、より困難なタスク用に力を節約できます。 Kotlinのマルチプラットフォーム機能はまだ実験段階ですが、1.3は大きな前進となります。
(注)ただし、完全に共通化できるのはロジック部分で、画面に表示させる部分(UI部分)は従来通りそれぞれの開発環境でその開発環境に即した言語(AndroidならAndroid Studio/KotlinでiOSならXCode/Swift)で書く必要があります。Googleが2018年に正式版をリリースした「Flutter(フラッター)」を使うとマルチプラットフォーム対応アプリをより簡単に実装することが出来ます。
これが、「Kotlin」が今注目を集めているもう一つの理由なんですね。
「Kotlin」の基礎をゼロから日本語で学びたい方はこちらから
(詳しくは下の動画で解説していますので、よろしければご覧ください)