无代码开发的本质技术内核及未来趋势

白癜风诚信单位 http://baidianfeng.39.net/a_cjzz/180416/6169871.html

在由轻流主办的第二届「无代码未来趋势论坛」上,上海交通大学沈备*老师发表了主题演讲。

她从学术角度为大家讲述了无代码开发的技术内核。

以下为沈备*老师的演讲全文:

大家好,我是沈备*,来自上海交通大学软件学院。

我在这分享的主题是:无代码开发技术的“内核”。

无代码开发的本质

在讲这个技术内核之前,我先简单介绍一下自己。我一直从事软件自动化研究,至今已经有30年的时间。在上个世纪90年代的时候,我们开发了第一款低代码工具叫Formnet,做的是企业信息化、面向程序员的低代码开发平台,取得了很大成功。

我们成功开发了亚运会的系统,并获得了国家技术创新二等奖。这个工具我们也推向了全世界:在日本,特别是美国,在美国一个*府的应用系统开发中用得非常多。最近几年,我们一直在研究代码的自动生成和缺陷的自动修复。

今天,主要从学术的角度、从全球视野的角度,一起来探索无代码开发的技术内核。

无代码开发从学术角度来说是什么呢?

它是一种新型的面向最终用户的新的开发模式,是一组工具方法、技术和平台组成的辅助。让我们的业务人员,没有任何软件工程、软件开发技能的人员能够自主开发出一个出色的软件,这就是无代码在学术界的定位。我们经常说是软件改变了整个世界,而无代码开发是改变了软件的开发,它给软件带来了两大优势。

第一个,它让我们人人都是程序员。中国现在要做企业数字化转型,那么全国有多少程序员呢?据统计有万个,从需求来看是远远不足的。而无代码开发使得任何人都可以成为程序员,这是第一大benefit。

第二大优势是什么呢?就是领域的交叉创新。以前我们在做软件开发的时候,经常会碰到这样一个问题,开发人员不懂业务,业务人员不懂技术。这时候我们做出来的软件常常不能解决真正的痛点。现在我们让业务人员懂了技术,可以来开发软件。那么最后创造出的软件可以想象一下创新能力有多强。

所以这是它的两大优势。

过去的做法

我们前阵子一直在讨论鸿蒙操作系统的内核,大家知道,我们交大软件学院陈海波教授做了鸿蒙操作系统的内核,非常出色。

现在我们探索一下无代码开发,它的技术内核是什么?

我们总结一下无代码开发技术内核,它是一个领域特定语言DSL。那么这个领域特定语言,它的表达方式是可以各种各样的,比如轻流的内核,是一种可视化编程、搭积木式编程,甚至还有配置式的编码。除此之外,全球无代码技术的内核,还有示例编程、演示编程、自然语言编程等等。轻流代表的是企业信息化,采用可视化编程的方式来实现无代码。

微软Excel当中的快速填充,我们只要把数据的输入输出的例子写在那里,就会自动生成下一个数据,它是一种ProgrammingbyExample。

还有机器人编程,我们看到有专家演示过一个机器臂在拧螺丝或者在捡。机器人可以做很多事情,比如说可以捡石头,甚至照顾老人。机器人的编程以前是程序员做的,现在我们在研究什么呢?叫ProgrammingbyDemo。我在这拧个螺丝,它看了我怎么做,它马上就学会了,它不用编程,这叫无代码,我做个例子它就会了。这又是另外一个DSL。

在物联网领域也要用无代码。国际上最有名的无代码语言就是IFTTT,用IfThen规则来编写代码。非常好的、有趣的例子。

再来看儿童学习无代码,儿童的想象力有多大?我们让他也成为程序员。我们常说,程序员从娃娃抓起,怎么抓?第一个语言,Scratch、MIT委托进行维护的。如果你们有小孩可以开始学无代码开发了,不仅你自己在用,小孩子也要学,他可以用搭积木的编程方式,编写出一些多媒体软件来。

还有手机软件,手机的App我们也可以用无代码进行开发,所有你可以看到的这一个世界。

无代码的世界真是非常大,创新想象的空间非常大。那为什么无代码可以让无编程经验的人也能够编写程序呢?这是因为它是领域特定的,DSL领域特定的。基于这个领域,我们进行抽象,第一个关键点就是抽象,把共性抽象出来,然后进行实现。

第二个,抽象出它的可变性。比如说企业应用当中,很多应用当中把它的可变性抽象出来,用一个语言来进行表达,让我们的业务人员用这个语言来定义和配置。

第三个就是工具自动化,所有这些事情要有一个环境工具来进行支持。

那么现在最大的难题是什么呢?

如何去设计这个DSL。

我们有五个步骤,大家一起来看一下。

第一,针对某一个特定领域,例如儿童学习你要做什么。进行领域的需求分析,确定它的共性和可变性,针对共性。

第二,我们要开发出一个组件平台或者是说引擎来进行实现。

第三,把这些可变性设计出DSL语言来。

第四,针对这个DSL语言,还要开发它的工具。

最后一步IDE让它可以编辑、可以调试、可以部署上线,这是核心的一步。

无代码的未来

最后,我要展望一下无代码技术的未来。

第一点,我们可以看到各种领域的DSL将百花齐放。今天我们在这看到的是轻流赋能企业信息化的这样一个无代码平台。那将来会有什么?我们可能已经有了无代码的游戏式开发,已经有了机器学习AutoMLDSL,没有编程能力的人也可以用机器学习来进行编程。我们的科学计算、数据分析,物联网机器人等都将百花齐放。

我们说轻流是个非常棒的产品,它的成功是可以复制的,可以复制到各个领域当中;或者说,轻流可以不断地扩展,它可以从企业信息化扩展到各个领域当中。

第二点,未来趋势是什么?从自动化到智能化。现在我们的无代码用的积木式、可视化的方式进行开发,它实现的是自动化。那接下来将引入人工智能,使得这个软件更加智能。现在我们说的是无代码开发,那么将来有可能开发两个字就会没有了,变成“无代码的软件”、“实现无代码的软件生成”……

也就是说我们的业务人员不需要有计算思维,他只要懂应用需求,有了需求我们就可以直接自动地来生成这个软件。我对无代码的趋势是非常乐观的。

软件定义世界,在无代码时代,让我们一起来编写软件。谢谢大家。



转载请注明:http://www.abuoumao.com/hyfz/4388.html

网站简介| 发布优势| 服务条款| 隐私保护| 广告合作| 网站地图| 版权申明

当前时间:
粤ICP备19025322号-2