このガイドは、チームへのブリーフィングや見積もり比較の前にアプリの開発方式を決定しなければならない創業者・プロダクトオーナー・CTOを対象としています。モバイルプロダクト開発ガイドでは、ディスカバリーからスケールまでの全工程(バックエンドやストアリリースを含む)を扱っています。本ページは1つの意思決定に絞り、そのサマリーより深く掘り下げます。
このガイドの内容
- 「どちらか」ではない4つの開発方式
- 各方式の比較
- 決定するための6つの問い
- 初回リリース後の総所有コスト
- 後から方式を変更する場合
- AI機能と方式選択
- セキュリティとストアルールはすべての方式に適用される
- Netbase JSCのアプリ開発アプローチ
- 存在するデリバリー記録と存在しないもの
- このガイドの限界
- よくある質問
- 次のステップ
「どちらか」ではない4つの開発方式
この問いはネイティブ対クロスプラットフォームとして語られることが多いですが、実際には4つの方式から選択します。
- ネイティブ(iOS・Android)。iOS用にSwift、Android用にKotlinでそれぞれ開発し、各プラットフォーム固有のツールとインターフェースコンポーネントを使用します。
- クロスプラットフォームの単一コードベース。一度書いたアプリを両プラットフォームで動作させます。React Nativeは「JavaScriptで記述し、ネイティブコードでレンダリングされる」と自称しており、画面にはプラットフォーム固有のインターフェース要素を使用します。Flutterは「単一のコードベースから」マルチプラットフォームアプリを構築し、独自のインターフェースを描画します。
- 共有ロジック+ネイティブ画面。ビジネスルール・ネットワーク処理・データを一度記述し、各プラットフォームは独自のインターフェースを保持します。Kotlin Multiplatformはこれをインターフェースも共有するレベルと並んで、共有レベルの1つとして説明しています。
- モバイルWebまたはプログレッシブウェブアプリ(PWA)。ホーム画面にインストール可能で、ブラウザの制限内でオフライン動作するレスポンシブウェブサイトです。web.devはこれを「ウェブ上で構築・配信される」アプリ体験と説明しています。
各方式はあるプロダクトに対して正解となります。誤りは、プロダクト要件を整理する前に習慣やフレームワーク論争から方式を選ぶことです。
各方式の比較
| 評価軸 | ネイティブ(iOS・Android) | クロスプラットフォーム(単一コードベース) | モバイルWebまたはPWA |
|---|---|---|---|
| iOSとAndroidの開発工数 | 各プラットフォーム専用のコードベースとスキルセット | ほとんどの機能は1つのコードベース、一部にネイティブモジュールが必要 | ウェブサイトと共有する1つのコードベース |
| デバイス機能とプラットフォームAPI | 初日から新OS機能を含む完全かつ即時のアクセス | 大部分はプラグイン経由。新規または特殊なAPIにはネイティブコードが必要 | ブラウザに制限される。バックグラウンド処理は制限あり |
| インターフェースの質感 | プラットフォーム固有そのもの | ネイティブに近い。フレームワークと実装の丁寧さによる | Web的なUI。フォームやコンテンツに適している |
| パフォーマンスの余裕 | グラフィック・カメラ・リアルタイム処理で最高 | ビジネス・コマース・コンテンツアプリの大半には十分 | コンテンツとフォームには問題なし。負荷の高い処理には最も弱い |
| リリース経路 | 各プラットフォームのアプリストアと審査キュー | 各プラットフォームのアプリストア。一部コンテンツはリリースなしで更新可能 | ストア審査なし。更新は即時 |
| 採用とメンテナンス | 各プラットフォームの専門スキルセット | メインのスキルセット1種類とエッジケース用のネイティブ知識 | Webスキル |
共有ロジック+ネイティブ画面は、インターフェースとデバイスアクセスではネイティブ列に相当し、ビジネスロジックはクロスプラットフォーム列に近づきます。重複するロジックは減りますが、インターフェースは両プラットフォーム分を構築する必要があります。
決定するための6つの問い
-
アプリはデバイスをどれだけ深く使うか?
継続的な位置情報取得・Bluetoothアクセサリー・カメラ処理・拡張現実・大量のオフラインデータは、ネイティブか、ネイティブモジュールを計画したクロスプラットフォームに向いています。
-
iOSとAndroidを同時にリリースする必要があるか?
その場合、1つのコードベースは通常より早くパリティに達し、それを維持できます。一方のプラットフォームが市場を支配しているなら、まず単一のネイティブアプリから始められます。
-
インターフェースはどれだけ要求が高いか?
複雑なアニメーションとグラフィックはネイティブか、独自のインターフェースを描画するフレームワークに向いています。フォーム・リスト・チェックアウトはそうではありません。
-
5年間誰がメンテナンスするか?
アプリは年次のOS・ストア変更を乗り越えます。流行ではなく、チームやパートナーが対応できるものを選んでください。
-
他のチャネルと何を共有できるか?
JavaScriptとReactで作業するWebチームは、React Nativeアプリとスキルや一部のロジックを共有できます。ウェブサイト優先のプロダクトは、まだアプリを必要としない場合があります。
-
どれくらいの頻度で開くか?
毎日使うツールはホーム画面アイコンに値します。月に数回しか使わない発注ポータル(B2B印刷発注ポータルなど)は、まずレスポンシブWebアプリとして提供する方が通常は適切です。
アプリの費用を負担・運用する人々と一緒に、この6つの問いで各方式を評価してください。方式が同点になったら、メンテナンス担当者がすでに知っている方を選びましょう。
初回リリース後の総所有コスト
初回リリースの見積もりは方式間での単純比較が難しい面があります。コストはリリース後に変動するためです。
- ネイティブ(iOS・Android)は構築コストが高く、その後の機能開発もおよそ倍になりますが、プラットフォーム更新がサードパーティレイヤーを壊すリスクが最も低くなります。
- クロスプラットフォームは機能の重複開発をほぼ省けますが、フレームワークのアップグレード・プラグインのメンテナンス・ネイティブ対応が加わります。毎年時間を計画してください。
- 共有ロジックはビジネスルールとテストの重複を省けます(バグが多いのはここです)が、インターフェース開発は引き続き倍の工数です。
- モバイルWebは最も運用コストが低いですが、本当にアプリが必要だった場合、機能・リテンション・ストア露出を失うリスクがあります。
Netbase JSCはモバイルアプリの個別タイムラインを公表していません。SaaS MVPの一般的な範囲は8〜12週間で、独自バックエンドと両プラットフォームを持つモバイルプロダクトは、既存APIへの単一プラットフォームアプリより範囲の上位に位置します。SaaS MVPアーキテクチャとデリバリーロードマップでは、初回リリーススコープの固定方法を解説しています。これらは一般的な範囲であり、見積もりではありません。
後から方式を変更する場合
方式は永続的ではありませんが、切り替えには時間がかかります。
- モバイルWebからアプリへ。一般的な移行パスです。バックエンドとAPIを最初からモバイル向けに設計しておけば、アプリは新しいクライアントとなり、リライトにはなりません。
- クロスプラットフォームからネイティブへ。通常は画面ごとに移行し、デバイスをもっとも必要とする画面から始めます。インターフェースとビジネスロジックの明確な分離が移行を可能にします。
- ネイティブ(iOS・Android)から共有ロジックへ。ルール・ネットワーク処理・データをモジュール単位で移行します。インターフェースはそのままです。
方式を問わず、ウェブサイト・アプリ・パートナーシステム用のAPIは1つに保ち、アプリストアアカウントは自社名義で維持し、サポートする最低アプリバージョンを記録してください。そのバックエンド側についてはモバイルアプリバックエンド、APIとオフライン同期で解説しています。
AI機能と方式選択
AIが方式を単独で決定することはほとんどありませんが、2点が変わります。カメラのテキスト認識やオフライン提案など、デバイス上で実行する機能はプラットフォームの機械学習APIへのアクセスが必要で、ネイティブコードまたはネイティブモジュールが最初に届きます。アシスタントや自社データの検索など、クラウドで実行する機能はどの方式でもバックエンド経由で呼び出されるため、プロバイダーキーはアプリ内に含まれません。Netbase JSCはプロダクトごとに選定した主要な商用・オープンソースAIモデルと協働しており、AIが支援するすべての変更は人間のレビュー下に置かれます。以下の各項目では、Netbase JSCでの成熟度を記載しています。
-
デリバリー済み:商品レコメンデーションエンジン。
4over4のために閲覧・購入履歴から構築されたもので、ネイティブアプリではなくウェブ上で動作します。
-
成長中の機能:アプリ内のオンデバイスおよびクラウドAI機能。
機械学習・NLP・コンピュータービジョン・生成AI機能。4over4の機能を超えたものは、まだ公開されたケースとは紐付いていません。
セキュリティとストアルールはすべての方式に適用される
セキュリティはフレームワークよりも、その周囲の実践に依存します。OWASP Mobile Application Security Verification Standard(MASVS)は、ストレージと暗号化からネットワーク通信とレジリエンスまでの管理策をグループ化しており、ネイティブとクロスプラットフォームの両方に適用されます。AppleのApp Review GuidelinesとGoogle Playのポリシーは、構築方法を問わずすべてのアプリに適用されます。Netbase JSCのセキュリティ実践には、セキュアコードレビューとバージョン管理・転送中のTLSと保存時のAES・ロールベースのアクセス制御・管理ダッシュボードのMFAが含まれます。
Netbase JSCのアプリ開発アプローチ
Netbase JSCはReact Nativeでクロスプラットフォームアプリを構築し、機能がそれを要求する場合はネイティブ方式を選びます。React Native開発者は長らく採用対象のロールに含まれています。3名から30名のチームがビジネスアナリスト・プロジェクトマネージャー・ソリューションアーキテクト・開発者・QA・UI/UXデザイナーで構成され、通常ディスカバリー後1〜2週間以内に開始します。Netbase JSCのほとんどのプロジェクトはディスカバリー後に合意した請負契約で納品され、カスタム開発ではクライアントが作成されたIPを所有します。モバイルアプリ開発サービスでは契約内容を、フロントエンドとモバイルテクノロジーのページではより広いスタックを説明しており、モバイルプロダクトアクセラレーターは再利用可能なビルディングブロックがプロダクトに適合する場合の出発点となります。Netbase JSCの受賞歴にはTop Mobile App Developers 2020、Clutchのバッジが含まれます。
存在するデリバリー記録と存在しないもの
- 存在するもの。Dey Pageの記録は、iOSとAndroid向けの1つのReact Nativeコードベースを説明しており、Webディレクトリと同じバックエンド上でコンシューマーモードとビジネスオーナーモードが動作します。RB Marketplaceの記録は、マーケットプレイスAPIを使ったAndroid向けカスタマーショッピングアプリを説明しており、iOSは拡張スコープに含まれます。
- 存在しないもの。どちらの記録もダウンロード数・評価・使用状況・パフォーマンス・コストの数値を公表しておらず、RB Marketplaceの記録はフレームワーク名を明記していないため、どちらの方式が安いか速いかの証拠としては提示できません。同一プロダクトのネイティブビルドとクロスプラットフォームビルドを比較した記録はありません。
このガイドの限界
- フレームワークに関する記述は、アクセス日時点の各フレームワーク公式ドキュメントに基づいています。フレームワークは急速に変化するため、決定前に最新バージョンをご確認ください。
- コスト比較は方向性を示すものです。公表されているパーセンテージでの節約効果はソースや方法によって異なり、いずれもNetbase JSCの数値としては使用していません。
- この基準はビジネス・コマース・コンテンツアプリに適しています。ゲームやハードウェアプロダクトには独自の分析が必要です。
Netbase consultantと次のステップを計画する
よくある質問
クロスプラットフォームはネイティブより安いですか?両プラットフォーム対応のビジネスアプリでは、ほとんどの機能開発が一度で済むため通常は安くなります。デバイス機能でネイティブコードが必要な場合は節約効果が縮小し、フレームワークアップグレードで毎年の作業が加わります。
クロスプラットフォームアプリは遅いですか?フォーム・リスト・カタログ・チェックアウトではユーザーがほとんど気づくことはありません。高負荷グラフィック・リアルタイムカメラ処理・拡張現実では引き続きネイティブコードが有利です。
クロスプラットフォームから始めて後でネイティブに移行できますか?はい。初回リリースからビジネスロジックとバックエンドをインターフェースから分離しておけば、画面ごとに移行できます。
そもそもアプリは必要ですか?必ずしもそうではありません。サービスを使う頻度が低く、デバイス機能やオフライン動作が不要であれば、レスポンシブWebアプリが多くの場合、より適切な最初のステップです。
次のステップ
アプリが実現すべきこと・必要なプラットフォーム・接続すべきシステムを教えていただければ、ソリューションレビューをご予約のうえ、一緒に各方式を評価します。モバイルアプリ開発のサービスページや、その他のNetbase JSCインサイトもご覧いただけます。
関連サービスとソリューション
コマース・プロダクトチーム向けモバイルアプリ開発(AI機能搭載)
Netbase JSCは、リテーラー・スタートアップ・プロダクトチームが既存のスマートフォンで顧客にリーチできるよう、クロスプラットフォームReact Nativeアプリおよびモバイル最適化コマースを提供します。高速表示とコンバージョンを実現し、電話が効果を発揮する場面でAIを活用します。各アプリはディスカバリーでスコープを定め、既存のバックエンドとAPIを再利用し、ストアリリースまでお客様とともに計画します。
詳しく見る
AI対応アプリのためのモバイルプロダクトアクセラレーター:認証・プッシュ・オフライン・決済の再利用可能な基盤
モバイルアプリアクセラレーターとは、サインイン・プッシュ通知・オフラインデータ・決済など、あらゆるアプリが必要とする基盤をNetbaseが各プロダクト向けに設定・拡張する仕組みです。AIサーチ・パーソナライゼーション・オンデバイスAIといった差別化機能の開発からビルドをスタートできます。React Nativeを用いたカスタム開発として提供される成長期ケイパビリティです。
詳しく見る
プロジェクトを相談する
Netbase JSCは、デジタルプロダクトおよびAI活用ビジネスシステムの設計・開発・モダナイゼーション・運用を支援します。+84 937 869 689
91 Nguyen Chi Thanh, Dong Da, Hanoi, Vietnam
お問い合わせ
構築・モダナイズ・運用したい内容をお聞かせください。