无代码的时代真的来了吗?
所谓“无代码”,并不是不存在代码,无代码平台的开发,给开发者更大的挑战、更多 机会。所以,“无代码”不是解放程序员,而是给程序员提出了更高的要求、带来更大的挑战。
作者 | 函子科技陆继恒,Jessica Tang
责编 | 寇雪芹
头图 | 下载于视觉中国
导语:
在写完这篇系列长文即将发表的前夕,当红炸子鸡无代码开发平台独角兽Airtable宣布完成2亿7千万美元E轮融资,估值达到58亿美金。此次融资距上一轮1亿8千万美元的D轮融资才过去了仅仅5个月。
微软称无代码是它的“Next Big Thing”。谷歌说无代码是下一代的变革和提升。
在硅谷,几乎所有的科技巨头都有自己的低代码/无代码平台——微软的PowerApps,亚马逊的Honeycode,Google新收购的Appsheeet等。虽然没有开源和产品化,Facebook内部也有自建的跨平台框架Native Templates(广义上算低代码)来提升跨平台应用的开发效率。
把无代码的概念做一个比喻:90年代,配合鼠标带来的全新交互方式,Mac OS和Windows通过可视化操作系统把原本相对小众的个人电脑市场带给了更广阔的受众——相较于先前的命令行交互,可视化的操作显著降低了使用电脑的门槛,让所有操作都更贴近于人的直觉。
与之相似,新一代的无代码工具,通过可视化的交互方式,把原本需要通过写代码才能实现的抽象业务逻辑、产品设计和数据配置等通过更直观、对人更直觉化的方式进行呈现和配置,从而显著降低了编程的技术门槛。只要你能想清楚你要的逻辑是什么,这些可视化工具就能够实现相应的软件,而这正是无代码最大的价值。在另一边,低代码提供更完整的功能封装,让工程师写更少的代码来实现更多的功能,从而降低工程师的重复劳动、提升开发效率。
无代码和低代码也是不分家的。通常,低代码工具也会辅以可视化工具,而无代码工具也会允许用户通过代码或API来进行功能的扩充。很多业务可以通过可视化进行清晰的呈现,但不是所有的抽象逻辑都适合可视化。作为早一辈的「无代码工具」,Excel里提供了宏函数这个功能,允许用户在工具预制的公式外也能通过编写VBA代码来自定义复杂的函数,从而实现功能的扩展。
因此,无代码平台通常必须要和低代码进行有效的整合。绝大多数应用场景和绝大多数用户都不需要用到低代码,但平台必须需要一个必要的更强灵活度的入口,允许高级用户可以通过低代码或者直接写代码的方式来进行更自由的配置,以此保证了产出的灵活度以及更多长尾应用场景的覆盖。
在2014年Gartner提出低代码的概念后,很快就被广泛的采用。他们预估在2021年,低代码的市场已经带来138亿美金的市场规模,年增速超过22%;2022年市场将进一步加速成长,增速超过30%。
而这个「低代码/无代码」的概念其实并不是全新的,这种可视化编程的底层逻辑其实由来已久。
前世
低代码的概念可以追溯到1980年代可视化编程的思想,当时的想法是把很多业务逻辑本身用可视化的方式进行描述,而并不是把整个应用进行可视化的封装,更多的是业务逻辑或者说代码的另外一种呈现方式。如果只是换一种呈现方式的话,其实并没有屏蔽任何技术细节,换言之并没有帮助用户把制作软件变得更轻松,因此这个带来的价值就非常有限。
80年代
微软于1985年在苹果上发布了第一个版本的Excel,而这可以被认为是最早一代的无代码工具。Excel的高级用户可以用它进行复杂的数据处理、分析和可视化而无需编写任何代码。
随着不断的更新迭代,Excel和Office家族中的Word、PowerPoint一起,成长为了所有人电脑中最强有力的生产力工具。在国外,Google Doc依靠协同能力,又进一步把基础工具的效率提到了新的高度。最近Airtable,作为目前最有代表性的无代码工具,除了继承了Excel的生产力优势和Google SpreadSheet的协同能力外,引入了新一代工具所需的跨平台能力,以及更强的灵活度——把原本只能通过表格来呈现的单一数据,通过更多或预制或定制的灵活视图,进一步提升数据采集、处理和呈现的能力,从而赋能业务人员,让他们也能轻松实现简单的轻量级应用的愿景。
90年代
来到90年代,微软推出了Visual Basic,这是最早的几个被大规模使用的可视化编程工具。工程师用VB在.NET的开发环境下编写Windows软件直到现在仍有广泛的使用场景。但随着时代的变迁和技术的发展,最新的应用已经几乎没有是单纯的本地软件了,因此随着本地软件的衰弱,VB也开始被慢慢淘汰。
当网络成为人们马洛斯底层需求之一时,所有的应用软件都必不可免得需要变成一个多端、云化的应用。原本就是为本地软件设计的VB/.NET环境的衰弱是大势所趋,但是它的核心思想仍然是值得借鉴和参考的。如何解决VB本地数据的云端存储化、实现应用的跨端运行,这是目前为止还没有人完整实现,但笔者认为是新一代可视化工具所必须解决的一个问题,相当于是把同样的思想在新的环境下面重新进行设计和优化。
世纪之交
时间来到2000年前后,随着互联网的兴起,市面上开始出现可视化网页制作工具,其中的翘楚有Macromedia的Dreamweaver(后被Adobe收购)和微软Office套件中的FrontPage。这两款工具在当时非常流行,也在一定程度上定义了交互设计师的职位,因为在此之前所有的软件和网页都是由工程师来制作,所有的交互都是按工程师的喜好来设计和实现。通过这两款工具,没有太多技术背景的人首次能参与到网页制作中来,设计出漂亮的静态页面。当时网页的主流形态还是以栅格切分为主的静态页面,所以每个网页里除了包含页面的布局(即长什么样子)还包含了数据本身。通过Dreamweaver和FrontPage,网站的制作不再依赖于经验丰富的工程师,初级编程人员和现在所谓的设计师和内容撰写人员就能够独立完成静态页面的制作。当然,这里的「静态」指的是页面不依赖或很少依赖于后台服务器数据的动态加载,也就是一个页面,不管是谁在什么时候以什么方式打开都是一样的。
对于这段时间,笔者本人感触很深。当时还在初中的时候,笔者最早也是通过FrontPage开始知道编程、了解互联网的。印象最深的是,当时FrontPage的配置里有个词叫「超链接」(HyperLink),现在通常被叫做URL——就是那个网页上,鼠标悬浮上去会变成一个手、可以用来点击和跳转的链接哈哈哈。
后来这两个工具也开始慢慢被淘汰,原因之一是网页的底层技术变了。大家发现静态页面不能很好的满足所有的需求,网页开始渐渐变得复杂,从原本单纯的信息输出向更完整的可交互的应用方向发展。随着JS的兴起以及JQuery的广泛流行,把数据+业务和页面呈现进行分离,成为了技术的趋势。最终网页成为了一种客户端,数据存储和复杂业务逻辑都必须依赖于后端服务器的实现。网页变成动态的之后,单纯的静态网页工具就慢慢变得价值不大了。
2010年代
再往后,市面上涌现了一批建站网站,他们提供的解决方案核心是「复用」,也就是把现有的代码通过封装成模版来进行重复售卖。通常模版是免费或低价进行售卖,而建站网站主要依靠网站托管,赚取服务器的运营费用。这些建站网站逐渐发现静态的网页没办法满足更多客户的需求,所以他们渐渐发展出来一些动态的功能。他们采用的方式是帮助用户预制好业务逻辑、预制好后台。在推广方式上,慢慢演化出了开源以及闭源两种形态。
开源形态的工具叫WordPress,有一个收费的版本,允许用户通过插件的方式嵌入更多的代码,从而实现一些动态或者更灵活的逻辑变换。WordPress本质上就是一类无代码工具,插件就是其过渡到低代码延展的方式。WordPress平台上有超过5万个插件,可以灵活扩展产出的网站功能。即使到了今天,全球仍有约35%的网站都由WordPress提供支持,因此,在美国甚至有专职的WordPress开发者岗位,薪资匹配初级工程师。
闭源方面,国外集大成者为Wix和Shopify;而国内用户由于直接跳过PC互联网进入了移动互联网,类似的大型建站网站通常针对于小程序和移动网页,以微盟、有赞为代表,辅以年轻一点的即速应用、上线了等。此类产品目前通常关注在电商网站这一特定垂直领域,授权创建漂亮的在线商店。他们帮助用户预制了很多作为一个电商网站需要的业务逻辑后台,给用户提供了许多漂亮的页面模版——在一个限定的范围内,用户的界面可以进行相对灵活的配置。
其中,Shopify目前已成为最大的第三方线上零售平台,其生态系统覆盖了2000多个第三方应用程序,而这些应用程序已经被Shopify上运营商店的商家安装了数百万次。最近几年随着电商的进一步兴起,Shopify发展的非常好,过去两年股价翻了10倍,跻身千亿美元市值。而Shopify在东南亚的复制品Shopee也帮助其母公司市值超过1000亿美金。
今生
低代码/无代码的今生在2014年由Gartner定义。2018年,随着Outsystems获得KKR和高盛的3.6亿美金战略融资成为独角兽以及Mendix以7亿美金的价格被工业软件巨头西门子收购达到第一波小高潮。这一波消息也引起了国内市场一小波的关注。通过近期的Pre-IPO融资,Outsystems也直接将其估值顶到了96亿美金的高度。
但是在国内创投圈没有看到的地方,Appian,作为Low-Code上市第一股,于2017年成功上市,并在今年迅速提升毛利率后,市值连翻四倍,超过120亿美金。而SmartSheet作为商用版协同表格类产品,也于2018年成功上市,市值超过80亿美金。
而背后,还有更多的独角兽在疯狂成长,包括面向中小企业的表格类产品Airtable、面向企业流程自动化的RPA产品UiPath、面向金融保险头部企业的表单产品Unqork、面向企业流程管理BPM的Kissflow、面向通用型跨平台应用开发平台的Outsystems、Mendix和Webflow。
不光是传统软件行业,低代码/无代码在其他行业的渗透可能开始的更早。在工业机器人领域,西门子的编程平台让机械工程师不需要编写代码就能实现逻辑的自由编排;在游戏行业,Roblox的上市把无代码制作游戏的可能性甚至普及到了10几岁的年轻一代未来。
本质上所有这些低代码/无代码的产品是在一根轴上做取舍——一端是极度的灵活,带来的是产品复杂度以及相对更高的学习门槛(譬如Outsystems和Mendix就面向的是有一定技术能力的IT人员,偏向于提供完全的灵活度和复杂度);另外一端是更强的“傻瓜式”,即替用户封装了更多细节,通过预制更多逻辑从而让用户需要做的事情更少,但相对的,用户可以配置的灵活度也显著降低,以限制用户可以做的事情的范围从而降低复杂度(像Airtable和Unqork就是很典型的面向业务人员的“傻瓜式”产品)。如何定位自己的产品,在这根轴上找一个针对于产品目标客群的平衡点是现在所有低代码/无代码平台需要深度思考的点。
当然,也正是由于这根轴上分别对应的用户和场景非常庞大而且复杂,这不是单一一个产品就能完美覆盖的。Gartner在其行业报告中也进行了类似的预测,称到2024年,75%的大型企业将平均使用至少4种低代码开发工具。
国外的低代码/无代码工具在这根轴上的分布比较均衡,从偏重于技术的高复杂度端,到技术和产品平衡的BPM,再到偏向于“傻瓜式”的表格/表单类产品。相对的,国内的低代码/无代码比较集中在相对低技术的“傻瓜式”侧。
尾声
新一代的低代码/无代码工具根本上要做的是一种全新的开发环境或者说开发方式。在这种新的开发方式下,为用户带来价值的根本原因是它可以替用户屏蔽掉尽可能多的技术细节,提供尽可能大的灵活度从而达到显著降低技术门槛的目标。对于Airtable和Unqork的用户,他们接受的其实正是一种新的编程方式,不再受限于固定的功能模块,而是在一个比较灵活的平台让用户可以自己进行创造,实现自由的业务逻辑配置。
站在之前巨人的肩膀上成长起来,以同样的愿景再出发,最新一代的低代码/无代码平台想要的是让更多非技术背景的用户也能参与到软件开发流程中去。不过这一次,在中国,低代码/无代码的出航迎上了风,乘上了SaaS以及企业旺盛的数字化转型需求的风口。
这次,软件编程的平民化能走多远?
您有什么看法,
#欢迎来评论区聊聊#
更多精彩推荐
☞百度香港二次上市,12 岁开发者、AI 机器人同台敲响“芯片代码锣”☞GitLab 在中国成立公司极狐,GitHub 还会远吗?☞又一个Jupyter神器,操作Excel自动生成Python代码
点分享点收藏点点赞点在看
相关文章:

实现自适应高度
天修改一个用Excel的报表,有一个数据格是跨两列,一般单格的数据格用自动换行就可以实现自适应高度,但是跨列是不行的.查找google良久,也没发现适合的办法,一阵头痛之后,突然有了灵感,于是马上做试验,还真的实现了.先写出来,如果有困于这个问题的朋友偶然路过,或许还能有一点用处…

分表分库之一:分布式数据库的常见用法
尽量减少事务边界 采用分库分表的方式将业务数据拆分后,如果每条SQL语句中都能带有分库分表键,分布式服务层对于SQL解析后都能精准地将这条SQL语句推送到该数据所在的数据库上执行,数据库将执行的结果再返回给分布式服务层,分布式…

打印自定义纸张大小
长江支流说的办法保留太多了,结果不行,很多类都是他在程序集里自定义的,源码又没公开 不过还是要感谢他的提示 今天和小陈搞了一天,他在国外的论坛上看到了一篇文章得到了启示,最后我们在凌晨3点终于把自定义纸张的代码给写出来了,看来必须用API,微软的.NET对打印的支持太菜了…

看完 50000 张专辑封面,AI 设计师开始疯狂输出
西班牙艺术家利用 StyleGAN2 打造了一个 AI 设计师,借助 50000 张图像自学成才,没想到培养一个印象派设计师这么简单。作者 | 三羊来源 | HyperAI超神经头图 | 网友整理抄袭事件的对比图也许是有些设计太经典出挑,总是让人情不自禁地模仿。日…

XenApp_XenDesktop_7.6实战篇之八:申请及导入许可证
1. 申请许可证Citrix XenApp_XenDesktop7.6和XenServer 6.5申请许可证的步骤是一致的,由于之前我已经申请过XenApp_XenDesktop的许可证,本次以XenServer6.5的许可证申请为例。1.1 在申请试用或购买Citrix产品时,收到相应的邮件,其…

使用Windows操作系统的13个窍门
Windows操作系统的13个使用窍门,很适用。 1.删除Windows下不让删除的文件 有时想删除某个文件,系统会告诉无法删除,换到DOS下或是安全模式虽然可以删除,但是有点麻烦。这时可以用鼠标右键点击回收站,选择“属性”将“回…

如何让机器像人一样多角度思考?协同训练来帮你
作者 | 宁欣头图 | 下载于视觉中国出品 | AI科技大本营(ID:rgznai100)本文目录0. 摘要1. 引言2. 协同训练介绍3. 协同训练改进3.1 基于视图划分的协同训练3.2 基于学习器差异化的协同训练3.3 基于标签置信度的协同训练4. 协同训练应用5. 总结与展望摘要协…

PHP设计模式(4)命令链模式
命令链 模式以松散耦合主题为基础,发送消息、命令和请求,或通过一组处理程序发送任意内容。每个处理程序都会自行判断自己能否处理请求。如果可以,该请求被处理,进程停止。您可以为系统添加或移除处理程序,而不影响其他…

MFC界面库BCGControlBar v25.3新版亮点:Gauge Controls
2019独角兽企业重金招聘Python工程师标准>>> 亲爱的BCGSoft用户,我们非常高兴地宣布BCGControlBar Professional for MFC和BCGSuite for MFC v25.3正式发布!新版本添加了对Visual Studio 2017的支持、增强对Windows 10的支持等。接下来几篇文…

如何使用 ASP.NET 实用工具加密凭据和会话状态连接字符串
文章编号:329290最后修改:2006年4月10日修订:8.0 重要说明:本文包含有关如何修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和修改注册表的更多信息,请单击下…

16款小米新品,刚刚雷军只发了5款
会前,雷军在微博上提前疯狂剧透小米即将发布的新品信息。要发布的产品实在太多了,整合提前发布的信息来看,此次发布会可能会是小米有史以来时间跨度最长、新品数量最多的新品发布会,包括小米11 Pro/Ultra、小米MIX新机、小米11青春…

windows下使用aspell开启emacs的单词拼写检查功能
第一步,你需要下载aspell安装文件和至少一个字典,下载地址为http://aspell.net/win32/. 下载之后,分别安装aspell和字典. 需要注意的是,在64位的WIN7下,“C:\Program Files (x86)”是32位安装程序的默认安装目录,而“C:\Program Files"是64位安装程序的默认安装目录,因此a…

老板来了:人脸识别 + 手机推送,老板来了你立刻知道!
背景介绍 学生时代,老师站在窗外的阴影挥之不去。大家在玩手机,看漫画,看小说的时候,总是会找同桌帮忙看着班主任有没有来。 一转眼,曾经的翩翩少年毕业了,新的烦恼来了,在你刷知乎,…

在C#中使用COM+实现事务控制
.NET技术是微软大力推广的下一代平台技术,自从.NET技术架构的正式发布,此项技术也逐渐走向成熟和稳定。按照微软的平台系统占有率,我们不难想象得到,在未来的一两年内.NET技术必定会势如破竹一般的登上主流的技术平台,…

深入理解 JavaScript 中的 replace 方法
2019独角兽企业重金招聘Python工程师标准>>> 字符串替换字符串 1 I am loser! .replace( loser , hero ) //I am hero! 直接使用字符串能让自己从loser变成hero,但是如果有2个loser就不能一起变成hero了。 1 I am loser,You are loser .replace( loser ,…

透过计算机视觉,看看苏伊士运河堵船
作者 | Edison_G来源 | 计算机视觉研究院头图 | 下载于视觉中国3月29日,长赐号终于重新上浮。船运代理公司Inchcape和苏伊士运河管理局皆证实,长赐号已经重新漂浮在水面上,但目前还不清楚需要多少时间重启运河。这张图片,相信大家…

泼点冷水,P2P借款限额是不是想的太美好?
8月24日等待了大半年的P2P网贷监管规则《网络借贷信息中介机构业务活动管理暂行办法(评估稿)》终于出现。办法中最引人注意的是对借款上限的规定: 同一自然人在同一网络借贷信息中介机构平台的借款余额上限不超过人民币20万元,在不…

SQL语句优化技术分析
SQL语句优化技术分析 操作符优化 IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。 但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别: ORACLE试图将…

官方抓虫,PyTorch 新版本修复 13 项 Bug
整理 | 寇雪芹头图 | 下载于视觉中国出品 | AI科技大本营(ID:rgznai100)近日,PyTorch 发布了新版本 PyTorch 1.8.1,相比3月4日从 PyTorch 1.7 到 1.8 的重要更新( 1.8 版本主要包括编译器和分布式训练更新&…

开发webpart时建立图像文件夹和CSS,js文件夹
如图所示:是通过添加映射来完成,做好之后,把图像拷到文件夹时,当ascx文件里需要用到图像时,直接把图像拖到ascx文件里的位置。这样就知道该图像的路径 了。转载于:https://www.cnblogs.com/oymx/p/3490175.html

AI金融若不解决这些问题,等于在制造新的不可解问题
人们对新事物总是充满恐惧。就在大家担心无人驾驶汽车是否弊大于利的时候,AI重塑金融规律的创新也引起许多人对其中的法律和道德问题的顾虑。 让一个软件程序来决定,谁拥有投资开户的资格,谁能够获得贷款(征信)&#x…

Java 领域 offer 收割:程序员黄金 5 年进阶心得!
怎样才能拿到大厂的offer?没有掌握绝对的技术,那么就要不断的学习。如何拿下阿里等大厂的offer的呢,今天分享一个秘密武器,资深架构师整理的Java核心知识点,面试时面试官必问的知识点,篇章包括了很多知识点…

TCP连接的状态转换图深度剖析
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接,如图1所示。(1)第一次握手:建立连接时,客户端A发送SYN包(SYNj)到服务器B,并进入SYN_SE…

ASP.Net中的TreeView控件中对节点的上移和下移操作
Web中的TreeView中的没有PreNode和NextNode属性。 但它的集合属性中有一个IndexOf属性,从而能够找到它的前一个节点知后一个节点。 TreeView中要么只有一个根节点;要么没有根节点,都是并列排的,这个要判断。 这里主要是用了递归&a…

大数据流通存隐忧 产业信任体系亟待建立
就在今年10月,始于美国东部的“DDoS攻击”席卷了整个美国,引起了人们对数据安全的恐慌,大数据安全问题逐渐暴露。在第三届世界互联网大会的大数据分论坛上,中国科学院秘书长邓麦村在致辞中指出,如何突破大数据关键技术…

ImageNet十年,AI数据标注如何蓬勃发展?
2016 年,AlphaGo 战胜李世石,成为新一代 AI 浪潮的重要里程碑事件。 经此一役,很多人都认识到了算法和算力对 AI 发展的重要性,确忽略了另一个重要因素:数据。 2009 年,时任斯坦福大学任助理教授的李飞飞…

关于webservice的异步调用简单实例
于webservice的异步调用简单实例无论在任何情况下,被调用方的代码无论是被异步调用还是同步调用的情况下,被调用方的代码都是一样的, 下面,我们就以异步调用一个webservice 为例作说明。这是一个webservice <WebMethod(Descrip…

理解NSAttributedString
An NSAttributedString object manages character strings and associated sets of attributes (for example, font and kerning) that apply to individual characters or ranges of characters in the string. 这句话就是对这个类的一个最简明扼要的概括。NSAttributedString…

Redis集群两种配置方式
2019独角兽企业重金招聘Python工程师标准>>> 第一种使用:JedisCluster <bean id"jedisPoolConfig" class"redis.clients.jedis.JedisPoolConfig"><property name"maxTotal" value"30" /><proper…

调用API弹出打印机属性对话框
调用api弹出打印机属性对话框 Author:vitoriatangFrom:Internet.NET Framework封装了很多关于打印的对话框,比如说PrintDialog, PageSetupDialog. 但是有的时候我们还需要关心打印机属性对话框,那么就可以调用API来解决这个问题。有几个API函数与之相关P…