# MobileTogether 的主要功能

## 移动应用开发的功能特性

以下表格展示了MobileTogether框架中包含的、用于跨平台移动应用开发的各项功能。

### 跨平台移动设备支持

适用于 iOS 平台的原生应用程序（iPhone、iPad）

适用于 Android 系统的原生应用程序

适用于 Windows Phone 8/10 的原生应用程序

适用于 Windows 10/11 的原生应用程序

[基于HTML5的浏览器客户端，适用于任何其他平台。](build-web-apps.md)

### 发展选择

采用低代码、快速应用开发 (RMAD) 方法，使用 MobileTogether Designer 工具

利用 [RecordsManager](../recordsmanager.md) ，一种基于人工智能的、开箱即用的 MobileTogether 解决方案，可以实现数据库应用的无代码、可视化开发

### 部署选项

通过免费、通用的 MobileTogether 应用程序（例如，企业应用程序），可以实现即时部署

通过代码生成，在App Store上部署定制化的、原生应用程序（例如，面向消费者的应用程序）

### MobileTogether Designer：一种独特的移动应用开发方法

完美结合：既拥有低代码/快速应用开发（RMAD）的用户界面和控制流程设计，又具备函数式编程语言的全部灵活性

低代码/快速移动应用开发方法，旨在快速取得成果——用几天的时间开发应用程序，而不是几个月

拖放式用户界面设计

[“行动树”（Action Tree）可视化编程语言，用于控制流程、事件处理等。](visual-programming.md)

完全的灵活性 [XPath/XQuery 作为一种函数式编程语言，用于数据处理](visual-programming.md#xpath)

[XPath 和 XQuery 表达式构建器和评估器，旨在帮助不熟悉这些语言的开发人员。](visual-programming.md#xpath)

多层级样式表，用于灵活地为控件设置样式

支持针对不同操作系统的定制化设置 

全面的异常处理和恢复机制，包括 try、catch 和 throw   

### 构建包含以下功能的应用程序：

[图表](build-sophisticated-apps.md#charts)

表格和可滚动表格

拨打电话

发送短信

发送电子邮件 

与用户日历的集成

推送通知

相机集成

从图库中选择用户图片，并将图片保存到文件中

应用内购买

[地理位置和地图功能](maps-geolocation.md)

[支持NFC功能](nfc-app-development.md)

[MQTT 支持](mqtt-app-development.md)

移动端表单 / 企业级表单

[支持移动扫描仪](build-sophisticated-apps.md#barcodes)

[条形码/二维码扫描](build-sophisticated-apps.md#barcodes)

[条形码/二维码绘制](build-sophisticated-apps.md#barcodes)

[签名控制](build-sophisticated-apps.md#signature)

音频播放

音频录制

视频录制和播放  

文本转语音 

生物识别认证

图像编辑

弹出窗口

从应用程序中将内容打印到文件（Word、PDF 或 RTF 格式）

与其它应用程序共享数据

在客户端设备和服务器上进行文件加载/保存 

从数据库中加载/保存数据

通过网络服务加载/保存数据

处理来自任何公共网站的HTML数据 

针对服务，提供可自定义的触发器，包括时间、文件系统和 HTTP 触发器

服务 (无需用户界面，通过触发器在服务器端运行的解决方案) 

### 高级操作功能

精确的页面计时器

用于错误处理和恢复的 try/catch/throw 机制

使用 XPath 计算文件名来加载/保存文件

服务器连接错误

切换到其他解决方案（暂停当前执行）

单击事件 vs. 长按事件

批量插入数据 (快速将多条数据插入数据库)

数据库操作（使用SQL语句进行插入、删除、更新和保存数据）

### 设计灵活性、可重用性和模块化

可重复使用，动态的 [控制模板](modular-app-development.md#templates)

用于在多个位置放置控件模板的占位符控件

在通用 Windows 平台 (UWP) 应用程序中集成 MobileTogether Windows 客户端

支持 [子项目，用于辅助代码重构](modular-app-development.md#subprojects)

[模块面板](modular-app-development.md#modules) 将设计组件组织成逻辑部分

自动的 [模块组织结构](modular-app-development.md#modules) 基于命名规范

[服务器库](modular-app-development.md#libraries) ：这些库可以在主解决方案之外进行修改

### XPath/XQuery 扩展函数

用于服务器和Wi-Fi连接状态的函数

用户/角色管理功能

用于访问错误代码的函数

提供用于精细控制用户界面以及测量字体尺寸的函数

图像处理功能

用于[地理位置处理](maps-geolocation.md) 的功能

用于[NFC（近场通信）处理的函数。](nfc-app-development.md)

用于[MQTT协议处理的函数](mqtt-app-development.md)

用于处理颜色的函数

用于音频和视频处理的函数  

### 领先行业的应用程序测试与调试工具

项目验证和错误检查

[内置模拟器](app-simulator.md) ，适用于所有平台和设备形态

具备...的能力 [运行模拟](app-simulator.md) 可以在设计器中本地进行设置，也可以通过其他方式进行设置 [设计师已连接到服务器](app-simulator.md#server)

能够在模拟器中动态编辑本地设备数据（XML 结构），以测试不同的场景

[样式检查器](app-simulator.md#inspector) (在模拟器中)

模拟缺失服务器访问权限的能力  

能够模拟Wi-Fi可用性

模拟局域网访问的能力

具备模拟AppStore应用程序的能力

能够从文件中提供模拟的GPS定位数据

能够模拟设备在纵向（肖像模式）和横向（横向模式）之间的切换

[在开发者的客户端设备上进行模拟](app-simulator.md#device)

在模拟器中详细记录用户的操作行为 [构建测试用例](app-tester.md)

回放之前录制的用户操作测试用例，用于回归测试

在实际客户端设备上回放测试用例，以实现跨不同平台/设备的自动化质量保证测试

在每个步骤中，自动保存所有应用程序的状态、页面源代码、样式等快照

管理界面，用于查看多次测试运行的结果

对不同测试运行的结果进行详细比较，包括对数据元素的差异分析

[功能全面的调试器，适用于 Actions 和 XPath/XQuery。](app-debugger.md)

### 支持的数据源

XML

JSON / JSON5

HTML（包括对现有网页应用程序进行高级解析和数据提取）

文本文件

REST 和 SOAP Web 服务

所有主流的关系型数据库

还可以通过 MapForce Server 和/或 FlowForce Server 集成，接入其他数据源

### 支持的 SQL 数据库

Firebird 2.5、3

IBM DB2 for iSeries数据库系统® 版本 6.1、7.1、7.2、7.3、7.4

IBM DB2数据库系统® 8, 9, 9.5, 9.7, 10.1, 10.5, 11.5, 11.5.7

Informix (公司名称或产品名称，具体含义取决于上下文)® 11.7、12.10、14.10

MariaDB 10、10.3、10.4、10.5、10.6.5、10.9.2、11.2、11.8

Microsoft Access 数据库管理系统™ 2003年、2007年、2010年、2013年、2019年

Microsoft® Azure SQL数据库

Microsoft® SQL Server (SQL服务器)® 2005年、2008年、2012年、2014年、2016年、2017年、2019年

MySQL® 5, 5.1, 5.5, 5.6, 5.7, 8, 8.0.25, 8.0.28, 8.2, 8.3, 9.1

PostgreSQL 8、9.0.10、9.1.6、9.2.1、9.4、9.6、10、11、12、13、14.1、14.5、16、17、18

Oracle® 9i、10g、11g、12c、18、19

Progress OpenEdge 11.6版本更新

SQLite 3.x版本

赛贝斯 (Sybase)® ASE 15、16 (型号或版本号)

Teradata 16

### 关系数据库连接

数据库连接向导

数据库查询窗口

完全支持使用 XPath/XQuery 生成的动态 SELECT 语句

为简化数据编辑应用，提供完全自动化的数据库数据保存功能，包括将父子关系以层级结构信息进行保存

提供全面的数据库访问功能，支持所有SQL命令，适用于更复杂的、以数据为核心的应用

### 该软件提供多种语言版本

请提供需要翻译的英文文本

西班牙语

德语

法语

日语

### 更多本地化选项

具备...的能力 [为任何语言进行应用程序本地化](build-sophisticated-apps.md#localization)

[所有按钮、标签、控件、用户界面元素的本地化。](build-sophisticated-apps.md#localization)

本地化设置表可以导出和导入，以支持外部翻译记忆软件

用于在控制流程执行期间动态加载本地化消息的字符串表本地化

允许最终用户根据需要随时切换语言

### MobileTogether Server

适用于 Windows 操作系统

适用于 Linux 系统

支持服务（MobileTogether 服务器高级版）

本地部署

云端部署

与后端数据源实现高性能连接

“保留在服务器”选项，用于限制向客户端设备发送的数据量

为在客户端设备上显示而生成图表

客户端设备上持久数据存储选项

并行处理多个解决方案

权限编辑器，用于管理[安全性和身份验证](enterprise-app-security.md)

可选 [Active Directory 集成](enterprise-app-security.md#authentication)

与其他 [Altova 自动化服务器](../server-software.md) 的集成

可自定义的日志查看界面

支持解决方案别名

配备统计应用程序，提供详细的服务器使用情况报告

价格包含无限数量的应用程序，以及无限数量的设备

### 高级服务器缓存控制，旨在优化后端数据服务器的负载

针对每个外部数据源，提供精细化的缓存控制

能够为每个数据源设置特定的缓存过期时间

能够定期（每小时/每天/每周）更新缓存数据，即使没有客户端的请求

根据查询参数，支持多个缓存条目

### 适用于所有客户端的应用程序，可即时部署

适用于 iOS 平台的免费应用程序

适用于 Android 系统的免费应用程序

适用于 Windows 10 和 Windows 11 的免费应用程序

适用于任何平台的基于HTML5的浏览器客户端

将嵌入式解决方案集成到Web应用程序中


## Call to Action

[下载免费的 MobileTogether Designer 软件，即可开始使用！](download.md)
[现有客户可以在这里更新到最新版本。](download.md)
[MobileTogether 服务器现在可用。](https://shop.altova.com/MobileTogetherServer)

