Kotlin

Kotlin Multiplatform開発ガイド:KMM WizardとFleetによる環境構築

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

Kotlin Multiplatform モバイル アプリ 開発 手順:KMM WizardとFleetによる最新環境構築ガイド

2023年7月現在、Kotlin Multiplatform(KMP)はAndroidとiOSの共通コードを1つのリポジトリで管理できる技術として注目を集めています。本記事では、KMM WizardとFleetを使ってプロジェクト初期設定からコード共有までをステップバイステップで解説します。Android/iOS両方の経験を持つ開発者向けに、実装可能なサンプルコード付きで丁寧に説明します。


Kotlin Multiplatformとは?

Kotlin Multiplatformは、共通ロジックを1箇所で管理し、プラットフォーム固有の部分(UIなど)を個別開発する仕組みです。これにより、コードの重複を削減し、保守性と生産性を向上させられます。

KMM WizardとFleetの役割

  • KMM Wizard: Android Studio内からプロジェクトテンプレートを自動生成し、初期設定を簡素化します。
  • Fleet: JetBrainsが提供するエディタで、Android/iOSコードの同時編集や多プロジェクト管理が可能です。

対象読者層の確認

本記事はAndroidとiOS両方の開発経験を持つ読者を想定しています。UIフレームワーク(Jetpack Compose/SwiftUI)との比較は避け、コード共有の実装に焦点を当てます。


KMM Wizardによるプロジェクト初期設定

KMM Wizardを使うことで、AndroidとiOSの初期構成を迅速かつ正確に作成できます。

IDEでの導入手順

  1. Android Studio Giraffe(2023.1.1) で、Extensions → Kotlin Multiplatform Wizard をインストールします。公式ドキュメント: https://developer.android.com/kotlin/multiplatform
  2. 新規プロジェクト作成時に「Kotlin Multiplatform」テンプレートを選択し、「Android」と「iOS」の両方をチェックします。

プロジェクトテンプレート選択

  • コード共有モジュール(commonMain) が自動生成され、
  • Android側(androidMain)、iOS側(iosMain)にプラットフォーム固有のディレクトリが作成されます。

共通モジュールの生成確認

以下のような構造が出来上がります:

注意: Android Studioのバージョンが古すぎる場合、KMM Wizardが正しく動作しない可能性があります。


Gradle構成ファイルの共通化と差分処理

Gradle設定は、共通ロジックとプラットフォーム固有の依存関係を明確に区別することが重要です。

build.gradle.ktsの共有部分

commonMain用のbuild.gradle.ktsでは、以下のように依存関係を記述します:

プラットフォーム固有設定の切り分け方法

  • Android向け: androidMainでJetpack ComposeやRoomライブラリを追加します。
  • iOS向け: iosMainでCombineやSwiftUI用の橋渡しライブラリ(KMM)を導入します。
プラットフォーム 依存関係例 補足
Android implementation("androidx.compose.ui:ui:1.5.0") Jetpack Compose使用時
iOS implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.2") JSON処理用

コード共有モジュールの実装例

共通コードは、DTOやリポジトリ層などに分離し、プラットフォーム依存処理を分離します。

DTOクラスの共通定義

共通ロジックで使用するデータモデルです:

Repository層のプラットフォーム独立処理

  • Android実装: Room DBやRetrofitでデータ取得。
  • iOS実装: CoreDataまたはCombine APIを使用して差分処理。

Jetpack Compose/SwiftUIでのUI分離方法

共通ViewModelを設計し、プラットフォーム固有のUIレイヤーに委譲します。

共通ViewModelの設計

UIレイヤーのプラットフォーム固有実装

  • Android: Jetpack ComposeでViewModelを観測し、UIを構築。
  • iOS: SwiftUIで@ObservedObjectでViewModelをバインド。

Fleetエディタでのプロジェクト操作手順

Fleetを使うことで、複数プラットフォームのコードを同時に開発・デバッグできます。

Fleetのインストールと初期設定

  1. JetBrains公式サイトからFleetダウンロード。
  2. AndroidプロジェクトとiOSプロジェクトをドラッグ&ドロップで読み込みます。

複数プラットフォーム同時開発のTips

  • タブ切り替え: プラットフォームごとに別タブを開き、同時に編集可能。
  • ライブリロード: Android StudioとFleet間で自動同期される設定を有効にします。

サンプルアプリのビルド・テスト手順

それぞれのプラットフォームで動作確認し、共通コードの正しさを検証します。

Android端末での実装確認

  1. Android StudioでBuild → Build Bundle(s) / APK(s) → Build APKを選択。
  2. USB接続したAndroid端末でアプリをインストールし、ログを確認。

iOSシミュレーターでの動作検証

  1. Fleet内でXcodeのシミュレーター起動し、iOSプロジェクトを開く。
  2. Product → Runでビルドとテストを実施。

CTA: 記事内のステップを実際に試してみて、Kotlin Multiplatform開発環境構築に成功した場合はコメントで教えてください!


まとめ

  • Kotlin Multiplatformは共通ロジックの効率的な管理が可能
  • KMM WizardとFleetを使えば初期設定が劇的に簡単になる
  • Gradle構成ファイルやコード共有モジュールの設計を意識することで、保守性向上が見込める
  • Android/iOSでのUI分離はViewModel中心に実装する

スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Kotlin