Kotlin 1.3正式リリース。ネイティブコードで実行されJavaVMに依存しないKotlin/Nativeバンドル開始
2017年5月にAndroidの正式な開発言語に採用してから急速に人気が高まっているプログラミング言語「Kotlin」の最新版「Kotlin 1.3」正式版がリリースされました。
Kotlin 1.3 is here! Coroutines, Kotlin/Native beta, new multiplatform project model, contracts, inline classes and more: https://t.co/AKCx1DCsqT pic.twitter.com/anc6G7z8id
— Kotlin (@kotlin) 2018年10月29日
Kotlinはオープンソースで開発されているプログラミング言語です。基本的にJavaVM上で動作し、Java言語よりも簡潔で安全なコードを書けることなどを特長としています。
Kotlin 1.3ではKotlinのソースコードからネイティブなバイナリコードを生成できるKotlin/Native(Kotlin for Native)のベータ版がバンドルされ、ノンブロッキング非同期処理のCoroutinesが正式版になるなどの機能追加が行われています。
JavaVMのみの実行環境から脱却しつつあるKotlin
KotlinはJavaVM上で動作するプログラミング言語として登場しましたが、Kotlinのソースコードからネイティブバイナリを生成することで実行時にJavaVMに依存しない「Kotlin/Native」の開発も進められていました。
Kotlin 1.3には、このKotlin/Nativeがベータ版としてバンドルされます。
Kotlin/NativeはLLVMベースのコンパイラを利用しており、以下のバイナリが生成できます。
- iOS (arm32, arm64, emulator x86_64)
- macOS (x86_64)
- Android (arm32, arm64)
- Windows (mingw x86_64)
- Linux (x86_64, arm32, MIPS, MIPS little endian)
- WebAssembly (wasm32)
すでにKotlinにはKotlinのコードをJavaScriptへトランスパイルする機能であるKotlin/JS(Kotlin for JavaScript)もKotlin 1.1から搭載されており、JavaScript実行環境でも実行可能です。
つまりKotlinは、JavaVMで動作するプログラミング言語から、さまざまな実行環境に対応するプログラミング言語へと進化しようとしているのです。
Kotlin/NativeがバンドルされるKotlin 1.3は、それが本格化する転換点となるバージョンだと言えるでしょう。
コルーチン:ノンブロッキングな非同期処理を容易に記述
Kotlin 1.3におけるプログラミング言語としての最大の追加機能はCoroutines(コルーチン)が正式な機能になったことでしょう。
Coroutinesは、サブルーチンのようでもありますがメインルーチンとは非同期に実行できるため、ノンブロッキングで非同期の処理を容易に記述できるとされています。
Coroutines are a modern way to write non-blocking asynchronous code that’s easy to understand and evolve. It’s a powerful tool for anything from offloading work onto background workers to implementing complicated network protocols.
Croutinesはノンブロッキングな非同期処理のコードを記述するモダンな方法であり、理解しやすく改善しやすいものです。バックグラウンドで稼働するワーカーや複雑なネットワークプロトコルなどの処理などどんな処理もオフロード処理できる強力なツールといえます。
Coroutinesはこれまで約2年のあいだExperimental、つまり試験的実装としてKotlinに含まれていました。Kotlin 1.3から正式版となります。
Kotlin 1.3は統合開発ツールのIntelliJ IDEAやAndroid Studio、Eclipse IDEなどで対応が始まっています。
関連記事
あわせて読みたい
Googleのモバイルバックエンドサービス「Firebase」が強化、Firestoreのローカルエミュレータ、機械学習による顔輪郭抽出など新機能。Firebase Summit 2018
≪前の記事
日本では「ブロックチェーン」は過度な期待/メルカリがマイクロサービス採用/gRPC-Webが正式リリース/UIテストを10分の1にする試み、ほか。2018年10月の人気記事