Kotlin 1.3正式リリース。ネイティブコードで実行されJavaVMに依存しないKotlin/Nativeバンドル開始

2018年11月5日

2017年5月にAndroidの正式な開発言語に採用してから急速に人気が高まっているプログラミング言語「Kotlin」の最新版「Kotlin 1.3」正式版がリリースされました

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/Native

すでに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 IDEAAndroid StudioEclipse IDEなどで対応が始まっています。

関連記事

Tags: Java プログラミング言語 Kotlin

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly





タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本