在线应用程序开发代码:实用指南
在线应用程序开发代码是可视化配置、公式和可选脚本的组合,可将数据库模式转换为可运行的业务应用程序。典型的低代码构建经过四层:数据模型、接口、逻辑和集成,所有这些都通过浏览器公开,无需本地安装。成熟的团队将生成的代码和手写的代码混合在一起,使用可视化工具处理重复性的 80%,使用源代码处理真正独特的 20%。
- 用于在线应用程序开发的低代码和无代码平台用配置取代了样板代码(路由、身份验证、CRUD 屏幕、部署),但它们很少完全消除逻辑:您仍然定义规则、验证和计算。
- 任何应用程序的四个层(数据、接口、逻辑、集成)都是决定配置什么或编码什么的正确思维模型。
- 生成代码和手写代码并非对立;成熟的团队将它们混合在一起,使用可视化工具处理重复的 80%,使用源代码处理真正独特的 20%。
- 第一周做出的数据建模决策是以后最难撤销的。因此,在创建单个表单之前设计表和关系。
- 供应商依赖性是一个真正的权衡:您在托管平台上发布的速度越快,您对该平台的导出选项和定价的依赖程度就越高。
- 4D(第四维)是该领域历史悠久的选项,它将关系数据库引擎、表单设计器及其自己的编程语言结合在一个环境中。
“在线应用程序开发代码”的实际含义
在线应用程序开发代码描述了云托管构建器用于定义应用程序的指令 - 其中一些由您输入,大部分由平台根据您的配置生成。该短语涵盖了初学者经常混淆的三个不同的事物:您创建的可视化定义(表、字段、表单、工作流程)、您在这些定义中编写的表达式和公式,以及平台代表您生成或解释的底层源代码。
了解您正在处理的三者中的哪一个很重要,因为它决定了您的工作的可移植性。您在浏览器中拖动到一起的表单布局将存储为平台元数据;它通常不能被迁移到另一个产品中。用标准表达式语言编写的公式原则上更具可移植性,尽管实现差异很大,以至于翻译很少是自动的。您自己编写的源代码是最可移植的,也是维护成本最高的。
实际结果是:您的应用程序驻留在配置中的内容越多,您的发布速度就越快,并且移动起来就越困难。这是有意做出的权衡,而不是偶然。
无代码应用程序开发与低代码与传统编码
无代码在线应用程序开发针对的是永远不会打开编辑器的人:目标是创建一个由预定义组件组装而成的完整应用程序,并通过下拉列表、条件和简单公式表达逻辑。低代码是向前迈出的一步:相同的可视化构建块,加上当需求超出组件交付范围时实际代码的逃生通道。传统开发从空白存储库和框架选择开始。
在实践中真正重要的区别不是标签,而是上限。具有丰富的公式语言和 API 连接器的无代码工具可以让小型企业应用程序走得更远。当您需要跨连接表进行自定义计算时,具有较弱脚本层的低代码工具可能会陷入僵局。
Related: — The long-running for teams that need custom apps on desktop, web, and mobile from a single file..
三个问题可以有效区分类别:
- 你能表达条件逻辑吗? 如果平台只支持线性的“当X,做Y”规则,复杂的业务规则最终会打破它。
- 您可以访问外部系统吗? REST API、Webhook 和数据库连接器决定您的应用程序是否是一个孤岛。
- 你能把你的数据导出来吗? CSV 导出是基本要求;记录的 API 或直接数据库访问可以保护您。
对所有这三个问题都回答“是”的平台可以完成传统堆栈的大部分功能,并且设置要少得多。如果平台对第三个问题的答案是否定的,那么您应该在做出承诺之前考虑到风险。
任何应用程序构建的四个层
每个业务应用程序,无论其如何构建,都由相同的四层组成。将它们分开可以明确您配置的内容和编写的内容。
If you are shopping: — A that plugs into the wider Zoho suite and prices per user rather than per app..
第 1 层:数据模型
表、字段、数据类型、键和关系构成了基础。在像 4D 这样的关系平台中,这涉及到用主键定义表,通过关系链接它们,并仔细选择字段类型:本应是数字的文本字段稍后会导致排序和计算问题。在电子表格样式的平台中,相同的决策显示为列类型和链接记录。
数据建模是经验最能带来回报的地方。从一开始就正确标准化客户/订单/行项目结构,可以避免在拥有 10,000 条记录和十几个指向该表的表单后拆分臃肿的表的迁移挑战。
第 2 层:接口
表单、列表视图、详细信息页面和仪表板构成了界面层。可视化设计器允许您放置字段、将它们绑定到数据源并定义验证规则,而无需编写标记。这里的代码是声明性的:您描述屏幕应显示的内容,然后平台呈现它。
界面工作是无代码工具最出色的地方,因为重复的部分(分页、搜索、响应式布局、空状态)都会为您处理。代价是不寻常的布局或高度品牌化的设计可能会达到设计师组件集的极限。
第三层:逻辑
逻辑是“应用程序开发代码”变得字面意义的地方。计算、验证、批准路由、计划作业和状态转换都需要指令。平台以不同的方式表达这些:
- 公式字段 计算其他字段的值,在读取或写入时重新计算。
- 事件处理程序在创建、更新或删除记录时运行。
- 工作流程规则链接条件和操作,通常使用可视化构建器。
- 脚本语言处理上述无法表达的一切。
一条有用的经验法则:如果业务规则可以用一句话毫无例外地表述出来,那么可视化规则就可以处理它。如果它需要一个带有三个“除非”子句的段落,那么您需要一个脚本层。
第 4 层:集成
集成将您的应用程序连接到电子邮件、支付处理器、会计系统和其他数据库。大多数平台都为常见服务提供预构建的连接器,并为其他所有服务提供通用 HTTP 请求操作。身份验证(API 密钥、OAuth 令牌)通常由平台管理,这消除了真正繁琐的工作。
集成可靠性值得关注。连接器在凌晨 2 点无提示地失败比没有连接器更糟糕,因此请寻找重试逻辑、错误日志记录以及重播失败作业的方法。
代码实际所在的位置
低代码应用程序中的代码出现在四个位置,了解它们可以帮助您诚实地估计在线应用程序开发代码所涉及的工作量。
表达式和公式是最常见的。从行项目计算发票总额、应用折扣等级并四舍五入到小数点后两位的公式是真实的逻辑,即使在单行字段中输入也是如此。
事件脚本 在记录生命周期事件上运行。在 4D 中,这是其内置编程语言的领域,它可以附加到表单事件、触发器和方法。在基于浏览器的平台上,等效项通常是 JavaScript 片段或服务器端函数。
API 和 Webhook 有效负载是您在构建 JSON、映射字段和处理响应的意义上编写的代码。这就是集成工作变成编程的地方。
自定义组件和扩展是最深的层次:编写由平台调用的可重用小部件或服务器端函数。很少有公民开发者去那里,也很少有人需要去那里。
诚实的框架:无代码消除了编写 Web 服务器、登录系统或数据库驱动程序的需要。这并不能消除精确思考规则和数据的需要。精确度是真正的技能,它可以在平台之间转移。
如何选择平台:标准清单
平台选择是大多数项目成功或失败的关键,而营销页面很少有用。根据这些标准对候选人进行评分,并根据您的情况对他们进行加权。
| 标准 | 检查什么 | 为什么这很重要 |
|---|---|---|
| 数据模型深度 | 具有键和关系的关系表,还是平面列表? | 确定复杂数据是否仍易于管理 |
| 逻辑天花板 | 公式语言、事件处理程序、脚本逃生通道 | 设置必须在其他地方重建的点 |
| 集成选项 | 本机连接器、通用 HTTP、webhooks、身份验证处理 | 决定应用程序是连接还是隔离 |
| 数据便携性 | 记录的 API、CSV 导出、直接数据库访问 | 平台发生变化时你的退出路线 |
| 托管模式 | 供应商云、自托管或本地 | 合规和控制要求 |
| 定价模式 | 每个用户、每个记录、每个应用程序或固定费用 | 随着使用量增长的可预测性 |
| 学习曲线 | 非程序员发布第一个可用表单所需的时间 | 你的团队是否能够真正采用 |
对于小型团队的 IT 构建者来说,有两个标准值得额外重视。数据可移植性可以保护您免受供应商调整其产品或提高价格的影响。逻辑天花板决定了你本季度构建的应用明年是否仍然合适。
对于拥有现有关系数据且偏好自托管的团队来说,4D 占据了特定的利基市场:一个产品中的数据库引擎、表单设计器和编程语言,在垂直业务软件领域拥有悠久的历史。对于希望获得仅浏览器体验的在线应用程序开发且不需要管理服务器的团队来说,需要更少代码的托管平台(例如 Bubble 或 Airtable 风格的工具)更适合。两者都不是普遍正确的。
真实的构建顺序
从界面开始是初学者最常见的错误,因为它看起来像是进步。更好的顺序:
- 列出实体。 写下您的业务涉及的名称(客户、工作、发票、零件)以及它们之间的关系。
- 定义表和键。 为每个表分配主键并决定记录如何关联。在表单存在之前执行此操作。
- 为每个实体创建一个列表视图和详细表单。 使基本 CRUD 循环端到端工作。
- 添加值列表和验证。 与查找表相关的下拉列表可以防止源头出现错误数据,这比稍后清理它要便宜得多。
- 逻辑层。 添加计算,然后添加事件处理程序,然后添加工作流规则,单独测试每个层。
- 最后连接集成。 外部系统是最不可预测的部分;将它们添加到稳定的内核中更容易调试。
- 安排导出。 在拥有数千条不能留下的记录之前,请确认您可以将数据提取为可用的格式。
第一和第二阶段是数据库开发人员的直觉得到回报的阶段,公民开发人员从第二意见中受益最多。对绘图进行三十分钟的审查可以节省您数周的编辑时间。
常见错误以及如何避免它们
在表格之前构建表单。 重建表单的成本低廉;图表不是。顺序很重要。
将平台的默认设置视为要求。 默认字段类型、默认权限和默认命名约定是起点。回顾一下它们。
忽略权限模型。 谁可以看到哪些记录是设计决策,而不是最后配置的设置。尤其是行级安全性很难升级。
假设无代码意味着无需维护。 当集成发生变化、业务规则发生变化以及平台发布重大更改时,应用程序需要更新。为此预留预算。
跳过测试导出。 在第一周内运行完整导出。如果这产生了一些无法使用的东西,那么您已经了解了有关您的平台的最重要的事实,而采取行动的成本仍然很低。
资料来源和进一步阅读
- 移动应用程序开发 - 维基百科:移动应用程序开发是为一个或多个移动设备开发移动应用程序的行为或过程,其中可以包括个人数字助理 (PDA…
常见问题
我需要掌握编程才能在线构建应用程序吗?
不,对于一大类内部业务应用程序。无代码平台无需任何编程即可处理数据存储、表单和简单规则。您需要以结构化的、基于规则的术语进行思考,这是一项相关但不同的技能。当您的需求包括跨多个表的复杂计算或不寻常的集成时,脚本层就变得很有价值。
无代码和低代码有什么区别?
无代码的目标是使用可视化组件和简单的公式,构建一个完整的应用程序,无需构建者编写源代码。低代码提供了相同的可视化构建块,并为组件无法表达的需求提供了通往真实代码的出口。实际差异在于上限:低代码应用程序在需要迁移到传统堆栈之前可以进一步增长。
如果我切换平台,我可以导出我的应用程序和数据吗?
数据导出通常可以通过 CSV 或文档化的 API 进行,但应用程序逻辑很少迁移。表单布局、工作流程规则和公式存储为特定于平台的元数据。决定使用之前,请确认导出格式并进行测试。将数据视为可移植的,而将应用程序定义视为不可移植的。
构建一个可用的商业应用程序需要多长时间?
具有列表视图、详细表单和基本验证的单个实体应用程序可以在大多数平台上在一个下午内上线运行。具有关系、基于角色的权限和一两个集成的多表应用程序通常是一个为期数周的项目。复杂性来自于数据模型和规则,而不是屏幕的数量。
低代码对于业务数据来说足够安全吗?
安全性取决于平台的权限模型、托管安排和您自己的配置。信誉良好的供应商负责加密、身份验证和基础设施补丁。您的责任是行级访问规则、角色分配以及不通过集成公开数据。对于受监管的数据,请在开始之前检查供应商的合规性文档和托管选项。
如果我想以这种方式构建应用程序,我应该首先学习什么?
首先学习数据建模——表、键、关系和规范化。它是最难更改的一层,也是对其之上的所有内容影响最大的一层。界面构建和公式编写更容易逐步掌握。关系数据库的背景知识可以直接转移到您将遇到的每个低代码平台。
下一步去哪里
学习在线应用程序开发的最快方法是构建一个小型的、真实的应用程序(您或同事实际需要的东西)并经历所有四个阶段。从架构开始,实现列表和详细视图的功能,添加一项计算,然后连接一项外部服务。这次实践比任何对比文章带来的启发都多,因为它迫使您在自己的环境中面对权衡。
对于已经熟悉关系数据库的开发人员来说,探索一个同时提供可视化设计器和完整编程语言的平台(4D 是一个长期存在的例子)是了解配置结束和代码开始的有用练习。对于其他人来说,上面的标准表是起点:诚实地评价两个或三个候选平台,测试导出,然后选择上限高于您希望在两年内达到的水平的候选人。
Frequently asked questions
我需要知道如何编码才能在线构建应用程序吗?
不,对于一大类内部业务应用程序。无代码平台无需任何编程即可处理数据存储、表单和简单规则。您需要以结构化的、基于规则的术语进行思考,这是一项相关但不同的技能。当您的需求包括跨多个表的复杂计算或不寻常的集成时,脚本层就变得很有价值。
无代码和低代码有什么区别?
无代码的目标是使用可视化组件和简单的公式,构建一个完整的应用程序,无需构建者编写源代码。低代码提供了相同的可视化构建块,并为组件无法表达的需求提供了通往真实代码的逃生口。实际差异在于上限:低代码应用程序在需要迁移到传统堆栈之前可以进一步增长。
如果我切换平台,我可以导出我的应用程序和数据吗?
数据导出通常可以通过 CSV 或记录的 API 进行,但应用程序逻辑很少传输。表单布局、工作流程规则和公式存储为特定于平台的元数据。提交之前,请确认导出格式并进行测试。将数据视为可移植的,而将应用程序定义视为不可移植的。
构建一个可用的商业应用程序需要多长时间?
具有列表视图、详细表单和基本验证的单个实体应用程序可以在大多数平台上在一个下午内启动并运行。具有关系、基于角色的权限和一两个集成的多表应用程序通常是一个为期数周的项目。复杂性来自于数据模型和规则,而不是屏幕的数量。
低代码对于业务数据来说足够安全吗?
安全性取决于平台的权限模型、托管安排和您自己的配置。信誉良好的供应商负责加密、身份验证和基础设施修补。您的责任是行级访问规则、角色分配以及不通过集成公开数据。对于受监管的数据,请在开始之前检查供应商的合规性文档和托管选项。
如果我想以这种方式构建应用程序,我应该首先学习什么?
首先学习数据建模——表、键、关系和规范化。它是最难更改的一层,也是对其之上的所有内容影响最大的一层。界面构建和公式编写更容易逐步掌握。关系数据库的背景知识可以直接转移到您将遇到的每个低代码平台。下一步去哪里 学习在线应用程序开发代码的最快方法是构建一个小型的、真实的应用程序(您或同事实际需要的东西),并通过所有四个层来完成它。从架构开始,获取列表和详细视图,然后添加
Build Your First Base in Minutes
A spreadsheet-simple interface sitting on top of a real relational database, with automations, views, and shareable interfaces.