Hybrid Mobile Apps

Mendix 混合移动应用程序是如何工作的?

借助 Mendix,可以在单一集成式、可视化开发环境中开发、部署、测试和管理移动应用程序。Mendix 利用流行的 Cordova 框架构建移动应用程序,使其能够提供真正的原生体验并在 Android 和 iOS 上运行。可以在 Mendix 应用程序中重用现有的域模型、逻辑和用户界面组件。此外,在设计丰富的原生用户体验时,这些应用程序可以通过特定于移动设备的控件、转换和手势来调用原生设备功能。

可以将移动应用程序作为附加通道添加到现有的 Mendix 应用程序中(如前端Mendix 如何支持多通道应用程序?所述)。通过响应式设计,您可以重用手机和平板电脑的应用程序页面和导航。但是,Mendix 支持为电话和/或平板电脑定义特定的配置文件,以便您可以创造设备优化的用户体验。

Mendix 原生移动应用程序连接到 Mendix Runtime 服务器以进行加载。它充当该应用程序的移动后端即服务 (mBaaS),其中通信由 Mendix 自动处理。移动应用程序会自动加载启动时和以后使用应用程序时所需的所有内容。由于 Mendix 基于模型驱动,因此在对模型进行更改时,无需重新安装应用程序或将其再次发布到应用商店。开发人员可以快速轻松地测试和发布新功能。

下图显示了 Mendix 移动应用程序的运行时架构:

如何调用我的移动应用程序中的设备功能?

Mendix 混合移动应用程序可以通过使用 Cordova 插件的操作和小组件调用各种原生功能。您可以轻松地将这些小组件添加到原生移动应用程序项目中,并在 Mendix Studio Pro 中对其进行配置。许多功能由 Mendix 或合作伙伴通过 Mendix Marketplace 提供。如果需要其他设备功能,则可以使用包装了 Cordova 插件的自定义 JavaScript 操作或小组件扩展应用程序项目,如如何扩展 Mendix 前端?中所述。

如何构建和发布我的移动应用程序?

Mendix 平台可生成 Mendix 移动应用程序,并提供运行该应用程序的所有逻辑。通过 Mendix 开发人员门户,可以自定义环境(如测试或生产)以及必要的设置(如应用程序详细信息,图标,初始屏幕和权限设置)。通过开发人员门户,也可以构建应用程序二进制文件,而无需安装 Xcode 或 Android Studio 等软件。可以从开发人员门户下载二进制文件,然后将其上传到应用程序商店。

Mendix 还通过 PhoneGap Build 构建移动应用程序。这使您可以轻松管理证书并共享移动应用程序二进制文件(例如通过二维码)。也可以下载移动应用程序的源代码并在本地构建。有关更多信息,请参见下面的如何扩展我的移动应用程序?以及 Mendix Studio Pro 操作方法中的如何在移动应用商店中发布 Mendix 混合移动应用程序

如何更新我的移动应用程序?

通过 Mendix Studio 或 Mendix Studio Pro,可以将更改发布到首选环境,移动应用程序将自动加载最新更改。由于无需执行应用程序商店流程,更新应用程序变得更加高效。

当需要更改生成的应用程序时,需要在应用程序商店重新发布。例如,应用程序信息、图标、初始屏幕、权限或使用的 Cordova 插件有所更改。可以在开发人员门户中对这些内容进行更改,只需单击一下,即可使用新设置构建新版本的应用程序。

如何预览和测试我的移动应用程序?

有几种方法可以测试您的移动应用程序。Mendix 在浏览器中提供了现成的移动视图,您只需单击一下即可预览您的移动应用程序。您可以使用 Mendix 移动应用程序(适用于 AndroidiOS),通过扫描 Mendix Studio 和 Mendix Studio Pro 中的二维码,在真实设备上快速测试移动应用程序。这可以用于本地测试,也可以用于测试发布到(免费)云上的移动应用程序。

在本地测试时,在您进行更改并在 Mendix Studio Pro 中点击运行后,您的应用会在几秒钟内自动重新加载。

如何分享我的移动应用程序?

您可以通过 Mendix 移动应用程序的共享功能或手动共享其 URL 来共享您的移动应用程序。

另一种共享方法是为测试或验收环境构建一个移动应用程序,然后下载相关的二进制文件。您可以通过 PhoneGap Build 直接分享这些内容,或者上传到应用商店进行 beta 测试。通过这种方法,您还可以测试图标和初始屏幕。因为模型更新将自动反映出来,所以这是个一次性过程。

如何扩展我的移动应用程序?

您可以从 Mendix 开发人员门户中下载移动应用程序的源代码。您可以使用源代码更改完整的应用程序配置,如应用程序设置、插件图标和启动屏幕。

此外,还有多个钩子可让您通过添加 JavaScript 轻松扩展移动应用程序。源代码包含配置文件,这些文件使您可以使用特定设置(例如 Mendix 环境)和应用程序信息来定义移动应用程序的不同版本,以便轻松测试应用程序的多个版本。由于 Mendix 移动应用程序基于标准的 Cordova 堆栈,因此可以轻松集成 Cordova 设置和插件。

源代码使用 npm,能根据您的需求轻松构建项目。有几种任务使您能够使用 Phonegap Build 直接在云中构建项目,或在本地构建二进制文件,或生成.zip 文件并将其共享或上传到 PhoneGap Build 中。有关更多信息,请参见混合应用程序模板 GitHub repo 页面

如何保护我的移动应用程序?

如果需要一个应用程序角色,则要求最终用户输入用户名和密码。成功登录后,令牌将存储在设备和 Mendix 服务器上。在应用程序顺序启动时,此令牌用于自动验证最终用户(这样就不必重新输入用户名/密码)。最终用户可以选择配置一个在每次启动时请求的 PIN。

令牌信息作为普通的 Mendix 对象存储在 Mendix 服务器上,在控制令牌的有效性方面具有充分的灵活性。Mendix 提供了现成有效期选项。当令牌无效或令牌对象被删除时,用户需要再次登录。

身份验证可以完全扩展以支持或集成其他身份验证机制,如 SAML、OAuth2 或 TouchID。与服务器的所有通信都是通过安全的 SSL 连接进行的。Mendix 移动应用程序数据受 Android 和 iOS 平台提供的现成加密机制保护。

如何与 EMM/MDM/MAM 解决方案集成?

 

Mendix 移动应用程序可以轻松与 MobileIronBlackberry/GoodOnegini 等 EMM 和 MAM 解决方案集成。也可以使用 AppConfig。由于 Mendix 使用标准框架 Cordova(大多数供应商都支持此框架),因此可以扩展移动应用程序以与这些供应商集成。

Mendix 平台提供了多个挂钩,以扩展身份验证机制并自定义移动应用程序。有关更多信息,请参见上面的如何扩展我的移动应用程序?