はじめに

Kotlin/Native は 2017 年 4 月に v0.1 がリリースされ、2018 年 10 月に Kotlin1.3 で正式にバンドルされました。

本書は、Kotlin/Native の入門書として、

  • Kotlin/Nativeを用いてiOS,Androidで動作するアプリケーション作成のチュートリアルの解説
  • API通信といったView以外の機能を共通化させたサンプルアプリの解説

を行います。

本書を通じて、Kotlin/Native とは何かやその使い方等を体感して頂ければと思います。

マルチプラットフォームの銀の弾丸となることを信じて ...


Have a nice Kotlin!

1.1 対象とする読者

  • Kotlin/Nativeに興味がある人
  • これからKotlin/Nativeを始めようと思ってる人
  • マルチプラットフォームに興味のある人
  • すでにXamarin、ReactNative等のマルチプラットフォームを経験している人
  • これからAndroidを始めようとしているiOSエンジニア
  • これからiOSを始めようとしているAndroidエンジニア

1.2 開発環境

  • macOS10.14.3
  • Xcode10.1注1
  • AndroidStudio3.3.1注2
  • Swift4.2
  • Kotlin1.3.21

1.3 免責事項

本書に記載された内容は、情報の提供のみを目的としています。

したがって、本書を用いた開発・製作・運用は、必ずご自身の責任と判断によって行ってください。

これらの情報による開発・製作・運用の結果について、著者はいかなる責任も負いません。


注1 https://itunes.apple.com/jp/app/xcode/id497799835?mt=12戻る

注2 https://developer.android.com/studio/?hl=ja戻る

目次

はじめに

1.1 対象とする読者
1.2 開発環境
1.3 免責事項

第1章 Kotlin/Native とは

1.1 Kotlin/Native とは
1.2 ターゲットプラットフォーム
1.3 Kotlin/Native の歩み

第2章 Kotlin/Native の基本

2.1 Kotlin/Native で Base Project を準備する
2.2 Android で使用する
2.3 iOS で使用する

第3章 GitHub のリポジトリ検索アプリの作成

3.1 前提条件
3.2 設計
3.3 環境構築
3.4 共通モジュールの実装
3.5 Android クライアントの実装
3.6 iOS クライアントの実装
3.7 おわりに

あとがき

第1章Kotlin/Native とは

1.1 Kotlin/Native とは

Kotlin/Native は Kotlin でプログラムを書き、LLVM 注1 を使用してネイティブバイナリを作成す る仕組みです。

各プラットフォーム向けのバイナリが生成されるので、ネイティブ環境のままで動作します。

また、Kotlin/Native から、Windows, Mac, iOS 系の API を直接呼び出すことが可能です。

Kotlin/Native は Kotlin だけで、Windows, Mac, Linux, Android, iOS のアプリ、ライブラリの作成ができます。

1.2 ターゲットプラットフォーム

Kotlin/Native は次のプラットフォームをサポートしています。

  • iOS(arm32,arm64,emulatorx86_64)
  • Mac(x86_64)
  • Android(arm32,arm64)
  • Windows(mingwx86_64)
  • Linux(x86_64,arm32,MIPS,MIPSlittleendian)
  • WebAssembly(wasm32)

1.3 Kotlin/Native の歩み

Kotlin/Native のこれまでのリリースノートの抜粋です。

  • v0.3.x
    • - Windows, Android NDK 対応
    • - Kotlin 1.1.4 対応
    • - for ループ、メモリ管理のパフォーマンス向上
    • - ワーカー対応
  • v0.4.x
    • - Kotlin 1.2 対応
    • - Linux, iOS, macOS, Windows 用の API ライブラリ対応
  • v0.5.x
    • - kotlin.math パッケージの実装
    • - LLVM 5.0 に移行
    • - iOS, macOS, WebAssembly 対応
  • v0.6.x
    • - Kotlin 1.2.20 対応
    • - Java 9 対応
    • - Objective-C との相互運用
  • v0.7.x
    • - Objective-C, Swift の相互運用改善
    • - Maven 対応
    • - CoreML, ClassKit 対応
    • - gradle4.7 対応
  • v0.8.x
    • - iOS(arm32)対応
    • - JVM, JS と共通の stdlib に
    • - kotlin.random.* と Collection.shuffle の実装
  • v0.9.x
    • - Kotlin 1.3 対応
    • - iOS の最低サポートバージョンを iOS 9 に変更
    • - コルーチン対応
  • v1.1.x
    • - Contracs 対応
    • - gradle4.10 対応


注1 コンパイル時・リンク時・実行時などあらゆる時点でプログラムを最適化するように設計された、任意のプログラミング言語 に対応可能なコンパイラ基盤(戻る

https://llvm.org/

試し読みはここまでです。
この続きは、製品版でお楽しみください。