什么是零代码?无代码开发平台真的更好吗?

这几年很火的一个概念叫低代码 ( Low Code Development ) 开发,用少量的代码就能开发复杂的业务系统。然后更进一步,由此又催生出一个新的概念:零代码开发 ( No Code Development )。

零代码开发是新技术吗?

其实零代码开发并非什么新鲜的概念。2000年左右就非常普遍。大家还记得水晶报表 ( Crystal Report ) 吗?不需要依赖开发人员,使用图形化的工具就能绘制报表。还有 Lotus Notes,可以在界面上配置数据表单,并且通过邮件的方式发送到各个部门填写。还有BPM软件(审批王、K2等),无需开发人员介入,使用图形化的方式就能配置表单与流程,实现业务流程的数字化。还有自助建站系统,选一个模版,画几个网页,就能生成一个高大上网站。然而这些都是20年前就存在的技术,零代码只是一个新头衔。

零代码开发平台可以做什么?

从应用范围上来说,零代码开发目前能做的和20年前差不多,还是局限于细节的开发领域。这些开发可以总结出共性,可以标准化,可以设计出图形化的界面给最终用户使用,因此能大幅提升效率。

目前的零代码开发平台主要有三类,界面设计类、表单流程类、数据管理类。

第一类是界面设计类,通过拖动的方式绘制用户界面。思路与传统的自助建站系统雷同,只是现在进行了扩展,不只是开发网页,还能与后台的业务数据交互。不仅能绘制电脑端的界面,还能设计手机端的样式。典型的厂商有 微软的 PowerApps,被西门子收购的Mendix,以及获得大笔融资的Outsystems 。

第二类是表单流程类,这一类工具谈不上新技术,基本上就是BPM厂商在炒作,还是20年前那一套图形化的流程设计、表单设计工具,换汤不换药。这一类工具只实现了审批的过程管理,流程结束,管理就结束了。

第三类是数据管理类,这一类工具最早的实现方式其实是Excel,可以设定很多字段,可以把数据录入进去然后进行统计。随着应用的深入,为了实现共享编辑,Google发明了云端的Excel,可以多人同时编辑,可有追踪每个人的修改痕迹。但Excel不能定义字段类型,不能做输入校验,不能控制权限,于是 Salesforce 发明了云端数据库的模式,可以在线创建数据表,设定字段,并融入了第一类和第二类开发工具的界面设计、流程设计的功能,打造了一套云端开发管理系统的新模式,也因此迅速红遍全球,成了最热门的管理软件开发工具。

既然零代码开发这么美丽,为什么还需要低代码开发平台呢?

前面Salesforce的故事只说了一半,零代码只是开发的第一步。我们都知道Excel可以配置公式,实现数据计算,并提供了数百个公式,可以实现很多很复杂的功能,这就是一种最基本的低代码。这些公式,给简单的Excel文档带来了更大的价值,说的高大上一点,也算是一种人工智能。

系统开发也一样,你不可能只是简单的录入和查看数据,为了让系统更智能,你必须要做很多计算。比如对于一套物品领用的管理系统,你需要实时扣减库存;对于一套会议室预约的系统,你需要计算会议室是否被占用;对于一套请假系统,你需要计算员工的年假还剩几天,还能不能继续请年假。这些就是开发人员所说的业务逻辑的部分。通过编写业务逻辑,可以让系统更智能,提升工作效率。

如何编写业务逻辑呢?Salesforce 的实现办法是使用触发器,在数据保存之前,编写代码进行校验,数据保存之后,更新相关的数据表。国产的低代码开发平台华炎魔方,也是类似的思路。

我就是不想写代码,能用零代码方式实现业务逻辑吗?

答案是可以,可以解决一小部分简单的需求。比如 Salesforce 提供了一个工具Process Builder,可以在界面上编写条件判断,执行更新数据库操作,实现基本的业务逻辑。

零代码开发

但是这类工具有点尴尬,如果你是一个程序员,写一段这样的业务逻辑可能只需要20行代码5分钟,但是想要画出这样一张零代码的流程图,肯定不止5分钟。如果你是一个业务人员,这上面的东西你真的能看懂吗?就算你看懂了,你能自己画出这样的流程图吗?或许IT部门的同事可以做到,但有没有真正提升开发效率我要打一个大大的问号❓。还有一点,这样的流程图,要怎么调试呢?

同时,对于大型项目,版本管理是很重要的课题,Salesforce当然也有对应的解决方案。你可以创建一个Salesforce DX项目,然后把所有界面上绘制的业务逻辑同步到本地,加入源码仓库进行版本管理。但问题又来了,你是通过图形化的方式绘制的业务逻辑,所以同步到本地的也是一大堆配置文件,各种属性用来记录配置界面上的各种参数,源码本身并没有可读性。当业务逻辑发生变更时,版本管理工具提供的代码差异比较功能更是鸡肋一样,没有价值。

因此笔者认为,在界面上绘制业务逻辑是不懂开发的无奈选择,对于程序员来说,编写脚本思路更加清晰、更容易阅读和修改、更容易调试,开发效率更高。国产低代码开发平台华炎魔方选择编写脚本的方式来开发业务逻辑,可以很方便的实现本地调试、单步追踪、复制粘贴、以及多人协作下的源码版本管理。

既然还是写代码,为什么还要学习新的开发模式呢?

效率!企业在数字化转型的过程中,需要面对很多问题。如何数字化?哪些部门需要数字化?哪些业务需要数字化?这些问题都需要在不断的摸索和试错中前行。并且业务部门永远只能描述需求,开发人员又不懂业务,如果按照传统的模式,项目上线通常需要几个月甚至数年的时间才能开发完成,这会严重阻碍业务创新的进程。而低代码开发平台就不一样了,程序员通常可以在一周甚至一天之内搭建出系统原型。业务人员可以一边试用系统原型,一边与程序员进行探讨,找到思路差异的部分。程序员也可以一边修改一边与业务人员确认。使用这种迭代开发模式,数据建模通常可以在1~2周内完成,根据业务需求的复杂程度不同,业务逻辑部分可以在2~4周内完成,系统就能正式上线了。系统推广到各部门应用之后,必然会继续反馈各种开发需求,基于低代码平台开发的系统核心业务逻辑采用配置的方式实现,只需要调整配置可以快速的响应需求,很多需求当天就能调整完,当晚就能更新到正式环境。

开发效率提高了,企业的业务创新能力也就自然提升了。在一个可控的时间段内,实现公司所有业务部门的数字化转型,把传统分散在各个Excel,各类文件,各种子系统中的数据收集到统一的数据平台上来,对于提升管理水平会有很大的帮助。举一个简单的例子:供应商管理,从供应商的初期评审、各种资质文件、到签订的每一个合同、每一次付款情况、每个项目的验收记录、每年的考评记录,都可以在一个界面上清晰的查看。对于客户,从初始的客户来源,到客户评级、每次的成交记录、谈判记录、客服记录、投诉记录、是否能及时付款、甚至客户在公司网站上的浏览记录等等,都可以完整的追踪。

只有程序员才能使用低代码开发平台吗?

低代码开发平台的第一个能力是数据建模,这一点不需要很高的编程水平,但需要懂数据库设计。怎样把用户的业务需求转换为数据表保存下来?各种业务要素,应该用什么样的字段类型来表现?数据表之间要怎么关联?数据量大时,如何优化数据结构提升查询效率?主表记录删除时,相关表记录应该如何处理?很多IT部门的专家、项目经理、产品经理都掌握类似的技能,这个环节都可以比程序员做的更好。

即使是编写业务逻辑,很多理科生在大学中都学过C语言课程。编程本身不难,定一个变量,写一个循环,写一个判断,难的是各种编程框架、各种编程语言、各种函数、各种控件、各种平台等等。低代码开发平台把所有的难题都在内核层面解决,开发人员只需要处理数据建模和核心业务逻辑编码两个部分,相对要简单很多。如果你曾经尝试过编写Excel的宏,那切换到低代码开发平台应该没有很大的难度。当然,一定需要时间去学习,我觉得逻辑思维清楚的人,通过培训课程,应该可以在1~3个月之内掌握低代码平台的开发能力。

学习低代码开发平台对于程序员的个人发展有帮助吗?

其实这是两条完全不同的发展路径。传统的程序员要阅读和编写大量的代码,使用各种编程语言,学习各种控件,各种函数,做的项目越多,编程水平越高。难题是技术的发展日新月异,要不断的学习新知识,新的开发工具甚至新的开发语言。30岁必须要开始考虑转型为项目经理或是产品经理,否则40岁以后必然要面对职业生涯的瓶颈。

而低代码开发平台的程序员专注于数据建模和业务逻辑实现,重点关注的是业务而不是编程,做的项目多了以后,可以成为这个行业内的数字化转型专家。你积累的主要是管理经验而不是编程经验。而管理模式虽然也在不断的试错,不断的优化,但是更新迭代的速度相对要慢很多,因此就好像很多管理学的教授一样,越老越值钱。

华炎魔方开源低代码开发平台

华炎魔方创新的使用配置文件描述业务模型和业务功能,开发人员只需要编写简单的配置文件就可以构建企业级应用程序,数百项系统功能都可以通过设置参数进行配置。

配置文件和与业务逻辑相关的触发脚本,就构成了一个项目的核心源代码,简单易懂,易于维护。对于大型项目,源码可以轻松保存到Github,可以随时追踪到开发人员的修改历史。

免费教程试用

对于低代码快速开发工具有疑问??

扫描以下二维码,我们的技术专家会为您解答。

我们的技术专家拥有十年以上的管理软件开发经验,无论您询问有关华炎魔方开发平台的功能、定价、实施或任何其他方面的问题,他们都将随时准备为您提供帮助。

在线咨询