构建离线本机应用程序 | Mendix 评估指南

Skip navigation

Offline-First Apps

如何构建离线优先的移动应用程序?

Mendix 提供了所有的功能以构建丰富的离线优先移动应用程序,无论网络连接状态如何,这些应用程序都能正常工作。离线优先方法是在设备上本地存储和处理数据,因此应用程序始终可以平稳运行,并且用户可以执行任务。除了同步和更新之外,不需要任何网络连接。离线优先方法提高了应用程序的可靠性和性能。

使用离线优先功能,您的应用程序将通过一致性检查和数据同步得到完全支持,同时您还可以对应用程序和同步过程进行微调。

Mendix Web 离线优先应用程序是如何工作的?

Mendix 可以轻松地将离线功能添加到现有的应用程序模型中,允许重复使用 UI 组件、逻辑和域模型。离线功能作为单独的渠道公开,可以通过添加离线导航配置文件进行启用。有关更多信息,请参见前端Mendix 如何支持多通道应用程序?。请注意,本机移动应用程序始终坚持离线优先。

Mendix Studio Pro 会自动分析应用程序的模型,以确定需要与设备进行同步的内容,因此开发人员无需考虑此问题。用户界面组件、样式、逻辑和数据都存储在设备上,因此应用程序无需连接即可运行。开发人员可以通过向模型添加规则,控制和指定哪些数据需要同步到设备。

当用户启动应用程序并且连接存在时,应用程序将检查是否部署了更新版本的应用程序模型。如果是的,该应用程序将自动更新到设备,并且会同步数据。

数据存储在本地 SQLite 数据库中,该数据库只能通过应用程序访问。即使关闭了该应用程序,重新启动设备或切断电源,所有(未同步的)数据也会保留下来。数据库(设备存储除外)没有尺寸限制。但是,实际上,最好考虑一下设备上需要哪些可用可控数据,(有关更多信息,请参见下面设备上存储了什么数据)。

数据同步可以在事件发生时(例如,当设备获得连接时),通过逻辑、按钮和手势或在保存数据时自动触发。如果同步时发生错误,则应用程序稍后会尝试再次同步数据。有关离线移动应用程序的更多信息,请参见 Mendix Studio Pro 指南中的离线优先

设备上存储了什么数据?

Mendix 通过对应用程序模型的自动分析(同时考虑访问控制设置),知道哪些数据可以离线使用。结果是最终用户只能看到分配给他们的允许访问的数据。通过应用 XPath 约束,可以同步分配给用户的数据,并可以在细粒度的级别上对其进行过滤和控制。数据还可以通过微流逻辑在特定上下文中分配给特定用户。用户注销后,所有数据和资源都会自动删除。

如何处理数据冲突问题?

Mendix 支持标准冲突解决模式先赢后赢并且有可能触发人工工作流程以处理冲突。通过微流对解决方案进行可视化建模,可以轻松扩展这些机制。

有关离线移动应用程序的更多信息,请参见 Mendix Studio Pro 8 指南中的离线优先