LowCode 窥探

2917b6451fa3aaf954d4667e13fbbde5.png

前言

本文是笔者在团队内部做分享整理的资料的一部分,本次分享主要是站在一个服务端开发的视角对(前端)低代码平台的一些调研,已经剔除了一些敏感数据和信息,可放心食用。

太阳底下无新事

Dreamweaver -> Low-Code

cdb00903e15b66ab7986edae88a74b26.png

将时钟拨回到 20 年前,那个时候的开发者对于 html/css/js 还处在望而生畏的阶段,Dreamweaver 的出现仿佛让他们看见了曙光。通过简单的拖拽就可以实时预览编排的页面,点击按钮就可以自动生成对应的前端代码,配置好机器信息就可以一键部署访问…… 这些特性让无数开发者趋之若鹜,然后现在他的境况

572802553fa65e503c509ade6e7d249c.png

现如今,Dreamweaver 几乎已经退出了历史舞台,但 Low-Code 似乎又有卷土重来的迹象……

Low-Code 是什么?

A low-code development platform (LCDP) is software that provides a development environment used to create application software through graphical user interfaces and configuration instead of traditional hand-coded computer programming.

一句话概括就是 👉 用 GUI+配置取代传统手工编码 技术上,实现低代码平台的关键要素是模型驱动设计、代码自动生成和可视化编程,通过这些手段来隐藏下层的代码细节。

f8c5b168b731b90a885f4ec36c35c25d.jpeg

更激进的—— No-Code(零代码)

Low-Code 更激进的演进方向是 No-Code,主要的差异点如下:

  • 平台用户:任何业务人员都能使用无代码平台,而低代码平台面向开发者(尽管专业要求不那么高)

  • 核心设计:无代码平台倾向于让用户通过拖拽或简单的表达式来操纵完成应用设计,而低代码平台更倾向于通过人工编码来指定应用程序的核心结构

  • 用户界面:无代码平台为了简化应用设计,一般只支持内置的 UI 库,而低代码平台可能会提供更灵活的 UI 选项,但代价是需要额外编码,使用上的复杂性有所增加

为什么目前低代码只在前端领域很火?

被资源化的前端开发者

工作量大,重复性工作较多,因此生产效率成为了必须要解决的问题。

最好的解决办法是通过工具化、自动化的方式提高生产效率,突破前端资源瓶颈

前端的技术体系足够开放

相较于 Native/服务端,前端的技术体系更开放,前端 low-code 产物都能应用到现有的任何前端应用程序中

前端的应用体系更加工程化

吃饱了才有力气减肥,只有解决了温饱问题,才能转而追求更高的生产效率。

现阶段,前端的工程化愈发成熟 👉 CLI -> GUI 客户端 -> Web IDE 工程化带来的好处是,编码层面的效率提升已经达到极致,更进一步的生产效率提升需要变革式的突破。

现在的 Low-Code 和 20 年前的 Dreamweaver 有什么区别?

单从表面上看,可视化地自动生成一些代码确实没有太大区别,内在的实质性差异在于:

  • 目标场景不同:Dreamweaver 更多地聚焦前端开发场景,而在 low-code 开发平台中,前端只是完整应用程序的一部分,服务端数据、路由、逻辑流程等都需要考虑在内

  • 可视化操作粒度不同:现代 low-code 平台通常有组件、区块、页面、模板等多级复用抽象,Dreamweaver 只面向 HTML 原生标签

  • 工程链路完备程度不同:Dreamweaver 仅覆盖到开发、预览、部署(FTP 上传)环节,而现代 low-code 平台大多涵盖了完整的生命周期,包括发布前的调试、测试,发布后的监控运维等各个环节

随着前端工程体系的一路演进,现代的 low-code 平台充分考虑了模块复用、生态接壤、前后端联动、工程管理等重要因素,在成熟度和开发效率方面相比 Dreamweaver 都有了质的飞跃。

阿里巴巴低代码引擎(ALCE)

考虑到数据安全,这一部分在原文基础上做了较多改动,基于集团已经开源的信息做介绍,详情可跳转至官网地址 👉https://lowcode-engine.cn

低代码平台的底层是低代码引擎,引擎核心在于灵活对接丰富的高质量物料,结合一个优雅、高效的编排引擎,让一个泛技术线的同学用所见即所得的方式,完成页面的搭建、部署,完成快速自交付的闭环,达成预期目标。

a2b4e0e4ef61cc5f04981aedfcb40234.png

其中引擎 SDK,包含 4 个主要模块,即入料、编排、渲染、出码

  • 入料:将物料,按照《低代码引擎物料协议规范》进行元数据描述后,导入到设计器中,成为一个可被编排的物料;

  • 编排:将设计器中的所有物料,进行布局设置、组件设置(CRUD)、交互设置(JS 编写/逻辑编排)后,形成符合业务诉求的 schema 描述,此 schema 遵循 《低代码引擎搭建协议规范》;

  • 渲染:将编排得到的 schema 渲染成可交互的页面;

  • 出码:将编排得到的 schema 转成真实的代码结构,比如 Recore / Ice / Remax / Umi 等应用框架结构;

体验低代码开发后的感受

黑盒开发

1c37b49f9a57d038d16d2d56bab75afa.jpeg

因为屏蔽了一些代码,接手的人不知道为什么这个组件在这里,为什么会有这样的效果。心路历程基本如下 👇

😄 我写了一段代码,只有我和编译器/解释器看得懂。

🤔 过了一段时间,就只有编译器/解释器看得懂了。

😈 我用低代码平台拖了一些"控件",最后我发现只有浏览器看得懂。

学习成本并不低

  • 需要有一定的前端知识(话说现在会 React 这类框架基本已经是必备要求了吧)然而问题是,有这些能力的基本上也可以开发一个简单的页面了

  • 文档不够详细,经常需要提 issue 或者问人

  • 第三方组件与生态并不完善

迭代效率提升不明显

4c3e35ef9649aa2d705190e2eb360d33.jpeg

虽然在画页面、适配样式等方面,低代码平台有非常大的优势,但由于学习成本、黑盒开发等原因,导致在开发时问题的排查效率低下,开发的幸福感大打折扣。

如果官方提供的组件库不满足业务需要时,开发自定义组件/使用第三方组件的成本和手动编写代码相差无几。

对低代码平台的一些思考

服务端编写前端代码的痛点是什么?

98d355c2ff38b668bc6ccace4fe4702c.jpeg

  • 前端技术栈多&杂,不知道学习哪一个

  • 重复性多做较多,布局难适配,css 编写头疼

上面两个问题,低代码平台可以解决,但是现有的前端技术也可以解决

可视化编程的效率一定比写代码效率高?

编程本质上是一种表达,它的工具应该越来越易于思考,易于理解。也许可视化编程是大势所趋,就像机器语言必然被汇编语言取代,汇编语言必然被高级语言取代,但是现阶段的可视化编程的发展还需要更进一步。

d84460f064ff06d7a7dd3f0e906788e3.png

2ec1c2ef9259173d06e0af67f76d7553.png

哪些实际的业务场景更适合使用低代码平台?

低代码的主旨在于需求简化 + 角色合并,通过预制件的形式,最大可能减少参与整个研发流程中的各类角色,一般经常合并的角色有:产品合并设计,后端合并前端。

对于一些只读的,不涉及系统状态变化的,页面/表单数量较少,组件自定义需求较低的场景,例如 trace 工具、开发类的小工具等,很适合使用低代码平台开发。

而在业务初期,人力紧缺,业务需求并不十分复杂的情况下,低代码平台也可承担一些中后台页面的搭建,但随着时间的推移,定制化需求越来越多后,总归是需要回归到 ProCode 的开发模式,前期使用低代码节省的时间后期都会在架构迁移的时候还回来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LowCode 大模型指的是使用LowCode平台来开发和管理大规模应用程序的方法。LowCode平台是一种软件开发工具,可以快速构建应用程序,无需进行全面的编码和开发。通过使用LowCode平台,开发人员可以通过拖放和配置等直观方式创建应用程序,而无需进行复杂的编程工作。 在一个大型项目中,使用LowCode的主要好处之一是加快了开发速度。由于LowCode平台提供了可重用的组件和预构建的函数库,开发人员可以更轻松地构建功能丰富的应用程序。此外,LowCode平台还提供了模板和自动化工具,使得开发过程更加高效和快速。 另一个优势是LowCode平台提供了更好的可维护性和可扩展性。由于应用程序是通过拖放和配置方式构建的,所以更容易进行修改和更新。这对于大型项目来说非常重要,因为往往需要频繁地进行功能和需求的调整。 此外,LowCode平台还支持可视化建模和自动化测试等功能,可以帮助团队更好地理解和管理整个应用程序。团队成员可以通过可视化界面来进行开发和协作,减少了沟通和理解上的困难。 尽管LowCode大模型具有很多优势,但也存在一些限制。由于LowCode平台是通过拖放和配置方式来开发应用程序,所以对于某些复杂的业务逻辑和定制需求可能会有一定的限制。此外,对于底层代码的扩展和调优也比较困难。 总的来说,LowCode大模型是一种通过使用LowCode平台来快速构建和管理大规模应用程序的方法。它提供了快速开发速度、易于维护和可扩展等优势,但也存在一些限制。在实际应用中,需要根据具体项目需求权衡其优势和限制,选择合适的开发方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值