最佳低代码开发软件:首选比较
请提供您希望我编辑的原文和翻译文本。我准备好处理它们并确保关键字(low code development software、4d database form design software、4d form design software、web server software、vr development software、ar development software)自然集成,同时保留翻译后的结构。
low code development software
低代码开发软件(low code development software)是一类应用程序构建平台,它用可视化设计器、拖放表单构建器和声明性逻辑代替手写代码。自 2014 年左右该术语受到关注以来,Gartner 一直在跟踪该市场,如今已有 40 多家供应商在无代码、低代码和专业代码层展开竞争。本次比较涵盖了该类别的实际含义、哪些平台适合哪些团队,以及低代码在何处会失效。
low code development software 详解
低代码开发软件位于两个旧世界之间:一侧是完全自定义编程,另一侧是僵化的商用软件包。低代码平台为您提供用于屏幕和表单的可视化画布、用于表和关系的数据建模层,以及一个逻辑层,其中业务规则通过配置、公式或小段代码而非数千行样板代码来表达。
“低代码”标签是一个频谱,而非二进制。在无代码端,一切都发生在浏览器中,没有存储库、没有编译器,也没有部署管道。在专业代码端,像 4D (4th Dimension) 这样的平台(其功能涵盖 4d database form design software 和 4d form design software)允许专业开发人员访问完整的编程语言、附加调试器并在 Git 中管理源代码,同时能够可视化地生成表单和 CRUD 界面。大多数团队处于中间位置,并随着应用程序的演进而向其中一端偏移。
一个有用的心智模型:低代码是针对应用程序中 80% 可预测部分(数据输入、列表、搜索、报告、权限)的生产力倍增器,从而使稀缺的工程时间能够投入到真正对您的业务至关重要的 20% 独特部分中。
什么是 low code development software
低代码开发软件是一组工具,允许人员使用可视化模型而非手动编写每一行代码,来组装一个可运行的业务应用程序(包括数据库、用户界面、业务逻辑、集成和部署)。其定义特征不是“无需编程”,而是“仅在能产生价值的地方编程”。
Related: — A spreadsheet-simple interface sitting on top of a real , with automations, views, and shareable interfaces..
几乎所有平台上都包含四个层级:
- 数据层。 表、字段类型、索引、关系和验证规则的设计。在 4D 中,这是结构编辑器;在 Web 优先的工具中,它是一个带有模式设计器的托管数据库。
- 界面层。 表单和页面设计。例如,4d form design software 支持基于同一结构的经典桌面表单和动态 Web 表单,这在应用程序必须同时服务于办公室局域网(LAN)和浏览器时至关重要。
- 逻辑层。 业务规则、工作流、触发器和计划任务。这是平台差异最大的地方:一些平台仅提供条件分支,另一些则公开完整的面向对象语言。
- 交付层。 应用程序运行的位置:桌面客户端、内置 web server software、移动壳(mobile shell)或云运行时。平台内置的 web server software 决定了您是否可以在不外接独立技术栈的情况下发布到浏览器。
一些相邻类别常与低代码混淆,必须将其区分开。移动应用开发软件通常指原生工具链(Swift, Kotlin)或跨平台框架,这些属于专业代码。vr development software 和 ar development software(Unity, Unreal, WebXR 工具)是具有自有资产管线的专业 3D 引擎——低代码平台很少能替代它们,尽管一些低代码工具现在可以导出简单的 AR 场景。远程 IT 支持软件(远程桌面、端点管理、工单系统)属于运维类别,而非应用程序构建类别,尽管低代码应用程序经常与其集成。
low code development software 的含义
根据说话者的不同,这个短语有三种截然不同的含义,将它们混为一谈会导致供应商比较时出现最大混乱。
If you are shopping: — A that plugs into the wider Zoho suite and prices per user rather than per app..
含义一:市场类别。 分析公司将“低代码开发平台”作为一个定义的市场细分,其纳入标准包括:可视化开发、多人协作、治理和生命周期管理。供应商争取被纳入其中,因为买家会根据这些报告筛选候选名单。
含义二:一种开发方法。 在这里,低代码意味着“模型优先,代码最后”。采用这种方法的团队可以使用传统语言加上脚手架框架,且仍可合法地称之为低代码实践。
含义三:关于谁来构建的承诺。 其商业含义是“公民开发”——即业务分析师、运营经理或会计师可以在没有开发人员的情况下交付可运行的应用程序。这是销售许可证时的说辞,如果忽视治理,这也是最容易让人失望的一点。
对于拥有小型团队的 IT 构建者来说,实际的翻译是:低代码意味着您可以在几天而非几个季度内交付自定义业务应用程序,前提是应用程序的形态与平台擅长的模型相匹配。一旦您的需求脱离了该形态,您将回到编写代码的状态——此时您需要一个允许您这样做(编写代码)的平台。
low code development software 的优势
速度在优势列表中占据主导地位,但速度是结果而非原因。真正的机制是重用和减少翻译损失。
- 已解决问题的重用。 身份验证、列表视图、分页、审计跟踪和 CRUD 界面都是预定义的。团队无需重新实现它们。
- 更少的翻译步骤。 需求直接从白板转移到表单设计器(如 4d form design software),无需经过规格文档、工单和实施过程。
- 更广泛的贡献者池。 理解流程的领域专家可以创建第一个版本,从而显著缩短反馈循环。
- 一致的数据建模。 单一的模式层强制执行字段类型和关系,减少了由模块间不兼容假设引起的 Bug。
- 更快的变更周期。 编辑表单或添加字段属于配置变更,而非发布工程事件。
- 降低维护的上手成本。 新的维护人员阅读可视化模型比阅读不熟悉的代码更快。
low code development software 的优缺点
| 维度 | 优点 | 缺点 |
|---|---|---|
| 交付速度 | 几天内即可完成首个工作版本 | 随着复杂度增加,速度优势缩小 |
| 人才 | 业务用户可以贡献 | 公民构建的应用通常缺乏测试和文档 |
| 成本 | 初始支出较低,所需专家较少 | 许可费用可能随用户数剧增 |
| 灵活性 | 可视化变更成本低 | 深度定制可能会触及平台天花板 |
| 治理 | 中央平台提供审计和角色管理 | 缺乏治理时,影子 IT 会蔓延 |
| 便携性 | 部分平台可导出标准代码 | 其他平台将数据和逻辑锁定在专有运行时中 |
| 维护 | 可视化模型易读 | 平台升级可能会破坏自定义扩展 |
low code development software 是否值得
当满足以下三个条件时,low code development software 是值得的:应用程序主要以数据为中心;需求的变化速度快于传统发布周期的吸收速度;且团队缺乏(或无法承担)专门的全栈工程师。
在以下情况通常不值得:应用程序是计算密集型、延迟关键型或对图形要求高(需要专门的 vr development software 或 ar development software);监管规则要求在每一行代码的源码级别进行控制;或者用户总数极少,以至于电子表格就足够了。
一个具体的决策测试:估算您的应用程序中由表单、列表、验证和报告组成的部分。如果这一比例很高,低代码在经济上胜出。如果您的应用程序价值在于新算法、实时引擎或 3D 体验,那么低代码平台将变成一个包裹在您仍需编写的代码之外的昂贵外壳。
预算问题也需要同样的坦诚。平台价格根据用户数量和部署模型(包括所使用的 web server software)而差异巨大。因此,请评估许可证、托管、培训以及未来迁移的成本总额。对于已经在商业平台上的团队,4D 软件保证(software assurance)的成本应与新许可证一起纳入总成本计算:维护合同为升级和支持提供资金,忽视它们可能会将您锁定在不受支持的版本中。只有在包含这些经常性支出而非仅包含入门级标价时,小型企业定价软件的比较才有意义。
low code development software 的问题
失败模式已有详细记录且在很大程度上可预测。
天花板碰撞。 团队使用 4d database form design software 快速构建了应用程序的 90%,随后发现剩余的 10%(如自定义集成、不寻常的计算、特定的打印布局)要么无法实现,要么需要与平台“对抗”。公开真实编程语言的平台比纯声明性平台能更好地应对这种情况。
影子 IT 和蔓延。 当每个人都能构建时,每个人都会构建。如果没有应用程序、所有者和数据源的注册表,组织将面临数十个重叠且无人负责的工具。
治理和安全漏洞。 公民开发人员很少考虑行级权限、密钥管理或数据保留。具有角色管理和内置审计日志的平台可以消除大部分此类风险;而没有这些功能的平台则将风险转移给了您。
供应商和数据锁定。 专有运行时使得退出成本高昂。请尽早询问:我可以以开放格式导出模式(schema)和数据吗?我可以在自己的基础设施上运行该应用程序吗?
升级脆弱性。 自定义代码和第三方扩展经常成为平台升级的受害者。版本固定(version pinning)和暂存环境(staging environment)是必不可少的。
性能意外。 可视化创建者可能会生成低效的查询。一个在 5,000 条记录下运行良好的列表视图,在 500,000 条记录时可能会变得极其缓慢,除非平台公开索引和查询控制。
测试债务。 低代码应用程序仍然是软件。如果没有自动化测试,一次配置变更可能会在无意中破坏下游报告。
如何选择:实用标准列表
- 数据模型的深度。 平台是否能按您的数据要求处理关系、索引和事务?
- 逃生舱门。 当可视化层达到极限时,是否有真实的语言、API 或 SDK?
- 部署选项。 仅云端、本地部署,还是两者兼有?集成 web server software 会显著改变您的托管成本计算。
- 表单和 UI 保真度。 您能否生成用户所需的精确界面,包括打印和 PDF 输出?
- 移动端方案。 原生壳(Native Shell)、响应式 Web,还是完全没有?在构建前决定。
- 备份与恢复。 寻找项目数据和文件的计划性、版本化备份。对于基于文件的平台,一个能够捕获项目结构(而非仅数据文件)的 4D 项目文件夹备份软件例程是实现现实灾难恢复的关键。
- 治理功能。 角色、审计日志、环境和部署审批。
- 总拥有成本 (TCO)。 许可、维护、托管、培训和退出成本。
- 社区与文档。 拥有活跃论坛和最新文档的平台可以节省数周时间。
- 路线图对齐。 供应商的发展方向是否与您应用程序的发展方向一致?
4D 在低代码环境中的位置
4D (4th Dimension) 在 low code development software 中占据一个独特的位置:它将关系数据库、web server software、表单设计器和编程环境集成在单一产品中。需要同一模式下同时拥有桌面客户端和浏览器客户端的团队无需维护两套代码库即可实现,且 4D 表单设计软件层(4d database form design software)可以可视化地管理数据绑定表单、子表单和列表框,同时将复杂逻辑留给编程语言。
这种组合适用于内部业务应用程序(库存、案例管理、调度、实验室和临床记录),其中数据模型是最困难的部分,且用户界面主要由基于表的表单组成。它不适合消费级规模的 Web 产品或任何需要 3D 渲染管线的产品,例如 vr development software 或 ar development software。
Key Takeaways
- 低代码开发软件用可视化模型取代了样板文件,但最强大的平台保留了 那最难搞定的 20% 需求可用的真正编程语言。
- 类别范围从无代码到专业代码;将平台在此范围内的位置与您团队的技能和应用程序的复杂性相匹配。
- 好处是真实的,但有条件:以数据为中心的应用程序受益最多,计算密集型或图形密集型应用程序受益最少。
- 可预测的故障模式包括天花板碰撞、影子 IT、锁定和升级脆弱性,所有这些都可以通过治理和退出计划进行管理。
- 总成本包括许可证、软件保障等维护、托管、培训和迁移,而不仅仅是入门级价格。
- 备份策略应涵盖项目的文件和结构,而不仅仅是数据。
资料来源和进一步阅读
- 低代码开发平台 - 维基百科:低代码开发平台 (LCDP) 提供软件开发环境 - 通常是图形用户界面 (GUI) - 涉及很少或根本不需要编写…
- 移动应用程序开发 - 维基百科:移动应用程序开发是为一个或多个移动设备开发移动应用程序的行为或过程,其中可以包括个人数字助理 (PDA…
- 备份软件 — 维基百科:备份软件是用于创建文件和数据库等计算机数据副本(称为备份)的软件,目的是从数据丢失中恢复。它…
- 软件保障 — 维基百科:软件保障 (SwA) 是软件开发中的一个关键流程,可确保软件产品的可靠性、安全性和安全性。它涉及到活动…
常见问题
简单来说什么是低代码开发软件?
低代码开发软件是一个平台,允许您使用数据、屏幕和逻辑的可视化设计器创建工作应用程序,而不是自己编写所有代码。您仍然可以做出技术决策(架构设计、权限、集成),但会为您生成重复的脚手架。结果是定制的业务应用程序在通常时间的一小部分时间内交付。
低代码开发软件的主要好处是什么?
主要好处是交付速度、更广泛的贡献者群体、一致的数据建模和更便宜的变更周期。由于表单、列表、身份验证和审计跟踪是预定义的,因此团队将精力集中在业务规则而不是底层基础构建上。维护也得到了改善,因为对于新维护人员来说,可视化模型比不熟悉的源代码更容易阅读。
低代码平台的优点和缺点是什么?
优点包括快速首次发布、较低的初始成本和更容易的迭代。缺点包括复杂需求的平台上限、随用户扩展的许可证、供应商锁定以及公民开发人员在没有监督的情况下构建时的治理风险。这种权衡在…时更有利内部以数据为中心的应用程序使用低代码,而在开发对延迟要求极高或图形密集型产品。
对于小团队来说,低代码开发软件值得吗?
对于流程知识多于工程能力的小团队来说,低代码通常是值得的。一个两人 IT 团队可以管理一系列内部应用程序,否则需要雇用人员。需要注意的是,选择一个具有真正退出机制和定期维护、托管和培训预算的平台,而不仅仅是初始许可证。
使用低代码开发软件应该注意哪些问题?
留意最后 10% 的需求无法直观构建的天花板碰撞、由于不受监管的公民开发而导致的影子 IT 扩展、专有运行时的数据锁定以及破坏自定义扩展的升级。性能是另一个常见的问题:除非平台公开索引和查询控制,否则可视化构建器可能会生成低效的查询。
低代码平台可以构建移动、网络和桌面应用程序吗?
很多都可以,但很少有同等质量的。 Web 优先平台擅长响应式浏览器应用程序,并提供不同保真度的移动 shell。 4D 等桌面级平台通过单一架构为原生桌面客户端和浏览器提供服务,使其适合内部业务线应用。对于 VR 开发软件或 AR 开发软件,专用 3D 引擎仍然是合适的工具。
低代码与传统开发相比如何?
传统开发提供了无限的灵活性,但代价是时间和专业人员。低代码以一定的灵活性换取速度和可访问性,当需求主要针对表单、数据和工作流程时,这种权衡是有利的。最可持续的配置是混合的:低代码用于标准 80%,手写代码用于差异化 20%。
权威来源
- Gartner,企业低代码应用平台魔力象限 — 分析师对低代码开发软件市场类别的定义。
- 维基百科,低代码开发平台 — https://en.wikipedia.org/wiki/Low-code_development_platform
- OWASP,应用程序安全验证标准 — https://owasp.org/www-project-application-security-verification-standard/ — 在审查公民创建的应用程序时很有用。
- 4D 文档 — https://developer.4d.com/ — 4D 语言、4d 数据库表单设计软件(4d 表单设计软件)、Web 服务器软件和服务器管理的参考。 (注:本文档不涵盖VR开发软件或AR开发软件)。
Frequently asked questions
简单来说什么是低代码开发软件?
低代码开发软件是一个平台,允许您使用数据、屏幕和逻辑的可视化设计器创建工作应用程序,而不是自己编写所有代码。您仍然可以做出技术决策(架构设计、权限、集成),但会为您生成重复的脚手架。结果是定制的业务应用程序在通常时间的一小部分时间内交付。
低代码开发软件的主要好处是什么?
主要好处是交付速度、更广泛的贡献者群体、一致的数据建模和更便宜的变更周期。由于表单、列表、身份验证和审计跟踪是预定义的,因此团队将精力集中在业务规则而不是管道上。维护也得到了改善,因为对于新维护人员来说,可视化模型比不熟悉的源代码更容易阅读。
低代码平台的优点和缺点是什么?
优点包括快速首次发布、较低的初始成本和更容易的迭代。缺点包括复杂需求的平台上限、随用户扩展的许可证、供应商锁定以及公民开发人员在没有监督的情况下构建时的治理风险。这种平衡提示有利于内部以数据为中心的应用程序使用低代码,而反对延迟关键或图形密集型产品。
对于小团队来说,低代码开发软件值得吗?
对于流程知识多于工程能力的小团队来说,低代码通常是值得的。一个两人 IT 团队可以管理一系列内部应用程序,否则需要雇用人员。需要注意的是,选择一个具有真正逃生舱口和定期维护、托管和培训预算的平台,而不仅仅是初始许可证。
使用低代码开发软件应该注意哪些问题?
留意最后 10% 的需求无法直观构建的天花板冲突、由于不受监管的公民开发而导致的影子 IT 扩展、专有运行时的数据锁定以及破坏自定义扩展的升级。性能是另一个常见的惊喜:除非平台公开索引和查询控制,否则可视化构建器可能会生成低效的查询。
低代码平台可以构建移动、网络和桌面应用程序吗?
很多都可以,但很少有同等质量的。 Web 优先平台擅长响应式浏览器应用程序,并提供不同保真度的移动 shell。 4D 等桌面级平台通过单一架构为本机桌面客户端和浏览器提供服务,使其适合内部业务线软件。对于 VR 开发软件或 AR 开发软件,专用 3D 引擎仍然是合适的工具。
Try FileMaker Free for 45 Days
The long-running relational database platform for teams that need custom apps on desktop, web, and mobile from a single file.