接入移动开发平台 mPaaS 有 原生 AAR 方式 和 组件化方式(Portal&Bundle)两种接入方式。本文将向您介绍这两种接入方式,并给出关于选择接入方式的建议。
原生 AAR 方式
原生 AAR 接入方式 是指采用原生 Android AAR 打包方案,更贴近 Android 开发者的技术栈。开发者无需了解 mPaaS 相关的打包知识,通过 mPaaS Android Studio 插件,或者直接通过 Maven 的 pom 和 bom,即可将 mPaaS 集成到开发者的项目中来。该方式降低了开发者的接入成本,能够让开发者更轻松地使用 mPaaS,适合对 组件化(Portal&Bundle)接入方式 没有特别需求,想快速使用 mPaaS 能力的客户。
原生 AAR 接入方式从 10.1.68 起开始支持。
组件化方式(Portal&Bundle)
组件化方式 是指 mPaaS 基于 OSGi(Open Service Gateway Initiative,开放服务网关倡议)技术将一个 App 划分成业务独立的一个或多个 Bundle 工程以及一个 Portal 工程的框架。mPaaS 会对每个 Bundle 工程的生命周期和依赖加以管理,使用 Portal 工程把所有的 Bundle 工程包合并成一个可运行的 .apk
包。该方式适用于大型多人并行开发项目。使用 组件化方式,需要引入 mPaaS gradle 打包工具,对 gradle 版本以及com.android.tools.build:gradle
版本有一定的要求。
如何选择接入方式
如果使用 mPaaS 需要像使用其他 SDK 一样简单接入并使用,推荐使用 原生 AAR 方式。如果使用 mPaaS 来重构您的项目需要引入大规模并行研发的理念,推荐使用 组件化方式 。
接入方式对比
原生 AAR 接入 | 组件化接入 | |
来源 | Google 官方接入方式。 | 源自支付宝。 |
打包速度 | 两者之中打包最慢,和原生接入一模一样。 | 打包速度快,打包时间分散。 |
项目组成方式 | App module 和 library module。 | Portal(一个 App 的壳)和 Bundle(各种业务组件)。 |
依赖 Gradle 版本 | 可以升级到官方最新版本。 | 4.4/6.3。开发者不可擅自升级。 |
依赖 AGP1 工具链 | 可以升级到官方最新版本。 | AGP 3.0.1/3.5.x(开发者不可擅自升级)。 |
Android Support Library | 可使用。 | 必须使用 mPaaS 提供的版本(23),开发者不可擅自升级。 |
Android X | 完整支持2 | 不支持 |
databinding | 完整支持 | v1 |
kotlin | 完整支持 | 尽量不要使用 |
Android Gradle Plugin,Android 打包用的 gradle 插件。
借助
android.enableJetifier=true
和android.useAndroidX=true
。