解读低代码开发平台

735 阅读11分钟

零代码/低代码开发是新技术吗?

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

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

从应用范围上来说,低代码开发目前能做的和20年前差不多,还是局限于细节的开发领域。这些开发可以总结出共性,可以标准化,可以设计出图形化的界面给最终用户使用,因此能大幅提升效率。目前的零代码开发平台主要有三类,界面设计类、表单流程类、数据管理类。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

有哪些好用的低代码开发平台呢?

Salesforce是全球应用最广泛的低代码开发工具。业务人员可以动态的在界面上设计业务对象,并通过触发器的方式编写业务逻辑。缺陷的是成本昂贵,且开发的业务系统只能运行在云端,不能本地部署。

YonBuilder低代码开发平台致力于让企业应用构建更简单,既支持公民开发者无代码可视化应用构建,也支持专业开发人员低代码高效率应用开发。YonBuider作为企业服务产业共享共创平台,面向开发者生态提供开发构建、开放连接、部署运维、在线运营的全生命周期能力,践行数智化商业创新,实现生态共荣!

背靠用友百万客户,聚焦企业服务领域,汇聚优质平台伙伴,打通新技术及应用、企业与伙伴、伙伴与伙伴、产品服务与销售机会之间的壁垒,为客户提供强大的业务、技术、销售和营销资源。基于用友大量的企业用户资源及强大的开放连接能力,为企业应用开发者提供聚合用友多个产品级平台的入口。有助于企业产品推广,增加应用的流量、拓展新用户,获得收益。企业通过用友云开放平台,可将内部的信息系统延伸、整合到统一的移动入口及WEB端入口,快速帮助企业实现信息移动化,向企业用户提供更友好、更方便的企业服务,实现数据共享和生态伙伴融合。