低代码是快速开发工具/技术的一种,属于编程工具/技术领域,主要应用于开发企业软件系统。借助低代码,使用者无需编码即可完成企业系统的常见功能;少量编码扩展更多功能。相比于传统的软件开发工具和技术,低代码的技术门槛更低,开发效率更高;相比于其他快速开发工具,低代码的扩展性更好,可以胜任企业核心业务系统的开发需求。
本文将向您介绍低代码技术是在什么背景下诞生的,以及该技术与其他软件快速开发技术的异同点。
编程技术的发展方向
编程技术的发展方向可以概括为“更通用”、“更低门槛”和“更高效率”。200年来,编程技术就是沿着这三个方向,和计算机技术一起发展壮大。这两个世纪发生的事情,对于所有有志于从事信息化行业的人来说至关重要,我想有必要做一个简短的回顾。
发展方向一:通用化的计算机
编程的应用场景从最早的纺织业,扩展到数学,直到今天的包罗万象。
雅卡尔提花机:1804年,法国人雅卡尔(Jacquard)发明的新式提花机,预先根据需要编制的图案在纸带上打孔,根据孔的有无来控制经线与纬线的上下关系,最终完成提花。
木齿铁轮分析机:受到雅卡尔提花机的启发,英国的巴比奇(Babbage)在1836年发明了蒸汽驱动分析机。其助手爱达(Ada)为这款分析机设计了求解伯努利方程(p + 1/2ρv2 + ρgh = C)的程序,帮助设计师改善蒸汽机和传动设备的设计。值得一提的是,在很多计算机专业的教科书上,Ada都被称作世界上第一名程序员。
ENIAC 通用计算机:随着电子管技术的进步,美国人发明了ENIAC计算机。这是一台通用型计算机,应用场景变得更加广泛。它确定了一些现代计算机设计思想,如采用二进制、可重用的存储器等,能够重新编程,解决各种计算问题。
(木齿铁轮分析机,图片来自网络)
发展方向二:低门槛的编程语言
编程在各行各业展现出的巨大的价值,激发了更多对计算机系统的需求。为了扩大系统开发人员的总体规模,编程使用的语言越来越倾向于人类语言,编程的技术门槛一降再降。但知道今天依然没有摆脱“供不应求”的窘境。
机器语言:机器语言为第一代编程语言,逻辑与数据均采用二进制编码,以打孔纸带的形式输入计算机中。不但难于编写,而且难于理解。
汇编语言:将 0/1 代码翻译为英文单词,这些英文单词直接对应着一串 0/1 指令。这个就是汇编语言。缺点是指令数量庞大,格式复杂,可记忆性差。
高级语言:高级语言的语法和结构更类似汉字或者普通英文,且由于远离对硬件的直接操作,使得一般人更容易学习。C、C++、JavaScript等都是高级语言
(汇编语言写成的代码,图片来自网络)
发展方向三:高效率的开发技术
除了让更多人投身软件开发,如何能够进一步提升开发者的效率,也成了软件行业关注的重点。从纯代码到类库,再到集成开发环境,编程所需的工作量正在迅速减少;而开发效率的不断提升,让开发者可以将更多精力投入到更有价值的领域,从而不断扩展编程的应用场景。
纯代码:几乎所有的业务逻辑、界面交互均通过手写代码的方式来完成。
类库:将常用功能的代码打包为类库,开发时直接应用即可大幅减少编码工作量。专注于界面交互的类库又称为控件(Controls)最为常见,历史可以追溯到1980年代。
集成开发环境:内置大量控件和其他处理功能,开发时仅需要在可视化编辑器中托拉拽即可完成常用业务功能的开发。Visual Studio和Eclipse是IDE的代表。
(Visual Studio,一款常见的集成开发环境)
今天,很多开发者都或多或少地经历过编程的发展历程,一些前辈甚至见证了从机器语言到高级语言、从纯代码到IDE的进化。为了帮助开发者拥有更趁手的工具,不断提升编程的能力和效率,开发工具厂商应运而生,并且随着技术潮流持续改进。比如诞生于1980年的葡萄城集团,在1980年代通过一款专门为复杂布局票据输入而生的DenpyoMan OCX控件进入开发工具市场,此后陆续在1991年发布了Spread(2020年的最新版本是SpreadJS V13),1996年推出的ActiveReports(2020年的最新版本是ActiveReports V14),从OCX到.NET再到JavaScript纯前端技术,葡萄城的开发控件产品紧跟编程技术发展进程。