您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

零代码简史

时间:2020-08-22 09:48:02  来源:  作者:

文/明道云创始人任向晖

 

不写代码,或者写很少的代码来构筑软件并不是全新的概念。在上世纪八九十年代,在企业软件发展的早期就有影响力很大的标杆产品。比如微软在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和http://Monday.com,国内的简道云,伙伴云,氚云,以及我们自己的明道云都是模型驱动技术路线的应用平台。这些产品会更加接近于一个面向终端用户的应用,而不是开发工具。

零代码简史

明道云的应用界面

3、相互融合的设计

虽然应用平台大体有两种截然不同的技术路径,但是特定产品可能会从对立面取长补短。对于IDE模式的应用平台来说,它也可能提供预置的模版,让数据模型设计充分可视化,来降低用户上手的学习成本;对于模型驱动的应用平台,它也会引入低代码能力,允许用户用脚本语言、表达式和函数来提升灵活性。可以说,这个品类的竞争就是产品能力和易用性之间平衡的竞争。再强大的应用平台,都不可能比得过原生开发模式,再简单易用的平台,如果不能兑现用户的需求,也是没有竞争力的。

和20多年前的早期产品相比,现代应用平台的主要进步表现在:

1)和云计算环境的融合,让用户用很低的成本直接获取云原生能力。

2)Web应用技术框架的进步,让浏览器可以承载复杂的前端交互要求。

3)和移动技术的融合,让用户可以直接生成跨平台的移动应用。

4)针对复杂逻辑的交互设计水平提升,让可视化配置实现复杂应用逻辑成为可能。

5)支持性的技术框架日益丰富,包括数据库,缓存,对象存储服务,搜索引擎,容器技术,运维编排自动化等,让应用平台可以提供和原生应用开发完全一致的性能。

在可预见的短期未来,应用平台一定能够替代相当比例的原生代码开发,大幅提高企业软件行业的生产力。围绕用户体验和逻辑实现方面的市场期待也会很快得以更好的满足。



Tags:零代码   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
文/明道云创始人任向晖 不写代码,或者写很少的代码来构筑软件并不是全新的概念。在上世纪八九十年代,在企业软件发展的早期就有影响力很大的标杆产品。比如微软在1992年在Offi...【详细内容】
2020-08-22  Tags: 零代码  点击:(105)  评论:(0)  加入收藏
无代码开发工具,能否最终改变程序员的工作方式?近日,亚马逊发布了 Honeycode,一种类似于电子表格界面的无代码开发环境,获得了人们的广泛关注。 当前的电子表格填补了程序包批...【详细内容】
2020-06-28  Tags: 零代码  点击:(99)  评论:(0)  加入收藏
【CSDN编者按】低代码和无代码的概念流行起来并引发严肃思考:这能行得通吗?不管这个趋势奖项哪个方向发展,作为一名程序员,学习和了解新潮流才能以不变应万变。本文中,作者介绍了...【详细内容】
2020-05-31  Tags: 零代码  点击:(149)  评论:(0)  加入收藏
一、简介 ApiConfig是一款支持分布式的可视化的的微服务的API配置化开发平台;通过该平台可以无需任何编码的快速发布各种API服务。地址:http://www.apiconfig.cn二、适用业务...【详细内容】
2020-03-31  Tags: 零代码  点击:(585)  评论:(0)  加入收藏
▌简易百科推荐
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(1)  评论:(0)  加入收藏
程序是如何被执行的  程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(9)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(19)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(23)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(24)  评论:(0)  加入收藏
一个项目的大部分API,测试用例在参数和参数值等信息会有很多相似的地方。我们可以复制API,复制用例来快速生成,然后做细微调整既可以满足我们的测试需求1.复制API:在菜单发布单...【详细内容】
2021-12-14  AutoMeter    Tags:AutoMeter   点击:(20)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条