零代码简史
文/明道云创始人任向晖
不写代码,或者写很少的代码来构筑软件并不是全新的概念。在上世纪八九十年代,在企业软件发展的早期就有影响力很大的标杆产品。比如微软在1992年在Office套件中增加了Access数据库应用,曾经被苹果公司收购的FileMaker在1985年就推出了。这两个应用到今天都还在运营。
早期的低代码开发工具只能在单机或者局域网环境中运行,主要面向的还是企业IT专业人员,帮助建立各种灵活度要求比较高的业务数据库,实现常规的增删查改应用场景。很多Access的熟练用户都不是软件开发人员,他们能够自助完成业务数据表的设计和发布,让某个部门能够共享一个数据库。
真正的应用平台(Application Platform)型产品出现在世纪之交。美国著名的财务软件厂商Intuit公司于1999年推出QuickBase,顾名思义,就是快速构建数据库应用。这个产品在很长时间内都不温不火,直到2016年被剥离成一家独立的企业。但它的确开创了软件实现的新方式,让应用在封装好的平台上运行,而不再进行代码的编译和分发。这是解放用户生产力和扩大用户基数的关键一步,因为能够全程掌握软件开发和部署能力的企业和用户是非常有限的,而应用平台把这些繁荣和专业的技术环节统统承揽了。所以,这个门类在近几年被称为APaaS(应用平台即服务)。
在云计算技术发展起来以后,这个门类焕发了新的生机。构筑云原生应用变得更加简单和直接,所有基于APaaS构筑的应用显然都是不依赖服务器的(Serverless),它甚至模糊了开发和使用的边界,使用者即是开发者,开发者当然也可以作为直接使用者。2014年,市场研究公司Forrestor正式提出了Low-Code的概念,并将相关品类称为Low-Code Application Platform(LCAP)。Gartner随后用高生产力应用平台(hpaPaaS)来命名这个品类。近两年,全行业对零代码/低代码平台的品类定义开始集中在“APaaS”这个称谓上。
在这个品类发展过程中,自然演化出两种基本技术路径。
1、基于IDE框架的快速开发平台
这个技术路径将传统的集成开发环境(IDE)充分可视化,允许开发者使用配置面板和控制台来替代相当比例的代码编写。开发者对前端界面组件、数据源绑定方式、数据模型、业务逻辑和工作流等均可自由定义,系统自动生成对应的源代码,开发者甚至可以进一步修改源码。这条技术路径上的典型产品是美国的Outsystems和欧洲的Bettyblocks,两者均在相应市场处于领先地位。
OutSystems的开发环境界面
IDE模式的应用平台可以提供更高的灵活性,尤其是对前端界面可以有自主控制的能力。但它依然涉及到比较复杂的应用开发过程管理,并大量使用技术语言,生成的应用依然需要编译、发布和部署,所以主要针对的依然是IT专业人员,甚至需要有一定的代码开发基础,学习和掌握的时间也比较长。它的主要价值在于提高开发者工作效率,降低重复劳动。严格意义上说,生成代码并编译运行的平台并不能称为应用平台,而只能作为开发平台。
2、模型驱动 (Model Driven) 的应用平台
在应用平台市场,另外一个技术分支在近几年成为新的主流选择。它也进一步降低了代码开发工作量,甚至实现了完全的零代码,让业务人员能够直接完成或参与应用实现。
所谓模型驱动,是相对代码生成编译过程而言的。用户一旦在应用平台上通过可视化的方式构筑了数据模型,视图形态,权限角色等,应用就直接在平台提供的运行时环境中运行,不再需要另外编译分发。SaaS形态的应用平台只需要完成用户注册后即可直接搭建和使用应用,不再需要配置独立的应用运行环境。
因为摒弃了传统DevOps过程,模型驱动的应用平台指数级提高了实现效率,也大幅扩展了用户群体。但它也不得不牺牲应用实现的自由度,用户不可能随心所欲地设计前端界面,后端逻辑的复杂度也有一定的限制。话说回来,大多数企业软件,尤其是数据增删查改类(CRUD)应用,它们的交互范式本来就比较固定。
Airtable,Smartsheet, Zoho Creator和Monday.com,国内的简道云,伙伴云,氚云,以及我们自己的明道云都是模型驱动技术路线的应用平台。这些产品会更加接近于一个面向终端用户的应用,而不是开发工具。