这几年很火的一个概念叫低代码 ( Low Code Development ) 开发,用少量的代码就能开发复杂的业务系统。然后更进一步,由此又催生出一个新的概念:零代码 开发 ( No Code Development )。
但是想想人工智能,吹了这么多年,落地的应用有多少呢?语音开空调?关窗帘?可以查天气的Siri?最有用的仿佛是自动驾驶,算是在一个细分领域的详细应用。是的,理想总是美好的,现实却要兢兢业业。本文就来扒一扒零代码开发平台美丽故事后的真实现状。
零代码开发是新技术吗?
其实零代码开发并非什么新颖的概念。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岁以后必然要面对职业生涯的瓶颈。
而低代码开发平台的程序员专注于数据建模和业务逻辑实现,重点关注的是业务而不是编程,做的项目多了以后,可以成为这个行业内的数字化转型专家。你积累的主要是管理经历而不是编程经历。而管理形式虽然也在不时的试错,不时的优化,但是更新迭代的速度相对要慢很多,因而就仿佛很多管理学的教授一样,越老越值钱。
人工智能如何融入管理软件?
如今已经有一些实现的方案,比如 Salesforce 的AI工具爱因斯坦,和Siri有点类似,还停留在比较初级的阶段。比如你可以和他说,“帮我查一下上个月签了多少合同?”,哦对不起,你得用英文说,爱因斯坦表示他如今还听不懂中文。。。
人工智能如何融入开发?将来能实现真正的无代码开发吗?
将来可能会有一款自动编程的机器人,叫孙悟空。你说:“悟空啊,我想管理一下公司的固定资产,你能帮我开发一个软件吗?”,悟空想啊想,根据你的行业特征,你的企业规模,你的管理形式,你的管理习惯,从几万套资产管理系统的模版中挑选出一套最接近你需求的固定资产管理软件,自动装置配置好,马上就能上线。数据录入也不用愁,悟空火眼金睛,扫了一眼公司的办公设备,就全部录入系统了。Nice!
但是那几万套模版哪里来的呢?这个悟空变不出来,需要开发人员基于一套统一的、规范化的开发形式施行数百万个项目,需要数十年的积累。
想要试试吗?
华炎魔方是开源低代码开发平台,实现了 Salesforce 的核心功能,提供数据建模工具,并可以编写业务逻辑脚本,开发的系统可以本地部署也可以二次销售。