低代码与程序员:何去何从?—— 以inBuilder x UBML 为引例

之前提到过很多次低代码,这次我们来正式讨论一下低代码这个问题。

低代码,顾名思义,就是能少写代码就少写代码,以较少的代码调整量与大量模块化模板调整从而达成在较少时间内交付出较为完善的应用程序。

可以这么说,低代码和模块化、可视化等关键词联系紧密,通过对预置模板的“拖拉拽”等方式达成项目的搭建。

现在的低代码主要都是在讲述业务等办公领域的应用,但要真正讨论起来,计算机本身发展的过程就是追求轻量化代码的过程,从机器语言到汇编语言,再到C++,Python等高级语言,之后对于这些高级语言,有越来越多的类库加入,比如C++的STL库,方便了程序员的代码书写与理解;之后就是基于这些语言的开发软件,这些开发软件会预先提供部分模块(比如Unity的AR Foundation模块就是为了开发增强现实项目而准备的基础模块,当引用这一模块时,可以直接使用预设脚本导入到物体上,无需进入代码修改只需在Unity设计界面中对部分参数、引用做出可视化调整即可),通过这些模块,使得开发的过程能少写一些内容并对模块有清晰的了解,除去上面举例的Unity之外,还有很多初学者甚至几乎没有代码基础的人青睐的软件——RPG Maker系列,如果说Unity虽然方便了项目开发,但还是需要理解并写大量C#脚本来构建项目,那么基于JS或Ruby的RPG Maker系列可以说如果只是简单开发,几乎不需要任何代码就能编写经典的rpg游戏出来,尽管范围只局限在游戏开发中。这也是最为贴近低代码开发的一个例子。这些东西的研发历史都是早于低代码这一概念的正式提出的。

2014年,Forrester首次定义“Low-Code Development Platforms”,即低代码开发平台,在其发布的研究报告《New Development Platforms Emerge For Customer-Facing Applications》中,Forrester将低代码开发平台定义为:"通过可视化编程和模型驱动逻辑,实现快速应用开发的平台,同时支持专业开发者和普通业务用户共同参与开发过程。"报告中详细阐述了低代码平台存在的几个关键特征:

  1. 可视化开发界面:主要通过拖拽组件和配置参数的方式构建应用,大幅减少传统代码编写量
  2. 模型驱动开发:采用声明式编程范式,开发者通过定义业务逻辑模型而非编写具体代码
  3. 自动化功能:包括自动生成代码、自动测试、一键部署等能力
  4. 多角色协作:支持专业开发者和业务人员在同一平台上协作

中国的低代码平台大致就是从这个时期开始萌芽,这一时期国内互联网行业蓬勃发展,传统企业数字化转型需求激增,同时移动互联网普及带来对快速开发工具的需求,涌现出了很多本土低代码平台,比如氚云、简道云、阿里云·宜搭等等,然后在疫情期间瞬间爆发需求与发展,最后进入平稳的发展期。

计算机学习的过程中我们应该会学习到一个不同于编程语言的语言——UML,即统一建模语言,是一种用于软件系统分析和设计的可视化建模语言,它通过标准化的图形符号来帮助开发者更清晰地表达软件系统的架构、行为和逻辑结构,包括用例图,类图,时序图,活动图等。其不直接用于编写可执行代码,而是作为沟通工具帮助开发团队在项目前期达成共识。但事实上由于UML和实际代码的分离性,学生们对于UML的想象可能就止步于作业和考试要你画的一堆图中,在实际写前后端代码时根本不会去画图而是直奔着Controller之类的东西就开始框框写,即使考虑到了,但又可能因为精力有限,UML图考虑不周全,当发现需要增加什么用例或类时,带来的修改量也是较大的;对于开发者来说也有可能存在着这些问题。

UBML,即统一商务建模语言,相比之前提到的UML,最大的区别就在于和实际代码的联系,UML不依赖于具体代码实现,是面向传统软件的开发,提供系统分析、设计的通用建模工具,使用效果因人而异,对于缺乏项目管理经验的人来讲,用起来就会比较麻烦,而UBML则是专门为低代码平台设计的,强调业务逻辑与应用开发的直接映射的建模语言,目标是通过模型驱动开发快速生成企业级应用(如ERP、OA),当你理清建模时,一个程序可能随之而来的就做好了(这主要是因为其核心模型在于业务实体、流程、界面、规则,当你在低代码平台对模块“拖拉拽”时,你也在理清模块之间的关系)。同时由于UBML是由中国机构推动且目前运用在国内生态中的,其语法,图形等是为国内项目习惯定制的,便于国人理解与使用。

inBuilder作为承载UBML的低代码平台,负责了从建模到实现的关键步骤,当你在UBML层面把业务流程、数据结构、页面逻辑等模型都拖拉拽好,之后inBuilder就会为你准备好相应的数据库、后端接口、前端页面、审批流程等,根据这些模型与inBuilder的准备,就能生成一套可运行的系统。

从我之前对inBuilder和UBML的应用来看,确实可以不依靠写代码,在搭好环境的前提下就能简单满足业务需求,并且在这种条理性的步骤中理解这些业务的相互关系。对于学生群体来说,在已有前后端学习经验的基础上,快速上手UBML+inBuilder,既能搭建完整系统,又能锻炼逻辑思维与建模能力,为以后的项目构筑打好基础;对于独立开发者来说,无需团队支持,一人即可完成从建模到系统开发的全流程,省去了前后端协作成本;对于企业IT人员来说,可以高效开发内部系统(如审批流、信息管理),贴合低代码模式,缩短交付周期;对于业务/产品人员来说,可以直接参与业务建模,用可视化工具沟通需求,减少传统开发中的设计等待环节。

有人担忧低代码平台会剥夺程序员的生存空间,似乎有可能,但可能性又不是很大。目前的低代码平台并非智能,很多都仅仅能满足基本需求,即使结合了当今的AI来看,还是无法解决这个问题,当场景变得复杂的时候,你还是要写代码,而且可能要付出更高的代价。低代码的出现,一方面确实可以让程序员少写代码,从而将精力放到更艰难的开发维护等方面,但其作用不止于此,更多的一方面是其还原了业务开发的全过程——从需求到实现,能让程序员更多的去审视自己的开发过程,了解系统模块,数据流动,用户行为与流程的相互作用等问题,使开发代码的书写代价进一步降低。而开源的低代码平台更是可以让你体会到你所设计的项目与其背后的代码之间的联系,为后续可能存在的项目模块扩展建立基础。

低代码降低了普通人的开发门槛,却也为程序员提出了更高的要求。未来的开发之路,设计模型远远比埋头写代码重要,在系统各模块统一表达的平台中,程序员更应该具有建模思想。

最后,作为inBuilder社区开发贡献人员之一,欢迎大家为低代码平台做出贡献,搭建更多通用的模块,助力开源社区发展(^_^),也欢迎有兴趣的人前来尝试低代码的乐趣。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值