实战低代码
上QQ阅读APP看书,第一时间看更新

前言

每一本书都有写作背景、写作初衷、适用对象、内容价值和局限性,本书也是如此。

写作本书的想法源自2020年新冠肺炎疫情期间的一次线上活动。当时我们与线上的朋友们一起探讨低代码/无代码技术的发展现状与前景,共同分析疫情带来的市场变化、用户行为变化、产品与服务变化以及接下来可能的技术发展路径,其中夹杂了一些对历史的回顾。彼时RPA(Robotic Process Automation,机器人流程自动化)话题非常火热,因此大家讨论得很热烈。但是我们写作本书的起因并不是这次讨论的具体内容,而是活动中听众的反馈。

如同所有在线公开交流一样,本次活动的听众也给出了各种各样的反馈。大部分听众对低代码/无代码这种应用开发方式感兴趣,有的听众针对嘉宾发表的观点提出自己的看法,有的跃跃欲试,还有一些人提出质疑与反对意见。质疑与反对是所有公开讨论中一个非常重要的组成部分,这本身就是科学与技术领域一贯倡导的批判精神的体现。但是这种批判精神需要有严谨的逻辑和充足的证据作为支撑。当时活动中大多数的质疑观点非常中肯且严谨,比如:低代码/无代码开发并不是新鲜事物;低代码/无代码开发并不意味着专业程序员会丢掉饭碗;低代码/无代码开发不是万能的,在使用过程中需要专业程序员做很多事前准备和事后管理工作。这些都是客观事实,据我们的观察,这个行业的绝大多数从业人员也秉持着这些观点,读者会在本书中看到作者对这些观点的介绍与分析。

但是在那次活动的反馈中,有些听众却因为这些局限性,再加上这些年技术领域惯于炒作概念的事实,生硬地把低代码/无代码趋势当作新一轮的炒作,将这种因社会发展需要和技术进步而产生的对于更高生产力工具的要求看成完全没有市场根基的空洞概念,甚至把它简单地理解成“新瓶装旧酒”,这就完全忽略了它的时代属性。当然,我相信很多人也是本着实事求是的态度,希望对技术概念正本清源,但是这种看似用心良苦的批判,由于没有注意到人类社会始终追求更高生产力工具这一基本逻辑,其结论有点以偏概全了。

客观地说,任何技术的兴起、流行或者消失,不仅取决于技术本身,更取决于现实的需求。低代码/无代码开发技术之所以能在这个时候重新发扬光大,有两方面的原因。一方面,相关技术发展到一定程度,使原来不可能的事情成为可能,其中的决定性因素是市场对于更高生产力工具的追求,其本质是人类社会对于如何利用机器的能力提高人类福祉的终极探索。

另一方面,生产力工具在不同的时代有不同的特征。在工业革命的早期,能够加强或代替人类四肢劳作能力的工具是生产力工具发展的重点,因此才有了以蒸汽机为代表的机器的普及。随着电力的发现与应用,以电力为动力的机器成为人类生产力工具的代表。之后随着计算机的普及,人类开始利用机器的信息处理能力来减轻或代替计算与决策工作,办公自动化工具在这个过程中起到了重要的促进作用。而当时代与技术发展到目前数字化越来越普及的阶段,尤其是当当代人的工作与生活已离不开云计算和移动应用之时,通过软件手段开发出的各种生产力应用就成为人类提高工作与生活效率的主要手段。

截至目前,大部分的软件开发是由专业程序员来完成的。而目前的事实是,专业程序员已经供不应求了。当然我们可以通过培养更多的专业程序员来提高全社会的软件开发能力,但是各种迹象表明(本书对此也有专门介绍),社会对于生产力应用开发能力的需求已经远超社会培养专业程序员的能力。同时,由于数字化已经逐渐渗透到人类社会工作与生活的方方面面,现在已经很难明确地表达我们需要什么样的应用、不需要什么样的应用。如果被问起这个问题,我们的答案大概会是“我们需要各种软件应用来强化人类社会的所有工作与流程”。另外,开发过软件应用的人都会有深刻的体会,那就是软件开发不可能凭空发生,它需要基于具体需求解决具体的行业问题,而现在软件应用的覆盖领域越来越广,覆盖内容越来越细致,再优秀的程序员也很难对所有业务的细节有深入的理解。这种时代的变化要求各行各业的从业人员具备基本的应用开发能力,其目的并不是将自己培养成专业程序员,而是借助这种能力来提高自己的工作效率。理论上,所有重复性工作、所有工作模式都可以总结成规律的工作,都可以用机器的软件与硬件能力来代替。因此当技术发展到一定阶段,当低代码/无代码技术发展到普罗大众都可以更有效地利用软件的能力来提高工作效率的时候,低代码/无代码技术自然就重新发扬光大了。

低代码/无代码不是新鲜事物,也不是办公自动化的终点。

就像三十多年前由DTP(Desktop Publishing,桌面出版)和OA(Office Automation,办公自动化)引领的大规模办公自动化一样,人类的办公方式将再次由于低代码/无代码技术的普及而产生新的变化。

上一轮的办公自动化让人类从物理意义上的“剪和贴”(Cut-Paste)逐渐变成用鼠标点击的菜单指令,再到越来越普及的Ctrl+C/Ctrl+X/Ctrl+V。没有多少人还记得原来的办公文员是真的要拿一把剪刀通过“剪和贴”来修改文件,那时候的剪刀不只是用来剪开信封的,还是一个非常重要的办公工具。

这一轮的办公自动化,一个最基本的标志将会是低代码/无代码编程能力变成一个与办公软件一样普及的基本办公技能。曾几何时,为了能够得到心仪的职位,大学毕业生的简历中要专门注明具备使用办公软件的能力。在可预见的将来,低代码/无代码开发能力或它的变种也极有可能会成为应聘职位的前提要求,而再过若干年,这种能力将变成默认能力,而不必写入简历之中。

这一轮低代码/无代码技术潮流再次兴起之时,与以往任何新潮流刚出现之时一样,受到保守程序员的冷嘲热讽,他们认为这又是一轮换汤不换药的编程自动化炒作;同时又受到悲观程序员的抵制,他们认为这会抢了自己的饭碗。殊不知,这与编程自动化根本就毫无关系,这是办公自动化的另一种体现。

也就是说,低代码/无代码能力是一种未来我们必须掌握的办公能力,它与现在流行的办公软件没有本质区别,与过去几十年的办公基本动作“剪和贴”的进化原理相似。随着时间的推移,大家逐渐意识到,未来的职场需要大量专业程序员与被称为“全民开发者”(Citizen Developer)的原办公文员或信息工作者共同努力,进一步提高办公效率。这不仅是对信息工作者办公内容和办公形式的升级,也是对专业程序员的开发范式提出的新要求。专业程序员需要帮助公司把大量已经沉淀下来的固定流程和能力打包成云原生的应用模块,以开放API的方式,以服务的形式,供大家调用。

在这种局面下,现在的专业程序员非但不会失去工作,反而会将自己的软件技能延展到一个新的空间,但这要求无论是专业程序员还是全民开发者都进入一个新的学习态。

至此,以“云原生、容器化、微服务化、一切皆是API、一切皆是服务”为基础的下一代智能办公链开发闭环已形成。

这种效率实现方式需要软件开发与行业领域知识的密切配合,它既不是传统意义上的纯粹软件开发,也不是传统意义上的纯粹办公自动化,它需要依赖专业程序员和所有其他人员的共同努力,一起通过软件提高大家的工作效率。正是因为看到有很多人对于这种生产力提高工具充满兴趣,又有很多人对于这种技术抱有不切实际的期望或者不符合实际的偏见,几位作者产生了写作本书的想法。

本书的目标读者群体主要是希望了解低代码/无代码技术最新发展趋势的企业决策者和一线业务人员,以及希望拓展自身软件开发技能边界的专业程序员(提供一个未来发展的新视角)。本书系统讲述了低代码平台的基本概念与知识、实践操作指导及行业应用场景等,并介绍了低代码平台对数字化转型的作用以及对未来全民开发者和企业数字公民的深远影响。在对趋势与变革的描述中,将技术实践和行业案例娓娓道来。

全书共12章,分为三篇。

第一篇 刷新认知(第1~4章)

作为全书的开端,本篇从低代码平台的基础讲起,重点解析其概念与价值、市场定位与主流平台、典型应用场景,并剖析低代码平台对数字化转型的重要影响。

第二篇 实践出真知(第5~10章)

本篇以低代码平台Power Platform的具体实践为例,从低代码应用开发、流程自动化、数据分析与展现、AI赋能低代码等维度,结合实际案例,详细讲述低代码应用的开发过程。相信认真读完本篇,尤其是能够跟着一步步操作所有示例的读者,一定会受益匪浅,并学会如何开发属于自己的低代码应用。

第三篇 已知和未知(第11~12章)

本篇是围绕已知的行业应用案例和未知的变革展望展开的。行业应用案例部分以零售、教育、金融、制造、专业服务等真实场景为例,从面临的挑战、基于低代码平台的解决方案、方案收益等角度层层递进;变革展望部分以开放的视角展望未来变革的新常态,探索数字化能力和创新的边界。

写作一本书很难面面俱到,会受到作者思想与能力的限制。尽管本书作者尽最大努力带给读者全面的知识和客观的解读,但终究难免挂一漏万,甚至出现差错,恳请读者谅解。

本书作者均来自微软(中国)公司。我们能够在繁忙的工作之余完成本书的写作,离不开微软公司各级领导和各个部门的大力支持与协助。在此衷心感谢微软公司的各级领导与相关同事,正是他们的支持使我们有信心、有动力为广大读者提供这样一份融入了我们自身心得体会的作品。同时,也要感谢本书编辑及出版社的其他工作人员,他们对书稿细致耐心的修改使本书得以顺利与大家见面。

本书内容均来自作者在职业生涯中的学习与体会,不代表任何公司的建议。我们衷心希望广大读者能够借助此书开阔视野,为即将到来的伟大时代做好准备。