来源:科技日报
近日,有外媒指出,在过去35年,软件行业发生了一些重大转变。其中之一便是,越来越多的软件应用程序,已构建了基于无代码原则的平台,软件业的未来将是属于无代码平台的。
那么,代码在软件编写中扮演着怎样的角色?什么是无代码平台?软件编写是否真的可以做到无代码?无代码软件的优势有哪些?它是否代表了软件业未来的发展趋势?带着上述问题,科技日报记者采访了业内相关专家。
代码是软件的“物理”载体
当前,人类社会正处于飞速发展的信息时代。现代信息系统的出现、发展与广泛应用则是信息时代的显著特征。
北京理工大学计算机网络及对抗技术研究所所长闫怀志在接受科技日报记者采访时介绍,所谓现代信息系统,是指由计算机与网络通信硬件、软件、信息资源、用户和规章制度所组成的、以处理信息流为目的的人机一体化系统。软件是现代信息系统的重要组成部分,在其中发挥着关键的作用。
软件是指与计算机系统操作有关的计算机程序、规程、规则,以及相关的文件、文档及数据。软件在运行时,会向计算机或其他设备提供运算指令或程序集合,用以处理信息,并以文档形式来描述程序功能需求以及如何操作和使用程序。
一般认为,程序就是软件代码,它是由常被戏称为“程序猿”的编程人员,利用开发工具所支持的语言,编写出来的源文件。软件代码通常是一组有序的数字或字母,它们是代表客观实体及其属性的符号。
一个软件的生成,首先要从软件的设计需求出发,然后进行软件功能设计,制定软件系统整体架构、划分功能模块、确定各模块的实现算法,再通过编写具体的代码,最终形成相应的软件。
“也就是说,代码是软件业务功能及逻辑结构的‘物理’载体,是软件运行进而实现其预定功能的基础实体。”闫怀志介绍道,一般而言,人们常见的代码就是用编程语言写好的、可用记事本打开的多行英文文本,即源代码。这种源代码,是由编程人员采用汇编语言和高级语言写出来的“原始”代码。
除脚本语言源代码外,大部分源代码无法在计算机上被直接运行,通常能在计算机上直接运行的都是可执行程序。从源代码转化为可执行程序,这一转变需要经过预编译、编译、汇编、链接等多个步骤。
闫怀志解释道,之所以要经过这一转变,是因为源代码本身并不能被计算机的中央处理器(CPU)所识别,需要通过编译程序将其进行“翻译”,生成以汇编语言表示的、可被中央处理器识别的二进制代码,即目标代码。而目标代码又需要通过链接后方可执行,这种经过链接后的二进制代码被称为可执行代码,可在计算机上被直接运行。
无需编码即可实现开发
作为软件的“物理”载体,代码在软件编写和运行中扮演了重要的角色。那无代码软件又是怎么回事?
“严格来说,并不存在无代码软件,任何软件都是必须有代码的。”闫怀志介绍道,人们常说的无代码软件,实际上指的是无代码开发。所谓无代码开发,是指软件开发者无需通过手工编码即可实现目标需求的一种软件开发方式,也就是用软件来生产软件。这种软件开发技术的创新实践,最大限度地简化了知识转移和软件工程控制的过程,为软件开发和运维提供了极大的便利,使“人人都是程序员”不再是天方夜谭。当然,专业程序员利用该技术,也可以使软件开发效率得到显著提升。
对此,天津大学软件学院软件工程系教授冯志勇也表达了相同的观点。在冯志勇看来,所谓无代码,更多的只是一种概念。尽管利用这项技术,用户在软件编写界面不再需要输入代码,可以采用图像拖曳等更为人性化的人机交互方式实现编程,但这就需要后台储备大量已编好的代码模块。
“事实上,无代码开发,对后台的支撑能力提出了很高的要求,后台需要配有非常强大的技术团队,来完成底层功能模块的开发工作。只有这样,才能使用户完成‘傻瓜操作’,才能让操作界面变得简洁。”冯志勇指出。
那么,无代码开发如何实现?
闫怀志介绍道,无代码开发主要是借助无代码开发平台,该平台是一种无需编程的配置型软件快速开发工具,利用新型人机交互方式,直接配置业务参数就可构建应用系统。这就使非专业编程人员也能轻松完成软件开发工作,而不必掌握高级编程语言。
无代码开发平台可提供统一技术架构和极简开发方法,用户能自行选择合适的系统甚至完全定制一套个性化的系统,避开专业代码开发的那些“繁文缛节”。目前常用的微信、钉钉等手机APP,这些应用系统的开发就很可能用上了无代码平台。
安全性存在风险隐患
事实上,业界对简化代码开发的诉求早已有之。闫怀志举例道,以企业应用程序开发为例,过去数十年就诞生如工作流(Workflow)、智能业务流程管理系统(iBPMS)、低代码(Low—Code)等应用开发模式。2018年5月,国际知名咨询公司高德纳咨询公司更是提出了高生产力应用程序平台(high productivity application PaaS,简称为hpaPaaS)的理念,由此掀起了新一轮无代码开发热潮,很多人因此预测“无代码软件未来已来”。
无代码开发的技术优势有很多,总体来说,就是操作简单、高效。这种模式允许使用者不直接编写代码,大大降低了软件开发门槛,因此它的适用群体更加广泛。非专业编程人员根据业务需求,即可构建出适用的业务系统;而专业编程人员则可以从繁重枯燥的编码工作中解脱出来,使代码开发质量和效率同时得到显著提升。
“当前,无代码软件的开发效率可达到传统开发模式的10倍到30倍。但是,无代码开发绝不意味着,专业编程人员将失去饭碗。”闫怀志认为,这是因为依靠无代码平台编制的软件,目前依旧存在一些不足。比如,要完成高效的无代码开发工作,操作者仍需掌握必要的软件开发知识和编程技能,而且这种软件的自定义能力会受到一定的限制,在可扩展性上也存在一些短板。同时,在安全性方面,无代码软件的安全性在很大程度上要依赖于平台自身架构的安全性及其提供的应用安全机制,因此在安全性方面,该种软件也是存在着一定的风险。
不过,可以预见的是,无代码软件将是未来软件生产的重要发展趋势。在闫怀志看来,虽然这一发展过程会存在许多变数,但总体上业界普遍持审慎的乐观态度。“如果能够有效地解决安全隐患和自主可控问题,无代码软件的发展未来可期。”他说。(记者 唐婷)