Kotlin/Nativeがベータに到達、Kotlin 1.3にバンドル。Win/Mac/iOS/Android/WebAssemblyのバイナリ生成。KotlinConf 2018
KotlinはJavaVM上で動作するプログラミング言語として登場しましたが、それ以外にも以前からKotlinのコードからネイティブコードを生成する「Kotlin/Native」の開発も進められていました。
オランダのアムステルダムで10月3日から5日まで開催されたプログラミング言語Kotlinのイベント「KotlinConf 2018」の基調講演で、この「Kotlin/Native」がベータに達し、Kotlin 1.3の一部としてバンドルされることが発表されました。
Kotlin/NativeがKotlin 1.3の一部としてバンドル
Kotlin/NativeはWindows、macOS、Linux、iOS、AndroidそしてWebAssemblyのバイナリコードを生成できます。
またKotlin/NativeはCやObjective-C、Swiftなどのコードから呼ぶこともできるため、アプリケーションの一部をKotlinで記述することも可能です。
Kotlinのマルチプラットフォーム対応
KotlinはKotlin/Nativeとは別に、Kotlin自身のマルチプラットフォーム対応も進められてきました。
例えば2017年3月に登場したKotlin 1.1では、KotlinのコードからJavaScriptを生成できるようになりました。これがKotlinのマルチプラットフォーム対応言語への第一歩でした。
その9カ月後、2017年12月に登場したKotlin 1.2ではマルチプラットフォーム化をさらに推し進め、Kotlinの同一コードからバックエンド、フロントエンド、Androidアプリケーションを生成できるようなりました。
参考:Kotlin 1.2正式版リリース。KotlinはJavaとJavaScriptのマルチプラットフォーム対応に
各プラットフォームに共通するロジックは「Commonモジュール」に記述し、バックエンドやフロントエンドなどに固有のコードはそれぞれのプラットフォームモジュールに記述し、これらをまとめて同一プロジェクトとして扱えるようになっています。
Kotlin 1.3では前述のようにKotlin/Nativeも加わり、マルチプラットフォーム対応はさらに前進しています。
マルチプラットフォーム対応のさまざまなライブラリも提供されるようになります。
さらに開発ツールのIntelliJ IDEとAndroid Studioも、マルチプラットフォーム対応となりました。
どのプラットフォームに対する開発でも、これらの開発ツールを用いることができます。
さらにKotlinをGradleでビルドするための設定を記述する言語(DSL)も開発中です。
もちろん言語そのものの性能改善にも努めており、Kotlin 1.3RCではビルドにかかる時間が改善されています。
KotlinConf 2018
- Kotlin 1.3でノンブロッキング非同期処理のCoroutinesが正式版に。非同期処理フレームワークの「Ktor 1.0」も登場。KotlinConf 2018
- Kotlin/Nativeがベータに到達、Kotlin 1.3にバンドル。Win/Mac/iOS/Android/WebAssemblyのバイナリ生成。KotlinConf 2018
関連記事
あわせて読みたい
サーバレスとPaaSの境界線はあいまいになっていくのではないか。サーバレスのこれからをAzure Functions開発者に聞いた
≪前の記事
Kotlin 1.3でノンブロッキング非同期処理のCoroutinesが正式版に。非同期処理フレームワークの「Ktor 1.0」も登場。KotlinConf 2018