Kotlin Multiplatformのシステム開発は、AndroidとiOSで使う業務ロジックを共有しながら、画面や端末固有機能は各OSに合わせて実装する進め方が現実的です。最初から「一つのコードですべてを作る」と考えるのではなく、共通化する範囲を要件とリスクから決めることが成功のポイントです。
この記事では、Kotlin Multiplatformのシステム開発を検討する担当者に向けて、要件整理、技術選定、設計・開発、テスト、稼働、定着の6フェーズで進め方を解説します。費用相場の見方、見積書の確認項目、現場でそのまま使えるチェックリスト、FAQまでまとめていますので、RFP作成や開発会社との初回相談にご活用ください。
▼全体ガイドの記事
・Kotlin Multiplatformのシステム開発の完全ガイド
Kotlin Multiplatformのシステム開発の全体像

Kotlin Multiplatform(KMP)は、Kotlinで書いたコードをAndroid、iOS、デスクトップ、Web、サーバーなどで共有できる仕組みです。GoogleはAndroidとiOS間でのビジネスロジック共有についてKMPを公式にサポートし、2026年7月29日更新のAndroid Developersでは、KMPを安定版かつ本番利用可能な技術として案内しています(出典: Google Android Developers、2026年)。
KMPとCompose Multiplatformの違い
KMPは共有ロジックの仕組みであり、Compose Multiplatform(CMP)はKotlinでUIまで共有するためのフレームワークです。たとえば、認証、権限判定、入力バリデーション、APIクライアント、データモデル、オフライン同期はKMPで共通化し、Androidの画面はJetpack Compose、iOSの画面はSwiftUIで作る構成が考えられます。
一方、ブランド体験を両OSでそろえたい場合や、画面数が多くUIの差分が小さい場合は、CMPで画面を共有する選択肢があります。ただし、アクセシビリティ、OS固有の操作、既存デザインシステム、カメラや地図などのネイティブ連携は事前検証が必要です。KMPを採用する目的は100%共通化ではなく、機能ごとに「共有した方が品質と保守性に寄与する範囲」を決めることです。
業務システムで共有しやすい機能
業務システムでは、ユーザー認証、組織・拠点・権限管理、顧客や商品のマスタ、承認ルール、API通信、入力チェック、通知判定、監査ログの整形などが共有候補です。AndroidとiOSで同じ業務ルールを二重実装しないため、計算式や状態遷移をcommonMainなどの共有モジュールに集約すると、仕様変更時の修正漏れを減らせます。
倉庫や訪問先で利用するシステムでは、ローカルDB、オフライン入力、同期キュー、再送処理、競合解決も重要な共有候補になります。ただし、端末への保存方法、生体認証、プッシュ通知、Bluetooth、カメラ、位置情報はOSのAPIを使うため、androidMainとiosMainに分ける設計が基本です。機能一覧には「共通」「Android固有」「iOS固有」「要検証」の4区分を付けておくと、後の見積比較が容易になります。
2026年時点で確認したい最新動向
2026年は、KMPのプロジェクト構成や周辺ツールも実務を意識して整理されています。JetBrainsは2026年5月、共有コードを担うsharedモジュールと、AndroidやiOSなどの実行アプリモジュールを分離する新しい標準構成を発表しました。Android Gradle Plugin 9.0では、共有モジュールとAndroidアプリのエントリーポイントを分けることが必要になるため、新規案件だけでなく既存案件のアップデート計画にも影響します(出典: JetBrains Kotlin Blog、2026年5月)。
また、Googleの公開ページでは、AndroidとiOSをTier 1として扱うJetpackのKMP対応ライブラリが増え、Room、DataStore、Navigationなどの対応状況も確認できます。ただし、すべてのライブラリや対象OSが同じ成熟度ではありません。採用時には「使いたいライブラリが本番対応か」だけでなく、更新頻度、iOSの実機テスト、既知の制約、障害時の代替案を確認してください。
Kotlin Multiplatformのシステム開発の進め方

KMPの開発は、技術検証から始めてすぐに画面を量産するのではなく、業務の標準化と共有範囲の判断を先に行います。ここでは、要件整理、選定、設計開発、テスト、稼働、定着の6フェーズに分け、各段階で決めることと次の工程へ進む判定基準を示します。
フェーズ1:要件整理で業務と共通化範囲を決めます
最初に整理するのは、KMPの導入可否ではなく、誰が、どの端末で、どの業務を、どのデータを使って行うかです。現場担当者へのヒアリングでは、紙、Excel、電話、FAX、二重入力、例外処理を洗い出し、現行業務フローとあるべきフローを分けて記録します。業務ルールが部署ごとに違うままアプリへ移すと、不正確なデータ入力を速くするだけになり、KMPの技術効果も測れません。
要件定義書には、対象OSと最低対応バージョン、利用者数、端末管理方式、画面と帳票、既存API、オフライン時間、データ保持期間、RTO・RPO、監査ログ、認証方式、管理画面の要件を記載します。さらに各機能に「共有ロジック」「OS固有」「共通化しない」「PoCで判断」のタグを付けます。要件整理の完了条件は、主要業務の受入条件と、共通化しない機能の理由を発注者と開発会社が説明できる状態です。
フェーズ2:技術と開発会社を選定します
次に、KMP、Compose Multiplatform、Flutter、React Native、完全ネイティブの候補を、技術名ではなく要件に対して比較します。AndroidとiOSのロジックを同じ品質で保ちたい場合はKMPが有力ですが、対象OSが一つだけ、短期の単純なWebビューで足りる、または端末固有機能が大半を占める場合は、KMPを無理に採用しない方が合理的です。UIを共有するか、SwiftUIとJetpack Composeを分けるかも、この時点で仮決定します。
開発会社には、KMPの本番実績だけでなく、既存Androidからの段階移行、SwiftUIやUIKitとの相互運用、オフライン同期、端末検証、CI/CD、ストア申請、リリース後保守について質問します。提案書では、共通コード、Android固有、iOS固有、バックエンド、管理画面、QA、移行、教育を分けて記載してもらいます。提案会社がKMPのコードを書けるだけでなく、業務要件と受入条件まで管理できるかが選定基準です。
フェーズ3:PoCで技術リスクを検証します
選定後は、認証、API通信、ローカル保存、主要な1画面、AndroidとiOSのビルドを含む小さなPoCを実施します。単にサンプル画面が表示できるかでは不十分です。実際のAPIのエラー形式、ログイン期限切れ、ネットワーク切断、同期失敗、端末の権限拒否、iOS側から共有Kotlinコードを呼び出すときの型や例外の扱いまで確認します。
PoCの評価指標は、主要処理の共有率、ビルド時間、起動時間、実機でのメモリ使用量、クラッシュの有無、APIエラー時の復旧、CIでの再現性、Swift側の呼び出しやすさです。共有率だけを高くするのではなく、障害解析やOSアップデートのしやすさも評価します。PoCの成果物として、採用・不採用ライブラリ一覧、アーキテクチャ図、未解決リスク、量産開発の見積前提を残すと、本開発で判断がぶれません。
フェーズ4:設計・開発で共有モジュールを育てます
本開発では、共有モジュールにドメインルール、データモデル、バリデーション、APIクライアント、状態管理、同期処理を置きます。プラットフォームモジュールには、KeychainやKeystoreを使う安全な保存、通知、カメラ、位置情報、生体認証、Bluetoothなどを実装します。UIをネイティブで作る場合は、共有層からAndroidとiOSへ渡す状態・イベント・エラーを明確に定義してください。
2026年の新しい標準構成を参考にするなら、共有ロジックとアプリの実行モジュールを分け、各モジュールの責任を一つに近づけます。既存プロジェクトでは必ずしも構成を全面移行する必要はありませんが、Android Gradle Plugin、Kotlin、Xcode、Gradle、ライブラリの互換性を固定し、更新手順をCIで検証します。成果物はソースコードだけでなく、設計書、依存関係一覧、SBOM、テスト仕様、CI/CD設定、リリース手順、障害対応手順まで含めます。
フェーズ5:テストでOS差分と業務品質を確かめます
テストは、共有コードの単体テストだけで完了しません。共有ロジックの境界値・状態遷移・同期処理をホスト側で確認し、AndroidとiOSの実機で権限、通知、カメラ、ファイル、バックグラウンド復帰、画面回転、通信切断を検証します。業務システムでは、現場の業務シナリオを使った受入テストを別に用意し、入力から承認、連携、帳票、監査ログまで一連の流れを確認します。
個人情報や営業情報を扱う場合は、端末内に何を保存し、ログに何を残し、端末紛失や退職者のアカウント停止にどう対応するかをテスト項目に入れます。OWASP MASVSは、ストレージ、暗号、認証、ネットワーク、プラットフォーム連携、コード品質、耐タンパー性、プライバシーをモバイルセキュリティの確認領域として整理しています(出典: OWASP MASVS、2026年確認)。KMPを使っていても、セキュリティ責任が共有モジュールだけに集約されるわけではありません。
フェーズ6:稼働と定着を運用設計から始めます
リリース前には、ストア申請、MDMや端末配布、アカウント発行、初期データ投入、問い合わせ窓口、障害時の切り戻しを決めます。業務アプリの稼働は、アプリを公開した日ではなく、現場が安全に使い始め、正しいデータが業務システムへ流れた日が起点です。最初から全拠点へ展開せず、代表拠点でパイロット運用を行い、利用率、入力完了率、差戻し件数、同期エラー、問い合わせ件数を確認します。
定着フェーズでは、操作マニュアルだけでなく、業務ルールの変更点、困ったときの連絡先、データ修正の責任者を明文化します。週次の利用状況レビューで、使われていない機能と現場が紙へ戻った工程を確認し、改善バックログへ反映します。開発会社との契約には、OSアップデート対応、脆弱性対応、障害時のSLA、依存ライブラリの更新、引き継ぎ方法を含めておくと、運用開始後の責任分界が明確になります。
Kotlin Multiplatformのシステム開発費用相場

Kotlin Multiplatform専用の公的な国内費用統計は確認できないため、以下は公開されているモバイル・業務アプリの相場と、KMPの共有範囲を踏まえた推定レンジです。KMPを採用すれば自動的に何割安くなるわけではなく、要件定義、バックエンド、管理画面、QA、端末検証、ストア申請、保守は必要です。金額は税別の目安として、前提条件と一緒に比較してください。
規模別の費用レンジと期間
技術検証や共有モジュールのPoCは、認証、API、1機能、AndroidとiOSのビルド、簡易テストを含めて100万〜300万円程度、1〜2か月が一つの目安です。小規模な社内業務アプリは、5〜15画面、ログイン、一覧・登録、簡易管理画面を前提に500万〜1,000万円程度、3〜5か月が目安になります。
中規模の業務システム連携アプリは、20〜50機能、複数API、オフライン、通知、権限、端末検証を含めて1,500万〜3,000万円程度、6〜10か月が目安です。複数拠点・複数システム、データ移行、監査、SLA、24時間運用を伴う大規模案件では、3,000万〜8,000万円以上、12〜24か月以上となる可能性があります。既存AndroidやiOSをKMPへ段階移行する場合は、共有効果の高い認証・通信・ドメイン層から着手し、300万〜1,500万円程度を一つの検討レンジとします。
公開相場とKMP案件を混同しない見方
2026年5月公開のLASSICの解説では、モバイルアプリのベンダー公表例として最低限の機能が50万〜100万円、基本機能が100万〜200万円、複雑な機能が200万〜300万円、高度な機能が300万円以上と整理されています。ただし、同記事も公的な標準相場ではないと説明しており、対応OS、機能規模、開発手法、人月単価、運用保守で変わるレンジです(出典: LASSIC、2026年5月)。
一方、2026年7月公開のSIAの解説では、業務システムと連携するiOSアプリは500万〜1,500万円、実装40〜50%、テスト15〜20%、企画・要件定義10〜15%が目安として示されています。KMPの業務システムを考えるときは、このようなアプリ単体のレンジに加え、共有モジュールのPoC、APIやデータ移行、Android側の実装、共通化できない端末機能を積み上げて考えます(出典: SIA株式会社、2026年7月)。
初期費用以外に必要なランニングコスト
運用費は、初期開発費の15〜20%程度を年間保守費の目安とする公開例があります。KMP案件では、Kotlin、KMP、CMP、Xcode、Gradle、Android Gradle Plugin、依存ライブラリの更新、OSアップデート、脆弱性対応、CI実行環境、クラウド、監視、端末の買い替えを含めるか確認します。保守の対象外を曖昧にしたまま契約すると、OS更新のたびに追加見積が発生するため注意が必要です。
また、オフライン対応ではサーバー側の同期API、競合解決、再送処理、データ保持方針が継続的な運用課題になります。ストア配信を行う場合は、Apple Developer Programの年額費用、証明書、アプリ審査、プライバシー表示なども必要です。見積書では、開発費と保守費を分けるだけでなく、OS更新、障害対応、軽微改修、追加機能、問い合わせ対応の境界を項目別に確認してください。
Kotlin Multiplatformの見積もりを取る際のポイント

KMPの見積もりは、総額だけでなく、何を共通化し、どのリスクを誰が負担するかを比較するために取得します。「KMP一式」「アプリ開発一式」のような表記では、共通化による効率化と、iOS固有の追加工数が見えません。発注前に、機能一覧、業務フロー、API仕様、画面イメージ、対象端末、セキュリティ要件、受入条件をそろえてください。
見積書は共通・Android固有・iOS固有に分けます
見積書では、少なくとも要件整理、UI・UX、共有ロジック、Androidアプリ、iOSアプリ、バックエンド・API、管理画面、データ移行、テスト、CI/CD、ストア申請、教育、保守に分けてもらいます。共有ロジックの項目には、認証、API、モデル、バリデーション、ローカルDB、同期、通知判定などの対象機能を列挙します。
iOS固有の項目には、SwiftUIやUIKitとの連携、Keychain、生体認証、通知、App Store対応、iOS実機検証を記載します。Android固有の項目には、Keystore、Android権限、通知、端末メーカー差分、Google Play対応を記載します。これらが分かれていれば、KMPの共有範囲を広げた場合にどの工数が減り、どの工数が残るかを発注者が説明できます。
発注前に確認するチェックリスト
発注前は、次の項目を確認してください。対象OSとバージョン、対応端末、利用者数、同時利用数、画面数、帳票数、API数、外部サービス、オフライン時間、同期方式、マスタ管理者、データ移行件数、監査ログ、認証・権限、端末紛失時の対応、管理画面、CI/CD、ストア申請、教育、保守期間、SLA、成果物の権利、ソースコードの引き渡しを一覧化します。
特にオフラインや端末固有機能は、画面数だけでは工数を判断できません。「電波が切れたまま何時間使うか」「同じデータを複数端末が更新したときどちらを正とするか」「カメラの撮影失敗時に再試行できるか」まで受入条件に落とします。要件を細かく書き切れない場合は、本開発の見積に無理に含めず、期間と成果物を限定したPoCを先に分ける方法が安全です。
複数社を同じ条件で比較します
開発会社を比較するときは、同じRFPと同じPoC条件を渡します。比較するのは価格だけでなく、KMPとCMPの採用理由、ネイティブUIを残す判断、実機テストの台数、iOSエンジニアの体制、CIの構築範囲、依存ライブラリ更新の担当、障害時の一次対応、納品後の内製化支援です。見積が安い会社ほど、対象外の項目や発注者側の作業が多くないか確認してください。
契約前には、ソースコードと設計書の権利、再委託の扱い、OSSライセンスとSBOM、秘密情報の管理、個人情報の委託先管理、海外拠点や越境移転の有無、契約終了時の引き継ぎを確認します。KMPは技術の選択肢を広げますが、特定の会社や担当者しかビルドできない状態になると、将来の保守費用が上がります。第三者が環境を再現できる手順書とCI設定を納品条件に含めてください。
失敗リスクと対策を見積に含めます
よくある失敗は、共通化率を先に目標化すること、現場の例外業務を調べないこと、既存APIやマスタの品質を過小評価すること、テストを最後にまとめること、リリース後の保守担当を決めないことです。対策として、共通化率ではなく機能ごとの品質・開発速度・障害率を測り、現場の代表者を要件整理と受入テストへ参加させます。
見積書には、前提条件、対象外、変更時の扱い、PoCで判定する項目、予備工数、マイルストーン、受入条件を書きます。とくにKotlin、Xcode、Gradle、Android Gradle Pluginの組み合わせは、開発途中の更新でビルドが止まるリスクがあります。バージョン固定、更新検証、ロールバック、緊急対応の費用をどこに含めるかまで確認できれば、初期費用だけでなく総保有コストを比較できます。
Kotlin Multiplatformのシステム開発でよくある質問

KMPの導入では、費用、必要な人材、ネイティブ機能、既存アプリの移行について質問を受けます。判断を先送りするのではなく、自社の要件に照らしてPoCや段階移行の範囲を決めることが大切です。
Kotlin Multiplatformのシステム開発費用はいくらですか?
技術検証のPoCで100万〜300万円程度、小規模な社内業務アプリで500万〜1,000万円程度、中規模の業務システム連携で1,500万〜3,000万円程度が推定レンジです。画面数だけでなく、バックエンド、オフライン同期、データ移行、端末検証、セキュリティ、管理画面、保守の有無で大きく変わるため、KMPの定価として断定できる金額ではありません。
SwiftのエンジニアがいなくてもKMPを導入できますか?
iOS側の画面や端末固有機能を実装する場合は、SwiftUIやUIKit、Xcode、Appleの審査・配布に対応できる人材が必要です。KMPによってiOSの知識が不要になるわけではなく、共有KotlinコードをiOSアプリへ組み込み、エラーを解析し、OSアップデートへ対応する体制を用意してください。
KMPなら画面もAndroidとiOSで完全に共通化できますか?
画面も共有したい場合はCompose Multiplatformを使えますが、完全共通化が必須ではありません。業務システムでは、認証、通信、データ、バリデーションをKMPで共有し、アクセシビリティやOS固有操作を含む画面はJetpack ComposeとSwiftUIに分ける構成から始めると、品質リスクを抑えやすくなります。
既存のAndroidアプリをKMPへ移行できますか?
移行できます。最初に認証、API通信、データモデル、バリデーションなど、AndroidとiOSで共有効果が高い領域を共有モジュールへ切り出し、既存Androidの画面を動かしたまま段階的に進める方法が一般的です。既存コードの依存関係、テストの不足、iOS側の設計、APIの差分をPoCで確認し、機能単位で移行の費用対効果を判断してください。
まとめ

Kotlin Multiplatformのシステム開発は、AndroidとiOSで共有する業務ロジックを整理し、画面や端末固有機能を適切に分けながら進めます。成功の鍵は、要件整理で現場業務とデータを標準化し、選定フェーズでKMPとCMPの役割を切り分け、PoCで認証・API・保存・同期・CI・実機のリスクを確認することです。
まず決めるべき3つのこと
最初に、共有する機能とOS固有に残す機能を機能一覧へ記載します。次に、既存API、マスタ、オフライン、認証、端末管理、監査の非機能要件を整理します。最後に、PoCの合格条件と、開発後の保守・アップデート責任を決めます。この3点が明確なら、価格だけに引きずられず、KMPを採用するべき案件か、ネイティブや別の手法が適切な案件かを比較できます。
次のアクション
発注前は、現場ヒアリングを行い、業務フロー、機能一覧、API、対象端末、セキュリティ、受入条件をまとめたRFPを作成します。そのうえで、KMPの本番実績があり、AndroidとiOSの両方、バックエンド、QA、保守まで説明できる開発会社へ同じ条件で相談してください。見積書は共通・固有・運用の内訳と前提条件を確認し、必要であれば100万〜300万円程度のPoCから始めると、将来の手戻りを抑えやすくなります。
▼全体ガイドの記事
・Kotlin Multiplatformのシステム開発の完全ガイド
会社紹介
株式会社riplaでは、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを、構想策定・要件定義から開発・改善まで一気通貫で支援。事業会社でIT・DXを経験したプロフェッショナルによる高い要件定義力・システム設計力を活かし、事業成果の最大化に伴走します。

また、当社独自の開発テンプレート「Boxシリーズ」による標準機能の高速開発と、AI駆動開発の独自フレームワーク「GoDD」による独自機能のAI実装を組み合わせることで、低コスト・短期間で開発を実現いたします。

もし、システム開発やプロダクト開発に関するご要望がございましたら、お気軽にお問い合わせください。
・サービス概要資料のURLはこちら >>>
・お問合せページのURLはこちら >>>
・お役立ち資料のURLはこちら >>>


株式会社ripla 代表取締役CEOとして、システムパッケージ活用、システム開発、データ分析、生成AI活用、SaaS開発、アプリ開発、EC構築など、幅広い領域で企業のDX推進と事業成長を支援している。事業会社でIT・DXを経験したプロフェッショナルが集う株式会社riplaにおいて、お客様の事業・ユーザー・業務に最適化したオーダーメイド型システムを構想策定・要件定義から開発・改善まで一気通貫で支援し、単なるシステム納品にとどまらず、クライアントと同じ目線で事業成果の最大化に向けた伴走支援を行う。早稲田大学卒業後、ラクスル株式会社、LINEヤフー株式会社にて事業開発やDX推進などに従事した後、株式会社riplaを創業。
