一文彻底讲明白低代码(低代码是什么)
本文将结合若干权威机构调研数据、作者本人8年的低代码自研经验以及中国市场的低代码产品,对低代码的技术原理、技术路线、发展现状、战略意义、目前存在的问题、未来发展的方向等做一个系统地阐述。旨在回答低代码到底是什么,低代码有什么作用,低代码有什么局限,是否应该使用低代码等一系列大家关心的问题。
目录:
- 低代码的基础知识(是什么)
- 低代码的市场需求与意义(为什么)
- 低代码的由来与发展现状(到哪了)
- 低代码的未来趋势(去哪里)
一、低代码的基础知识
1、低代码的定义
Forrester对于低代码的定义:能够以“最少的手写代码”和设置快速开发应用、配置和部署业务应用程序。核心要素是代码的有效封装和高频复用组件。
2、我本人对低代码的定义与理解
低代码与其说是一个工具或产品,不如说是一种价值观,旨在将既有代码高度复用,形成可复用、可调用的代码资产,以可视化的方式使用代码资产。很多团队虽然没有使用低代码,但是可能会有自己的中台、组件库等高可复用资产,广义地讲也是在应用低代码思想工作了。再比如像很早之前就面世的网页设计工具Dreamweaver、20年前就出现的模板DIY门户网站都属于低代码的范畴。
3、低代码的分类
一提到低代码,很多人就会想到拖、拉、拽,其实这种观点是片面的,低代码按照官方说法其实分三类。分别是零代码开发平台、低代码开发平台和低代码开发工具。大家在选型也好,研究也好,一定要分清楚。
(1)零代码开发平台就是咱们通俗的说的拖来拽,完全不用写代码,主要应用场景是轻量级的办公系统,比如审批,表单等。他的优势就是可以全民开发,缺点是应付个性化应用会有瓶颈,真正的研发人员也不愿意用。
(2)低代码开发平台也会有零代码那样的拖拉拽,还可以对业务逻辑进行拖拽,同时具备一定的二开能力,他面向的是专业的IT人员,优点是技术封装度较高,缺点是对于研发人员有选择与学习成本,大部分不提供源码和私有部署,这块会让用户选择时比较纠结。
(3)低代码开发工具,他的原理是代码的预封装与源码自动化生成,技术封装度不如低代码开发平台高,但是他能提供全部源码和开发自由度,同时也不会改变程序员的开发习惯。
这三种不存在孰优孰劣的问题,应用场景不同,大家可根据自己需求进行选择。
低代码的技术方向
4、三种低代码形态的对比分析
三者的共性特征都是代码封装、可视化、可复用、可集成。下面再分析下各自的优劣势、应用场景和目标用户群体。
零代码开发平台 | 低代码开发平台 | 低代码开发工具 | |
核心原理 | 表单驱动 | 表单&模型驱动 | 模型驱动 |
目标用户 | 全民开发 | 程序员 | 程序员 |
适用场景 | 特定高标准化场景,比如审批、OA类 | 全场景,尤其个性化项目 | 全场景,尤其个性化项目 |
优势 | 全程无代码方式生成;全民皆可开发;开发效率与质量最高 | 可复用的技术封装度较高;相比零代码具有自定义开发能力 | 项目代码100%开源;项目可独立于低代码开发、部署、维护;不打破程序员的开发习惯;既有组件库资产可复用 |
劣势 | 人工编程无法介入,注定只能用于特点高标准化场景,比如审批、OA类 | 开发与部署对平台依赖性较强;大部分不提供100%的源码;二开需要按照平台规则展开,需要程序员去学习并适应其规则 | 因其定位是程序辅助编码的工具,技术封装度不如低代码开发平台广 |
二、低代码的市场需求与意义
1、数字化浪潮的市场机遇
以下是从权威机构行业报告拿到的一些官方数据:
2022年,中国数字经济规模占GDP达 41.5%,居世界第二位,同比增速达10.3%,位居世界第一,是GDP名义增速的3倍。运用数字化手段重构业务模式、运营体系和客户体验,从而更好实现降本提效,是企业价值持续提升的必由之路。
2022年,中国软件业务收入跃上十万亿元台阶,全国软件和信息技术服务业规模以上(年营业额2000万以上者)企业超 3.5万家,累计完成软件业务收入106126亿元,同比增长11.2%。
IDC预测:2024年,数字经济的发展将孕育出超过5亿个新应用/服务,相当于过去40年间出现的应用数量的总和。
2、软件企业所面临的挑战
另一方面,行业内卷其实非常严重,上游签单价格趋低,而成本高居不下,导致利润被压缩,还要面临着各种回款账期的问题;同时交付效率与质量也不尽如人意,项目管理成本也是很大;再一个活多了找人,人多了找活这个用工风险问题也很大。综上,相信很多软件企业老板是感同身受。我画了一幅图,形象地描绘了当今软件企业的生存空间。
当今软件企业的生存空间
3、低代码的现实需求背景
(1)企业数字化转型需要。未来企业运营模式将会更加关注从生产转向服务,从分销转向用户,突破企业管理边界与上下游连通,把企业组织、管理、经营等行为由线下搬到线上,实现企业运营管理的业务在线,那么企业就迫切软件系统能够快速上线和敏捷迭代。
(2)软件企业需要。软件开发需求的市场增长与企业IT交付能力的差距,需要低代码革新IT生产力,在确保质量的前提下,实现降本提效,最终建立市场口碑。
(3)开发人员需要。低代码重塑交付模式,采用组件化、插件化、模块化的方式形成技术资产,最大程度进行团队间复用,跳过繁冗的低层次基础性编码工作,让开发者专注于更具价值与创新的工作。
4、低代码的核心价值
(1)开发成本低。相同项目体量在人工耗时、团队人数方面可大幅减少
(2)系统质量高。受益于大量基础组件封装,系统不会出现大面积的质量问题
(3)交付速度快。大大提速新产品上线速度,降低试错成本,提升客户体验
(4)经营风险小。可降低对于具体技术人员的依赖,同时降低用工人数
5、低代码的战略意义
关于上述第4点很容易理解,其实还有三点战略意义很容易被忽视,而这三点如果做好了,将有效提升软件企业核心竞争力
(1)重构软件开发流程。开发流程更敏捷,可废除繁冗的流程环节
(2)重构企业组织架构。业务复合型人才的需求将被放大
(3)重构企业经营模式。松耦合的企业组织架构将会被有效落地,让人均产值具有无限想象空间
三、低代码的由来与发展现状
1、低代码的发展大事记
2014年,Forrester首次提出低代码和零代码的概念
2016年,国内独立的低代码开发平台开始相继发布,我们也是在2016年开始研发低代码平台
2018年,Gartner提出了aPaaS和iPaaS的概念,其中aPaaS概念与低代码非常吻合
2021年,中国市场逐渐形成完整的低代码或无代码生态体系。
2、中国低代码市场规模
2023年,低代码市场规模达到61亿,预测至2025年将达到267.7亿,年复合增长率为63.7%。目前应用仍处于初步时期,主要在规模较大、成立时间较久的互联网、通信、金融、制造业企业中应用,约35%的用户为研发工程师
3、当今低代码推广落地面临的问题
以上讲到低代码的各种优势,但是实际推广落地时并没有想象的这么好,至少笔者身边的同业企业很多都没有用,究其原因,我总结了这么4点:
(1)可控性差,一旦用了低代码,就得按照他的规则进行开发和维护,很多还不能导出100%源码,即使能导出来也不易读,这个非常致命;
(2)易用性差,毕竟低代码都是含有大量的抽象,势必会带来很高的学习成本;
(3)扩展不灵活,一些低代码无法满足的需求,人工扩展不方便,更严重的是根本无法扩展;
(4)随着技术的发展,人工编码效率其实也很高了,而且每个程序员或每个团队其实都会有自己的技术积累,用了低代码以后之前的技术积累与开发习惯就可能会被放弃,而且还会带来一些新的学习与适应的成本,我经常说低代码就是省了键盘废了鼠标,更像是一个效率零和的游戏,对于那些有技术积累的公司或团队,最终折算下来,绝对的提效并没有那么大。
四、低代码的未来趋势
1、三个敬畏
低代码无论如何发展,至少在相当长的一段时期,我认为都应该保有三个敬畏:
(1)对行业保有敬畏感。承认每家软件公司都有其成熟稳定的管理模式与良好的技术积累,不可能用一套系统去改变每家公司的体系
(2)对程序员保有敬畏感。一个有思想的程序员不会被智能化代替,一个创新型的数字化系统一定离不开人工编程环节
(3)对客户保有敬畏感。客户对数字化系统越来越有自己的要求,不可能通过模板式的方法来满足客户所有个性化的要求
2、低代码是软件企业自身的数字化革命
无论你是否实施一套低代码产品,按照低代码的思想进行技术资产沉淀应该是毋容置疑的原则。所以我的观点不是要不要上低代码,是必须要上。至少要有低代码的开发思想。
3、低代码的市场发展趋势
低代码市场会出现竞合共融局面,也就是说虽然都叫低代码,擅长的场景、技术路线等侧重点不同,会出现同时实施多款低代码产品的现象,对于供应侧,短期内也很难出现一家独大垄断的局面。
4、低代码的技术发展趋势
笔者认为未来低代码可能会出现这样几种技术方向:
(1)轻量级的辅助编程(代码生成)工具。还是以人为主,机器为辅,程序员还拥有100%的控制权,同时又在开发效率上做出完美的平衡。
(2)低代码与AIGC结合。chatgpt出来时,很多人认为chatgpt或者其他一些大模型会取代低代码,甚至会取代程序员,我想说大模型与低代码和程序员是共存共融的,各自发挥擅长的领域,最终还都是工具,为开发者服务的,使用工具的目的是追求效率的最大化,并保有开发的自由度。
(3)低代码与超级自动化结合。众所周知,低代码系统存在着大量的配置工作,这些配置工作比纯手写代码效率已经提升很多了,但是还是略显繁琐,结合超级自动化RPA技术,把重复性的配置工作也交给机器
(4)可组装式行业应用市场。我相信软件企业的目标都是做出产品,但是现在数字化时代有个问题,就是个性化需求太多,很难用一套标准化产品兼容各种个性化需求。一直以来的做法就是将系统做的足够灵活,各种参数、业务流程都配置化,然后上线前由实施工程师根据客户需求完成实施工作。未来,低代码平台在提供基础能力、中台能力的基础上,势必会延伸业务组件,应用层进行快速组装与二开,这种做法与微服务还不同,从封装的颗粒度与封装的形态都不一样。
我是波哥,软件从业20年 创业10年,持续分享软件应用经验与创业心得。