一、程序员对低代码的态度
低代码是一种近些年兴起的企业软件快速开发技术和工具。借助低代码使用者无需编码即可完成企业应用的常用功能,少量编码扩展出更多功能。低代码凭借低门槛、高效率和易集成等特性,被越来越多的软件开发团队青睐。
面对低代码的兴起,程序员们有几种不同的心态:
- 轻视:认为低代码技术不能登大雅之堂,只是给初学者使用的雕虫小技,解决不了复杂的技术问题;
- 恐惧:担心低代码会取代专业开发者,并淘汰大部分程序员的工作;
- 抵触:认为低代码平台是个黑盒子,很危险,有很多不稳定因素,未来的迭代升级无法保障;
- 失落:认为有了低代码开发工具,程序员再不需要掌握高深的技术,工作中已经失去了成就感。
研究低代码平台已有3年,通过了解,我想就低代码平台的发展谈一谈我个人的看法。
二、低代码的发展
低代码平台的代表企业包括国外的OutSystems、Mendix等,国内的企业有JNPF、ClickPaaS、瓴码、宜创科技、炎黄盈动、数式科技、轻流、搭搭云、黑帕云等低代码创业公司,以及APICloud、明道云等延伸或转型到低代码领域的创业公司,以及大型企业旗下的业务模块,如帆软的简道云、阿里的宜搭等。可以将低代码开发平台按照技术路径架构分为三类:
一类是基于表单/引擎驱动的模式,通过建立多张表单,使用流程串联,定义报表输出方式,构建表单类轻应用。该类模式的技术壁垒不高,主要支持开发表单类应用,场景有一定局限性。更适合简单短信项目,不适合长期的循环迭代产品的开发,尤其产品要面对多样性需求,必须具备高配置属性的时候。比如表格展示,同一个流程不同职位看到的表格都是一样,涉及到敏感信息不能区别展示,无法实现千人千面。
一类是基于aPaaS平台模式,包含多种具体的技术手段和路径,例如模型驱动、代码生成、可视化编程等,底层技术涉及云原生、元数据、多租户等。该类模式的技术壁垒较高,颗粒度更细,复杂度、灵活度更高,能够支持广泛场景的复杂应用开发,具备服务大客户和中小客户的能力。这类模式在面对复杂场景时,仍然需要编写逻辑代码。特别是在面向高并发应用场景,需要投入大量的后端软件开发。
还有一类是基于aPaaS+iPaaS平台模式,这类低代码平台不但具备可视化模型驱动、代码编译自动生成,无论前端组件还是后端业务逻辑都能细粒度搭建,实现高度复杂、高度灵活的应用场景。这类平台的iPaaS部分属于领域驱动的设计模式,其核心概念:域、子域、领域实体、值对象、领域服务、领域事件等是天然的图形化解决复杂问题的表达模式,面对任何复杂应用场景都能支撑aPaaS的可视化搭建,并能可视化集成各种业务应用,适应任何高并发的应用场景。
三、如何选择适合自己的低代码平台?
每种低代码平台都有其存在的价值,第一类平台虽然使用范围较窄,程序员们也不要对其嗤之以鼻的轻视,这种平台特别适合不懂软件的业务实施人员使用,能够快速响应业务简单调整的个性化需求;
对于复杂业务场景的应用实现,虽然第二类平台可以通过可视化搭建大部分功能,很多数值模型、业务流程模型的搭建仍然离不开专业程序员逻辑抽象能力,特别是很多复杂算法逻辑、以及后端系统架构的搭建还是要使用到源代码实现。
即使是第三类平台能够完全抛开源代码通过图形化搭建任何复杂应用,同样道理,开发人员必须有面向对象的逻辑思维,以图形化的形式去构建领域实体、值对象、领域服务、领域事件,通过连线去建立这些要素的逻辑关系。
这边介绍一款第二类平台的低代码平台——JNPF快速开发平台。JNPF平台提供全源码,这一特性意味着你可以自由进行二次开发,采用的是最新主流前后分离框架(SpringBoot+Mybatis-plus+Ant-Design+Vue3),完善了平台的扩增基础,满足了系统快速开发、灵活拓展、无缝集成和高性能应用等综合能力。 应用官网:https://www.jnpfsoft.com/?csdn
基于图形化拖拽、参数化配置等更为高效的方式,实现快速构建、数据编排、连接生态、中台服务等。通过少量代码或不用代码实现数字化转型中的场景应用创新。JNPF能缓解甚至解决庞大的市场需求与传统的开发生产力引发的供需关系矛盾问题,是数字化转型过程中降本增效趋势下的产物。
为程序解决一下几个核心问题:
1、提供了大量常用标准组件和函数;
2、以图形化方式替代了原先的计算逻辑;
3、以图形化方式建立各种数据模型;
4、以图形化方式建立各种业务对象;
5、以图形化方式实现了界面的布局;
6、以有向连线的方式为计算逻辑和业务对象建立关联;
7、实现基本语法逻辑的自动识别。
从而把程序员从代码式的逻辑中解放出来,以图形化更直观的方式展示所有图灵完备的机制。还能自动识别大部分语法逻辑,减少BUG数量。并通过组件标准接口的定义提高组件复用的效率。让软件开发效率有一个革命性的提高。所以,完全不必担心程序员的工作会被淘汰,低代码只是专业开发者手边更趁手、更高效的工具罢了。
四、结语
开始使用低代码工具,乘着软件开发技术的发展趋势,从更高效率的在开发中获益吧。