Kotlin(コトリン)とは、マルチプラットフォームアプリケーション用のJVMプログラミング言語です。Androidの正式な開発言語に採用されています。

オープンソースの言語/Kotlinとは

Kotlin(コトリン)とは、マルチプラットフォームアプリケーション用のJVMプログラミング言語です。Androidの正式な開発言語に採用されています。

「Kotlin」基本情報

概要

Kotlin(コトリン)とは、マルチプラットフォームアプリケーション用のJVMプログラミング言語です。Androidの正式な開発言語に採用されています。

基本説明

Kotlinは、産業利用を目的としたプログラミング言語です。

「Java/Androidと100%相互運用可能」「従来のJavaよりシンプルに記述できる」「安全性が高い」などの特徴により、Androidの正式な開発言語に採用され、大きな注目を集めています。

Javaで開発できる「Webアプリケーション」や、Android用の「スマートフォンアプリ」「ソーシャルゲームアプリ」の開発などを行えます。

経緯

Kotlinは、ロシアのJetBrainsが中心となって開発が進められています。

バルト海にある島「コトリン」が名称の由来です。

・2012年、オープンソース化
・2017年5月、GoogleはKotlinをAndroidの正式な開発言語に採用

TOPに戻る

主な特徴

Kotlinの設計方針

JetBrainsはKotlinの設計方針を次のように定めています。
・Java互換
・Javaと同等のコンパイル速度
・Javaよりも安全
・Javaよりも簡潔
・Scalaよりもシンプル
・表現力を実用的なレベルに維持

JVM言語

KotlinはJVM言語であり、Kotlinコードは、JVM(Java Virtual Machine:Java仮想マシン)で動作するJavaバイトコードへコンパイルされます。

KotlinのJava連携能力は非常に高く、ほぼ完全な互換性があります。JavaコードとKotlinコードを混在させた開発も可能です。

主なメリット
・Javaの抱える問題から解放されてプログラミングできる
・高い信頼と性能を持ったJVM上で動く
・Javaによって記述された既存のライブラリ/フレームワークなどの資産を活用できる
・「KotlinコードからJavaコードを呼び出す」「JavaコードからKotlinコードを呼び出す」ことが可能

JavaScriptへの出力も可能

Kotlinのコンパイラは「Javaバイトコード」と「JavaScriptコード」を出力できます。

バックエンドとフロントエンドの双方でKotlinを使った開発も行えます。

静的型付けオブジェクト指向言語

Kotlinは、静的型付けの本格的なオブジェクト指向言語で、「型推論」「ラムダ式」などのモダンな文法/機能を備えています。

クラスベースのオブジェクト単位で開発を行うことができるため、開発スピードや作業工数を削減できます。

コンパイラ言語

Kotlinはコンパイラ言語であるため、インタプリタ言語よりも実行速度が高速です。

簡潔コード

Kotlinのコーディング文法(記法)はシンプルに設計されているため、Javaより簡潔に記述できます。

主なポイント
・高階関数を使用できる
・クロージャをシンプルに書ける
・equals()、hashCode()、toString()、copy()などを単一の行に書ける
・ボイラープレートコード量を大幅に削減
・型変数推論機能
・拡張関数
・ミックスイン など

Kotlinでは関数をオブジェクトとして扱えます。関数をほかの値型オブジェクトと同じように関数の引数として渡したり、戻り値として受け取ることが可能です。粒度の小さい単位で関数の再利用が可能で、抽象的プログラミングが可能となり、簡潔なコードにできます。

簡潔コードのメリット
・バグ混入確率が減少
・可読性は増加
・メンテナンスコスト低減
・学習コストを抑えられる
・プログラマによるコーディングのばらつきを抑えられる など

安全なコード(null安全)

Kotlinは「型」や「null」について厳格に取り扱う設計になっているため、Javaよりも安全なコードを書けます。

コンパイル時にソースコードの誤りが発見されるため、開発者は早い段階でバグを発見でき、より安全なコーディングを行えます。

特にnullの問題については、「nullポインタの逆参照(NullPointerException)」が起こり得ないような仕組み(null安全)が言語機能として提供されています。
型として「nullを持つ型」と「nullを持たない型」が区別されます。型検査の結果、中身がnullではないことが確認されると、その時点で中身の型にキャストされます。
このような仕組みにより、NullPointerExceptionが発生する可能性を非常に低くすることができ、コードの安全度が増します。

その他にも、さまざまな「ミスを未然に防ぐための機能」が導入されており、イージーなコーディングバグを生みにくい言語になっています。

開発ツール

Kotlinは、IDE連携用プラグインを提供しており、主要な統合開発ツールでの開発を行えます。
・IDE「IntelliJ IDEA」
・IDE「Android Studio」
・IDE「Eclipse」
・スタンドアロンコンパイラ など

特に「Android Studio」では、非常に強力な連携機能を利用できます。
・Javaと同じようなimport補助
・interfaceの一括設置
・kotlin風関数呼び出しサポート など

開発パターン

サーバサイドアプリケーション開発

Kotlinは、既存のJavaベースのテクノロジースタックとの完全な互換性を維持しながら、簡潔で表現力豊かなコードを書くことができるため、サーバサイドアプリケーションの開発に向いています。

Androidアプリケーション開発

Kotlinは、Googleのサポートもあり、Androidアプリケーション開発には非常に適している言語です。

JavaScriptアプリケーション開発

Kotlinは、コードをJavaScriptに変換できるため、JavaScriptアプリケーション開発にも対応できます。

Kotlinネイティブアプリケーション開発

Kotlinネイティブとは、Kotlinコードを、VMなしで実行されるネイティブバイナリにコンパイルするためのテクノロジーです。

ネイティブコードとの相互運用性をサポートし、MacOS/iOSでは、Objective/Cコードとの相互運用性もサポートされています。

TOPに戻る

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Scala」など。

TOPに戻る

オフィシャルサイト

オフィシャルサイト

→Kotlin(Statically typed programming language for modern multiplatform applications)

ライセンス情報

Kotlinのライセンスは「Apache License Version 2.0」です。

詳細について、こちらを参照ください。
→GitHub →kotlin/license/LICENSE.txt

ダウンロード

→GitHub →JetBrains/kotlin

TOPに戻る

参考元サイト

TOPに戻る

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

Kotlin最新TOPICS

最新情報はありません。

Kotlin最新CLOSEUPコラム

  • 勉強会
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter