1.2 零代码的演进与特点
不写代码,或者写很少的代码来构建软件并不是全新的概念。在20世纪八九十年代,企业级软件尚处于发展的早期阶段,但已经出现了影响力很大的标杆型零代码产品,比如1992年微软在Office套件中增加的Access数据库应用,再比如曾经被苹果公司收购的FileMaker(1985年推出)。这两个应用到今天都还在运行。本节就带领大家了解零代码应用技术的演进过程以及零代码应用开发平台发展到今天有了哪些新的特点。
1.2.1 零代码应用技术的演进
早期的低代码开发工具只能在单机或者局域网环境中运行,主要面向的还是企业IT专业人员,目标是建立各种灵活度比较高的业务数据库,实现常规的增、删、查、改等操作。比较典型的案例是,很多Access的熟练用户都不是专业的软件开发人员,但他们能够自助完成业务数据表的设计和发布,还能让某个部门共享一个数据库。
真正的应用平台(Application Platform)型产品出现在世纪之交。美国著名的财务软件厂商Intuit公司于1999年推出QuickBase。顾名思义,QuickBase主要用于快速构建数据库应用。这个产品在很长时间内都不温不火,直到2016年因为这个产品专门成立了一家独立的企业,这个产品才慢慢有了起色。QuickBase开创了软件实现的新方式,让应用在封装好的平台上运行,而不再进行代码的编译和分发。这是解放用户生产力和扩大用户基数的关键一步,因为能够全程掌握软件开发和部署能力的企业和用户是非常有限的,而应用平台把这些繁杂和专业的技术环节统统包揽了。所以,这个门类在近几年被称为APaaS(应用平台即服务)。
在云计算技术发展起来以后,APaaS焕发了新的生机。构建云原生应用变得更加简单和直接,所有基于APaaS构建的应用显然都是不依赖服务器的(Serverless),它甚至模糊了开发和使用的边界,使用者即开发者,开发者当然也可以作为直接使用者。2014年,Forrester正式提出了低代码的概念,并将相关品类统称为低代码应用开发平台,简称低代码平台。Gartner随后用高生产力应用平台(hpaPaaS)来命名这个品类。而作为LCAP的一个分支,零代码应用开发平台(简称零代码平台)也慢慢进入人们的视野。近两年,全行业认可了零代码/低代码平台的品类定义APaaS。在这个品类发展过程中,自然演化出3种基本技术路径。
1. 基于IDE框架的快速开发平台
这个技术路径将传统的集成开发环境(IDE)充分可视化,允许开发者使用配置面板和控制台来替代一定比例的代码编写。开发者可自由定义前端界面组件、数据源绑定方式、数据模型、业务逻辑和工作流等,系统会自动生成对应的源代码,开发者甚至可以进一步修改源代码。这条技术路径上的典型产品是Outsystems(见图1-1)和Betty Blocks,两者均在相应市场处于领先地位。
图1-1 Outsystems的开发环境截图
IDE模式的应用平台可以提供更高的灵活性,尤其是可以提供对前端界面自主控制的能力。但它依然涉及比较复杂的应用开发过程,并且其中使用了大量技术语言,生成的应用依然需要编译、发布和部署,所以主要针对的依然是IT专业人员,学习和掌握IDE模式应用平台的时间比较长。它的主要价值在于提高开发者工作效率,降低重复劳动。严格意义上说,生成代码并编译运行的平台并不能称为应用平台,只能称为开发平台。
2. 模型驱动的应用平台
在应用平台市场,另外一个技术分支“模型驱动”(Model Driven)在近几年成为新的主流选择。它进一步降低了代码开发工作量,甚至实现了完全的零代码开发。通过它,业务人员能够直接参与或完成应用开发。
所谓模型驱动,是相对代码生成和编译而言的。用户一旦在应用平台上通过可视化的方式构建了数据模型、视图形态、权限角色等,应用就可直接在平台提供的运行时环境中运行,不再需要另外编译分发。比如SaaS形态的应用平台,用户注册后即可直接在其上搭建和使用应用,不再需要配置独立的应用运行环境。
因为摒弃了传统DevOps过程,模型驱动的应用平台指数级提高了应用开发效率,也扩大了用户群体。但它也不得不牺牲应用实现的自由度,用户不可能随心所欲地设计前端界面,后端逻辑的复杂度也受到一定的限制。话说回来,大多数企业软件,尤其是要实现数据增、删、查、改类(CRUD)的应用,它们的交互范式本来就比较固定。
Airtable、Smartsheet、Zoho Creator、Monday.com,以及简道云、伙伴云、氚云和明道云都是典型的模型驱动技术路线的应用平台。这些产品更接近于一个面向终端用户的应用,而不是开发工具。
3. 相互融合的设计
由前面的内容可知,应用平台有两种截然不同的技术路径,但是特定产品可能会从这两种技术路径中取长补短。对于IDE模式的应用平台来说,它也可能提供预置的模板,让数据模型设计充分可视化,以此来降低用户的学习成本;对于模型驱动的应用平台,它也会引入低代码能力,允许用户用脚本语言、表达式和函数来提升灵活性。可以说,低代码/零代码品类的竞争就是产品能力和易用性之间平衡的竞争。再强大的应用平台,都不可能比得过原生代码开发模式,再简单易用的平台,如果不能满足用户的需求,也是没有竞争力的。所以融合前述两种技术路径的新技术路径出现了,典型代表就是我们本书的主题——零代码应用开发平台。
1.2.2 现代零代码平台的特点
和20多年前的早期产品相比,现代零代码平台的主要进步表现在:
- 和云计算环境的融合,让用户可以用很低的成本直接获取云原生能力。
- Web应用技术框架的进步,让浏览器可以承载复杂的前端交互要求。
- 和移动技术的融合,让用户可以直接生成跨平台的移动应用。
- 提升复杂逻辑的交互设计水平,通过可视化的方式配置复杂应用逻辑。
- 支持性的技术框架日益丰富,包括数据库、缓存、对象存储服务、搜索引擎、容器技术、运维编排自动化等,这让零代码平台可以提供和原生代码开发完全一样的性能。
在可预见的短期未来,零代码平台肯定能够替代一定比例的原生代码开发,以大幅提高企业软件行业的生产力。围绕用户体验和逻辑实现方面的市场期待也会很快得以满足。