低代码缺少的五大组件
前段时间有个很有趣的话题,说程序员太难了,前有 AI 自动编程掀餐桌,后有 6 岁小孩抢饭碗。低代码让没有任何技术背景的普通人也能参与到编程中来,这无疑是对程序员行业的一个冲击!但是,低代码真的可以取代程序员的地位么?它就没有缺点么?……
低代码开发平台(Low Code Development Plat,LCDP)是无需编写代码或通过少量代码就可以快速生成应用程序的开发平台。由于采用了可视化的编程方式,因此开发人员无需掌握专业的编程技术。低代码开发平台的一个显著的特点是, 任何人都可以参与应用程序开发,无需任何技术背景。对于大型企业来讲,低代码开发平台还可以降低 IT 团队培训、技术部署的初始成本。
然而,低代码开发平台也有着其自身无法避免的局限性。本文总结了当前各大低代码开发平台缺少的、但对开发人员极其重要的五大组件。基于云的开发环境通常,软件开发人员通过本地的开发环境构建软件,然后再存储到基于云的 git 代码库中,比如 GitHub 等。在编写脚本的时候,我们通常会使用虚拟环境构建,包括代码、复杂的文件目录结构以及第三方依赖项。问题在于,为了将这些本地命令行的脚本转换为生产工具,我们还需要很多基本的工具,比如配置服务器、部署源代码、配置文件等。
此外,还需要考虑到健壮性,比如 CI/CD、单元测试等。大量此类的基础设施工作所需的时间,往往超过了核心的应用程序。因此,我们需要一个基于云的开发环境,我可以把它当成本地的主机,但是我的脚本可以无缝地转换成生产软件。然而,许多低代码或无代码开发平台的核心都是 JSON 解析实用程序。用户可以通过这些平台提取 JSON 数据(通过第三方 API),然后解析键值对,再传递给另一个 API 或接口。比如,从JSON数据中读取某个邮件地址,然后调用邮件发送服务 API。虽然这类的 JSON 解析服务非常方便,而且可以构建非常强大的自动化/接口。但是,围绕 JSON 解析构建的核心产品架构限制了可以通过低代码增强的应用程序类型。
为了解决这类问题,我们可以考虑将虚拟环境文件系统作为低代码开发平台的架构,可以读取、写入和删除任意的文件结构。在准备投入生产时,通过专用云服务上的核心平台引擎执行应用程序。事件触发器中的 JSON 数据可以作为导入变量传递到脚本中。此外,这个虚拟文件系统可以支持各种编程语言和现成的依赖项。虚拟环境是基于云的,并且可以作为跨各种设备和操作系统的统一运行时环境。即使在本地桌面系统做开发,环境也可以在云中运行,但是感觉与本地计算机没有区别。
最后,该虚拟环境还可以与第三方文件结构(例如 GitHub、S3、Dropbox 等)进行交互。在云服务器上运行的生产配置文件可以由该平台自动构建(而且还可以根据自定义的需求进行编辑),因此这个系统可以实现无缝衔接。以方便编程为主,避免仅提供拖放式编程在提到低代码时,大多数人都会想到可视化编程。尽管可视化编程也是一种低代码开发,但实际上软件开发的一切都是“低代码”,即通过高级的界面对低级代码进行抽象。例如,我们可以说 Python 编程语言是C语言的低代码抽象。换句话说,API 与可视化编程接口一样,都是低代码产品。这里的重点是,低代码和可视化编程之间应该有区别。这种区别引发了两个问题。
首先, 可视化编程是生产级脚本和工具的正确范例吗? 其次, 这些平台最有价值的功能是什么?
对于第一个问题,答案是可视化编程可以为软件开发提供帮助,但也有可能成为一种障碍。关于有帮助性的可视化界面,举一个例子,设置定时作业,以执行脚本或与简单的 API 交互。可视化编程最常见的用途,就是通过软件组件提供简单而又通用的功能,但是其背后有大量专门的代码支持。然而,强制整个平台都使用可视化编程,则最终会陷入困境。代码是最简单、最快速的表达想法的方法。例如,使用可视化程序构建布尔逻辑(例如 if/else 语句)很快就会变得一团混乱。作为开发人员,我更加愿意使用 Python 编写逻辑。可视化开发平台最有价值的功能是什么?
首先,最大的优势在于基于事件的内置触发机制(例如,当有新客户添加到数据库或 CRM 时)。通常,我们需要通过另一个系统(设置 Webhooks托管服务器)才能设置这类的触发系统。 其次,这些平台无需任何开发流程即可在云中无缝运行已构建的自动化功能。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们微信:Informat_5 处理,核实后本网站将在24小时内删除侵权内容。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系邮箱:hopper@cornerstone365.cn 处理,核实后本网站将在24小时内删除。