活字格 - 系统架构
作为凝聚了葡萄城开发控件领域 40 年技术积累的企业级低代码开发平台, 活字格搭建了完整的生态系统,适配业界主流的敏捷式开发流程,覆盖应用开发的全生命周期。在此基础上,活字格为开发者提供了专业级的开发模式、部署模式和系统扩展能力,技术赋能开发者构建和部署企业级应用。
活字格的开发流程
在顶层架构上看,活字格由设计器和服务器构成,覆盖企业级应用开发的全生命周期。
通常情况下,开发者使用活字格开发企业级应用的流程如下:
1. 开发者使用安装在自己电脑上的活字格设计器,启动开发工作
2. 如需与其他开发者组成团队,共同推进项目开发,或者需要进行版本管理,开发者可以利用协作服务器(如码云、GitHub 等互联网或安装在局域网内的 Git 服务器)和其他开发者进行协作
3. 开发者在自己的电脑上,使用活字格设计器构建数据表、服务端逻辑、页面等元素,完成应用开发和调试后,可以利用一键发布功能,将应用打包成可发布文件,部署到安装有活字格服务器程序的服务器上
4. 完整的活字格服务器由活字格服务器程序和管理控制台网站构成。其中,系统管理员可以通过管理控制台,可视化管理系统用户和权限,并且完成网络安全、自动备份等配置工作
5. 配置完成后,最终用户即可通过包括浏览器、APP、微信、钉钉等在内的多终端使用开发者构建的企业级应用了。
如上图所示,使用活字格开发应用的流程与专业的纯代码开发并无显著差异,这意味着开发者可以充分借鉴软件开发行业中积累形成的项目管理经验,实行敏捷化的项目管理和更紧凑的产品迭代周期,满足大规模、高复杂度的企业级开发需求。
扩展阅读: 了解活字格协作开发
使用活字格开发出的应用
开发者使用活字格构建的应用为纯 HTML5 Web 应用,最终用户能通过 PC 浏览器、手机 APP、微信或者钉钉来使用。支撑该应用的各个引擎和类库,都凝聚了葡萄城在专业控件领域 40 年的技术积累,能全面满足企业级应用开发所需。此外,该 Web 应用还具有很强的开放性,支持多种主流数据库、各种系统集成插件和开放的 API 编程接口。
在运行时层面,活字格的运行时架构,充分考虑了开发者对集中管理开发内容和灵活分发、复用开发成果的需求。使用活字格构建的应用由可发布文件和活字格服务器构成,可发布文件须在活字格服务器上加载和运行。可发布文件由活字格设计器生成,支持保存到本地,或一键发布到服务器,其内容包含了开发者所构建的全部内容,主要包含:
- 支持 PC 端浏览器和移动端的页面。这些页面基于标准的 HTML5、CSS3 构建,兼容性好。
- 用来描述业务逻辑和用户交互的脚本。脚本采用了活字格自定义的格式进行描述,支撑起工作流、自动化任务、ODATA 服务等。相比于传统的脚本语言,活字格屏蔽了平台的差异,用户不需要关心这些脚本运行在 Windows 还是 Linux 的服务器,或 PC 还是手机上的浏览器。
- 使用第三方工具开发的程序集或脚本、样式文件。这些文件基于活字格提供的编程接口和最佳实践构建,可以与使用活字格构建的页面、业务逻辑和用户交互脚本完全融合,协同增效。
这些内容被打包在一个文件中,开发者可以随时使用活字格设计器打开和修改这些内容。为了进一步提升开发效率,活字格设计器还提供了依赖检查和自动更新功能。如开发者修改某个数据表中的列名,活字格设计器会自动检查使用到该列的页面和服务端逻辑,并自动进行更新,以确保系统正常运行。
活字格会定期升级以增强系统的功能和性能,而基础类库和服务程序与开发者构建的可发布文件互相分离的设计,能让开发者通过升级活字格的最新版本,及时享受到最新的软件开发技术,让自己开发的企业级应用,以最小的开发成本投入,跟上技术进步的浪潮。
活字格的“模型驱动”模式
低代码开发平台在设计思想上可以分为“表单驱动”和“模型驱动”两种。为了满足企业级应用对业务场景复杂度以及对数据一致性的高要求,活字格采用“模型驱动”的理念进行设计。开发者可以在活字格设计器中,分别设计用于定义数据模型的数据表,供用户操作的页面,以及运行于服务器上、承载复杂业务逻辑的服务端命令。
即便是没有受过专业编程训练的平民开发者也能轻松构建出专业级应用,达到满足数据库设计范式、表与页面分离式设计、前后端分离架构等软件开发行业广泛推荐的技术要求,为企业级应用的开发和维护打下坚实的基础。
活字格的编程扩展能力
众所周知,企业级应用的场景复杂多变,任何一款低代码开发平台都无法通过内置功能来覆盖所有企业级应用的开发所需。此时,扩展能力就成为企业级应用开发的重中之重。
为了满足企业级应用开发对扩展性的高要求,活字格为系统的各个分层均提供了编程扩展能力。如果有必要,开发者能通过编程接口,精确修改各层的处理逻辑,免除专业开发者的后顾之忧,为系统集成提供坚实的技术基础。编程接口的典型应用场景如下:
- CSS 样式表:为表格或输入框精确设置外观样式,满足企业统一的UI设计风格要求
- 前端编程接口:调用第三方硬件设备的 ActiveX/OCX 接口,集成图像采集、读卡器等硬件设备
- 后端编程接口:在后端集成第三方 Web API 接口,集成互联网服务或行业软件
- 数据库编程功能:通过存储过程或查询视图,提升系统的数据处理能力