当前位置: 首页 > Web前端 > HTML

低代码真的是“行业毒瘤”吗?

时间:2023-04-03 00:57:13 HTML

放屁,现在程序员都不用低代码工具了,你以为低代码的概念是最近才有的吗?放个屁你懂的,低代码一直是高效的生产力工具;这是我看到这篇文章的第一反应,标题是《“行业毒瘤”低代码》;好吧,平复一下激动,在开始之前,考虑一些可能对低代码开发不太了解的朋友。先介绍一下什么是“低代码开发”的概念;建议开发者主要通过图形用户界面和配置来创建应用软件,而不是像传统模式那样主要依赖手写代码。相应地,提供给开发者实现这种低代码开发功能的软件称为低代码开发平台(Low-CodeDevelopmentPlatform,LCDP)。低代码开发模式下的开发者通常不需要非常专业的编码技能,或者不需要特定领域的编码技能,但可以利用平台的功能和约束来实现专业代码的输出。从定义中我们可以看出,低代码开发的工作方式主要是依靠操作图形用户界面,包括控件的拖拽、修改可编辑区域的配置等。这种可视化开发方式可以追溯到更早的Dreamwaver时期。随着前端项目越来越复杂,这种方式已经不适合现代项目的需求,所以逐渐被更专业的工程开发模式所取代。然而,快速生成项目代码的需求从未消失。人们逐渐找到了两种方式来实现这一目标:一种是在基于经验总结的高度定制化场景中,寻找相对固定的产品形态,如公司介绍、产品列表、活动页面等,并少量开放。编辑入口,让非专业的开发者也能使用,这其实是一种无代码的方法。另一种类型则相反。沿袭早期的可视化开发思路,尝试以组件化和数据绑定为基础,使用抽象语法或IDE来实现自由度更高、交互复杂度上限更高的页面构建过程。这种项目开发方式通常需要一定的开发经验和编码能力,但与普通的编码开发方式相比,更可能通过操作可视化工具来提高整体效率,因此被称为低代码开发。在实际场景中,尤其是商业化的低代码平台产品,往往会提供以上两种开发方式的组合。低代码开发的典型应用场景低代码开发的典型应用场景是在PC端的中后台系统的开发过程中。原因如下:1:虽然中后台系统的具体页面布局不固定,但整体UI风格比较统一,可以基于统一的UI组件库构建,可以灵活组织通过组件拖拽组合成不同形态和功能的页面,适用于低代码开发模式。2:中后台系统涉及到数据的增删改查,需要一定的编码和调试能力,无法直接通过UI交互完成,因此无代码开发模式不适用。以中后台系统开发为目标,低代码开发方式又可以分为以下两种:基于编写JSON的开发方式,以及基于可视化运行平台的开发方式。下面我们依次介绍一下。基于编写JSON的低代码开发当我们审视一个项目的前端部分的最终呈现时,我们可以发现:1:一个项目的前端部分本质上是呈现通过路由连接的不同页面。前端开发的目标是最终输出页面的展示和交互功能。2:如果学过浏览器的基本原理,就会知道:浏览器中每个页面的内容最终归结为DOM语法树(DOMTree)+样式(Style)+动态交互逻辑(DynamicLogic)。3:在当今基于组件的开发中,一个规范定义的组件包含一个具有特定功能的DOM子树和样式。因此,页面的内容可以定义为:组件树+动态逻辑。基于JSON-Schema的低代码开发的入口逻辑是:在特定场景下,比如开发中在后台增删改查页面等,大部分前端手工编写的代码都是花样化的。页面组件结构模板的代码组织和对应的数据模型可以用更高效的JSON语法树描述来代替。通过制定JSON语法模式(JSONSchema)编写封装能够渲染相应JSON语法树的运行时工具集,可以提高开发效率,降低开发技术要求。下图中的代码是组件语法树的示例。我们写一个简单的JSON语法树和对应的编译器来展示写JSON开发的不足。另一方面,这种方式也有一些缺点:输入效率:单从组件结构的描述来看,使用JSON描述的代码量比同结构的JSX语法要多。对于有经验的前端开发者来说,他们通常第一时间感受不到效率的提升。学习记忆成本:由于引入了新的JSON语法架构,无论是前端开发人员、后端开发人员还是非专业人员,上手的学习成本都是不可避免的。另外,不同的组件有不同的属性,在实际编写过程中灵活运用内存大小也是一个考验。反复查阅文档会导致效率下降(针对这个问题,一个优化方案是使用IDESnippets的option功能生成相应的语法提示)。复用性和可维护性:在多个页面存在可复用业务组件的情况下,往往需要以JSON编写的方式,手动复制到每个页面的JSON中,牺牲了可复用组件的可维护性。此外,对于功能复杂的页面,相应的JSON长度也会让维护体验变得不那么愉快。排查难度加大:这个问题涉及到人。如果非专业人士从事JSON开发过程,遇到问题时,可能会在如何排查问题上遇到阻碍。因此,通常需要额外的专业人员提供技术支持。针对JSON编写过程中的输入效率、内存开销、可维护性等问题,很多低代码工具进一步提供了可视化运营平台的工作方式。接下来,让我们了解一下这种方法是如何解决上述问题的。可视化运营平台低代码开发可视化低代码运营平台将编写JSON的过程变成拖拽组件和调试属性配置,如下图所示。这种交互方式对用户来说更加直观友好,开发效率也会提高的更高。大部分可视化操作平台将界面布局分为三个区域:左边的组件选择区,中间的预览交互区,右边的属性编辑区。这三个区域的排列对应了用户生成页面的操作流程:首先在左侧面板中选择组件。然后,拖入中间的预览区域并将其放置在合适的容器块中。最后,在右侧面板中调试新移动的组件属性。调试完成后,进行下一个组件的循环操作,直至整个页面搭建完成。低代码开发产品很多,既有商业产品,如Kony、OutSystems、Mendix、Appian、iVX(国产)等,也有开源产品,如阿里飞冰、百度Amis、壳牌河图、vvvebjs、react-visual-editor等,这里就不一一介绍了。如果您有兴趣,可以搜索更多信息。最后,低代码真的不是这个行业的毒瘤。多年来它一直在发展。很多人担心低代码会让程序员丢饭碗,所以对它持批评态度。我严重怀疑这样的人只能搞外包做企业官网,因为Low-code真的可以防止你作弊丢饭碗。另外后端运维有Serverless。为什么前端不能低代码,不提升技术能力?担心废话,说白了,程序员这个行业本身就是一个技术活,就像早年的木匠和铁匠一样,必然会被成熟的工业化所取代。如果编程行业几十年都需要大量的劳动力,那真的会停止,就像现在一样。十年前,你可以写一些HTML+CSS来申请前端开发。完全没有问题。现在如果你只知道这些,你会被饿死的。什么脚手架工具、框架代码不就是低代码的体现吗??现在,拥抱变化,拥抱发展,提升技术能力才是正道,做淘汰程序员的程序员,直到有一天世界上没有程序员,才是程序员最大的胜利;晚安,42...