mPaaS(Mobile PaaS)では、ネイティブ AAR メソッドとコンポーネントベースメソッド(Portal & Bundle)の 2 種類の統合方法を提供しています。本トピックでは、それぞれの特徴を説明し、プロジェクトに最適な統合方法を選択するための推奨事項を示します。
ネイティブ AAR メソッド
ネイティブ AAR 統合メソッドは、標準的な Android AAR パッケージングソリューションを採用します。このアプローチは、Android 開発者が一般的に使用する技術スタックと整合しており、開発者は mPaaS 固有のパッケージング手法を新たに学習する必要がありません。mPaaS Android Studio プラグイン、または Maven POM および BOM ファイルを直接使用して、ご利用のプロジェクトに mPaaS を統合できます。この方式は導入障壁が低く、mPaaS の利用が容易になります。mPaaS の機能を迅速に活用したい開発者や、コンポーネントベース(Portal & Bundle)統合メソッドを必要としない場合に最適です。
ネイティブ AAR 統合メソッドは、mPaaS 10.1.68 以降でサポートされています。
コンポーネントベースメソッド(Portal & Bundle)
コンポーネントベースメソッドは、Open Service Gateway Initiative(OSGi)に基づくフレームワークです。アプリケーションを 1 つ以上の独立したビジネスバンドル(Bundle)プロジェクトと、1 つの Portal プロジェクトに分割します。mPaaS が各バンドルプロジェクトのライフサイクルおよび依存関係を管理し、Portal プロジェクトがすべてのバンドルプロジェクトを単一の実行可能 .apk パッケージにマージします。この方式は、複数チームによる大規模な並行開発を必要とするプロジェクトに適しています。このコンポーネントベースメソッドを利用するには、mPaaS Gradle パッケージングツールをインポートする必要があります。また、Gradle および com.android.tools.build:gradle プラグインの特定バージョンが必要です。
統合方法の選択方法
他の SDK と同様に簡単に mPaaS を統合したい場合は、ネイティブ AAR メソッドをご利用ください。一方、大規模な並行開発向けにプロジェクトのリファクタリングを目的として mPaaS を活用する場合は、コンポーネントベースメソッドをご選択ください。
統合方法の比較
ネイティブ AAR 接続 | コンポーネントベース接続 | |
出所 | Google 公式の方法です。 | Alipay 社由来です。 |
パッケージング速度 | 両者の中で遅い方です。標準的なネイティブビルドと同等です。 | 高速です。パッケージング時間が分散されます。 |
プロジェクト構造 | アプリケーションモジュールおよびライブラリモジュールです。 | Portal(アプリケーションシェル)およびバンドル(ビジネスコンポーネント)です。 |
Gradle バージョン依存性 | 最新の公式バージョンへアップグレード可能です。 | 4.4 または 6.3 のみ対応。それ以外へのアップグレードは不可です。 |
AGP1 ツールチェーン依存性 | 最新の公式バージョンへアップグレード可能です。 | AGP 3.0.1 または 3.5.x のみ対応。それ以外へのアップグレードは不可です。 |
Android Support Library | 対応しています。 | mPaaS が提供するバージョン(23)のみを使用してください。アップグレードは不可です。 |
AndroidX | 完全対応2 | 非対応です。 |
databinding | 完全対応です。 | v1 |
Kotlin | 完全対応です。 | 使用を避けてください。 |
AGP は Android Gradle Plugin の略称で、Android アプリケーションのパッケージングに使用されます。
android.enableJetifier=trueおよびandroid.useAndroidX=trueを設定することで対応可能です。