低代码和无代码的演进历程、应用范围
低代码和无代码技术的演进发展
整个软件开发的演进路径大致可以分为四个阶段:第一代程序设计语言;第二代是汇编语言;第三代是现在常见的高级语言,比如 Python、Java 等;第四代就是低代码和无代码技术。低代码、无代码并非完全新鲜的事物,它更像是一个行业自然而然发展到一定阶段而催生出来的观念。
从前端视角来说,技术的发展演进让研发流程不断简化。最初,一个网页的开发需要手写 HTML,CSS,甚至 DOM 节点也需要去操作。“库”的出现,让一些基本的DOM结构可以直接操作。
后来,“框架”帮助我们进入了开发工程化时代,出现了像Webpack rowup这样公众化打包工具,进一步缩短了研发时间。再之后就是低代码、无代码平台,将一些基础的代码模块封装成一个个“轮子”,人们可以直接用这些轮子快速开发落地,大大提高了开发效率。
但低代码和无代码技术在初期并没有受到市场上的普遍认可。至2018年,Gartner 提出 aPaaS,低代码/无代码才被越来越多的人认识。
2020年,疫情为低代码、无代码的发展按下了加速键。在疫情形势的逼迫下,企业进行线上化和数字化转型的需求尤为迫切,但传统的软件开发从需求提出到最终落地,需要经历非常长的周期,而利用低代码、无代码工具,则能快速地完成软件的落地和验证,在完美满足企业需求的同时,让低代码、无代码真正能够在数字化领域快速增长。
低代码和无代码技术的应用范围
从字面理解,低代码和无代码之间最大的区别在于使用代码量的多少。这个区分点也让低代码和无代码的应用范围有不同的偏向。
技术侧——布局方式灵活,多终端覆盖
低代码主要面对的对象是专业的 IT 开发者,因此使用过程中与研发人员有比较深的互动,应用范围较于无代码也更偏向技术侧一些。
从UI布局架构上来说,主要有两种布局范围:
第一种是流式布局,即在低代码的开发编排过程中,按照一定的顺序,由固定的表单组成,排列布局都较为规整,这种方式比较多的应用在内部管理系统的开发上。
第二种布局方式是绝对定位的方式。在这种布局方式下,图片文字或是一些垂直领域的业务级控件是可以自由调动的,层级上可以有覆盖,位置也可以随意摆放。比较多的应用在运营活动的场景中。比如,传统的 H5 营销活动一般采用的就是这种方式。
通过低代码和无代码技术开发出的系统软件最终还是要部署和运行在各个终端上。从终端来说,低代码主要覆盖以下五类:
- 第一类:小程序。比如微信小程序、支付宝小程序等;
- 第二类:web,包括PC端和移动端;
- 第三类:移动 App。包括 iOS 和安卓两大平台;
- 第四类:桌面端的应用程序,包括 Windows 和 Mac 两个主流桌面端;
- 第五类:逻辑编排。提供后端接口服务。
低代码和无代码在技术侧的应用范围是相对全面的,因此也更能满足应用者对于低代码和无代码在业务侧的需求。
业务侧——满足企业个性化需求,助力多角色协同开发
提到低代码和无代码的业务应用范围,很多人会自然联想到企业数字化转型所需要的系统软件。的确,低代码和无代码因为其低门槛、灵活易用的特性颇受企业管理者的欢迎。相较于低代码,无代码的应用范围更倾向于业务侧。
从横向行业角度来说,无代码的开放包容特性,让它能够跨越多行业场景,适用范围非常广,但它的应用同样需要过程。以轻流无代码开发平台为例,制造业是轻流最早开拓的行业,通过无代码平台快速搭建出适配行业业务特点的系统软件,为制造业企业服务。等到应用路径成熟之后,再慢慢将这种无代码工具的观念思维延伸至各个行业。在这个过程中可以发现,不管是传统制造业还是教培、新零售对于无代码的接受度都比较高。
从纵向场景角度来说,无代码价值最高的地方,不在那些已经被成熟 SaaS 覆盖的场景,如ERP、CRM等,而在于非标场景,比如精益生产、设备巡检,这类虽然通用,但不同企业,不同业务都有所区别的场景。市面上的成品 SaaS 不能满足企业的个性化需求,但借助无代码工具,能够根据企业需求灵活调整,实现完美适配。
作为 IT 技术的一种,无代码技术通过「圆桌式开发」的协同方式能更好地赋能业务,让无代码在实际的业务场景中发挥效用。
图片来源:轻流
传统开发的一般模式是业务提需求,IT 接收需求后进行开发,开发完成后交付业务。整个协作过程类似于坐在长桌两头的甲乙两方,不仅开发落地的周期长,沟通成本也十分高昂。但利用无代码工具,业务、IT、数据分析师、架构师等多方角色可以围坐在一张“圆桌”上,参与方都可以用一种平等互助的方式,快速沟通需求,协作产出成果,不仅大大提高了软件开发的效率,也让每一方角色更能实现专业价值。
低代码/无代码是否要开源?
开源是生态协作发展的一种很好的形式,“低代码和无代码产品是否会开源”的话题,也是行业内外非常关注的问题。从低代码的角度来说,想要开源需要有四个板块的基础:
低代码——开源项目必备四大模块:
首先,要有开源项目。开源项目是做开源比较核心的一点,有代码,有项目才有条件去开源。对于低代码而言,如果没有开源代码,那整个一块是没有意义的。
第二,要有载体。不管是官网、公众号还是像github这样的托管平台,都是开源载体。
第三,要有开发者。主要分两类:一类是开源的贡献者,一个开源项目的贡献者数量越庞大,这个项目才能发展得越好,越活跃。另外一类是用户开发者,他们是维系、促进整个开源生态的繁荣和进步的关键。
第四,要有关于开源,关于项目的交流社区。社区可以为开发者提供了技术上的或者是产品上的探讨平台。开发者可以在社区自由讨论对相关技术和相关的功能能力,也可以自由组织相关的技术沙龙活动等等。
在这四个板块的基础上,才能让整个低代码开源生态繁荣起来。
无代码是否要进行开源?
无代码系统一定不能是封闭的系统,它更应该与其他系统做好连接和交互,打通传统代码开发制造的“数据烟囱”。
伪开源无代码产品无法维护,当厂商进行代码更新后,会产生代码一致性问题,导致代码差异冲突,造成不可逆后果。但无代码产品的接口能力和API能力需要重点关注,所以,在无代码产品上实现的二次开发非常类似“插座”和“积木”,把二次开发定义的代码块,同API和无代码产品进行交互。
