Kotlin Native
Kotlin/Nativeは、Kotlinコードを仮想マシンなしで実行できるネイティブバイナリにコンパイルするための技術です。 Kotlin/Nativeには、Kotlinコンパイラー用のLLVM-basedバックエンドと、Kotlin標準ライブラリのネイティブ実装が含まれています。
Kotlin/Nativeを選ぶ理由
Kotlin/Nativeは主に、組み込みデバイスやiOSなど、_仮想マシン_が望ましくない、または不可能なプラットフォーム向けにコンパイルできるように設計されています。 追加のランタイムや仮想マシンを必要としない、自己完結型のプログラムを開発者が作成する必要がある場合に最適です。
対象プラットフォーム
Kotlin/Nativeは、次のプラットフォームをサポートしています。
- macOS
- iOS, tvOS, watchOS
- Linux
- Windows (MinGW)
- Android NDK
Appleターゲット(macOS、iOS、tvOS、watchOS)をコンパイルするには、Xcodeとそのコマンドラインツールがインストールされている必要があります。
相互運用性
Kotlin/Nativeは、さまざまなオペレーティングシステム向けのネイティブプログラミング言語との双方向の相互運用性をサポートしています。 コンパイラーは以下を作成します。
- 多くのプラットフォーム向けの実行可能ファイル
- C/C++プロジェクト用のCヘッダーを含む、スタティックライブラリまたはdynamicライブラリ
- SwiftおよびObjective-Cプロジェクト用のApple framework
Kotlin/Nativeは、Kotlin/Nativeから既存のライブラリを直接使用するための相互運用性をサポートしています。
- スタティックまたはダイナミックC libraries
- C、Swift, and Objective-C frameworks
コンパイルされたKotlinコードを、C、C++、Swift、Objective-C、その他の言語で記述された既存のプロジェクトに含めるのは簡単です。 既存のネイティブコード、スタティックまたはダイナミックC libraries、Swift/Objective-C frameworks、グラフィカルエンジンなども、Kotlin/Nativeから直接簡単に使用できます。
Kotlin/Native platform librariesは、プロジェクト間でKotlinコードを共有するのに役立ちます。 POSIX、gzip、OpenGL、Metal、Foundation、その他多くの一般的なライブラリとApple frameworksは、プリインポートされ、コンパイラーパッケージにKotlin/Nativeライブラリとして含まれています。
プラットフォーム間でのコードの共有
Kotlin Multiplatformは、Android、iOS、JVM、web、ネイティブを含む複数のプラットフォーム間で共通のコードを共有するのに役立ちます。 Multiplatformライブラリは、共通のKotlinコードに必要なAPIを提供し、プロジェクトの共有部分をすべて1か所でKotlinで記述できるようにします。
Create your Kotlin Multiplatform appチュートリアルを使用して、アプリケーションを作成し、iOSとAndroidの間でビジネスロジックを共有できます。 iOS、Android、デスクトップ、およびWeb間でUIを共有するには、Compose Multiplatformのチュートリアルを完了してください。これは、KotlinとJetpack Composeに基づくJetBrainsの宣言型UIフレームワークです。
はじめに
Kotlinは初めてですか? Getting started with Kotlinをご覧ください。
推奨ドキュメント:
- Introduction to Kotlin Multiplatform
- Interoperability with C
- Interoperability with Swift/Objective-C
推奨チュートリアル: