低代码应用是什么样子的?

2021-03-23 16:42 来源: 上海市大数据股份
原标题:什么是低代码(Low-Code)?怎么突然就火了?(下篇)
在这个信息爆炸的世界,永远不缺少新奇而又短命的事物。那为什么低代码能突然火了起来并被众多大厂重视起来,这就要归集到它的市场价值。
在这个大爷大妈都满嘴“互联网+”和“数字化转型”的时代,企业越来越需要通过应用(App)来改善企业内部的信息流转、强化与客户之间的触点连接。然而,诞生还不太久的IT信息时代,也正面临着与我国社会主义初级阶段类似的供需关系矛盾:落后的软件开发生产力跟不上人民日益增长的业务需求。
Gartner预测,到2021年应用开发需求的市场增长将至少超过企业IT交付能力的5倍。面对如此巨大的IT缺口,如果没有一种革命性的“新生产力”体系,很难想象仅凭现有传统技术体系的发展延续就能彻底解决问题。而低代码技术正是带着这样的使命而降临。
虽然软件行业一直在高速发展,新的语言、框架和工具层出不穷,但作为从业者我们不得不承认:软件开发仍处于手工作坊阶段,效率低、人力成本高、质量不可控。项目延期交付已成为行业常态,而瓶颈几乎总是开发人员;优秀的开发人才永远是稀缺资源,还贼贵;软件质量缺陷始终无法收敛,线上故障频发资损不断。
低代码正在将应用软件开发过程工业化:每个低代码开发平台都是一个技术密集型的应用工厂,所有项目相关人员都在同一条产线内紧密协作。开发主力不再是熟知for循环一百种写法的技术Geek,而是一群心怀想法业务sense十足的应用Maker。借助应用工厂中各种成熟的基础设施、现成的标准零件、自动化的装配流水线,开发者只需要专注于最核心的业务价值即可。即便是碰到非标需求,也可以随时自己动手,用最灵活的手工定制(代码)方式来解决各种边角问题。
通过让大部分开发工作可以仅通过简单的拖拽与配置完成,低代码(包括零代码)显著降低了使用者门槛,让企业能够充分利用前面所提到的平民开发者资源。部分纯零代码需求场景下,低代码还能让业务人员实现自助式(self-service)应用交付,既解决了传统IT交付模式下的任务堆积(backlog)问题,避免稀缺的专业开发资源被大量简单、重复性的应用开发需求所侵占,也能让业务人员真正按自己的想法去实现应用,摆脱交由他人开发时不可避免的桎梏。
至此,应用开发能力不再是少数专业开发者的专利和特权,且今后所需要的技能门槛与拥有成本也会越来越低,真正实现所谓的“技术民主化”。
多方调查结果显示,软件项目失败的最主要原因之一就是缺乏沟通(poor
communication)。传统开发模式下,业务、产品、设计、开发、测试与运维人员各司其职,且各有一套领域内的工具和语言,长久以来很容易形成一个个“竖井”(silos),让跨职能的沟通变得困难而低效。有了低代码后,这一状况将得到根本改善:上述各角色都可以在同一个低代码开发平台上紧密协作(甚至可以是同一个人),这种全新的协作模式不仅打破了职能竖井,还能通过统一的可视化语言和单一的应用表示(页面/数据/逻辑),轻松对齐项目各方对应用形态和项目进度的理解,实现更终极的敏捷开发模式,以及在传统DevOps基础之上更进一步的BizDevOps。
低代码尝试将所有与应用开发相关活动都收敛到同一个平台(one platform)上后,将会产生更多方面的聚合效应与规模收益:
人员聚合:除了上一点所提到的各职能角色紧密协作以外,人员聚合到统一的低代码开发平台进行作业后,还能促进整个项目流程的标准化、规范化和统一化。
应用聚合:一方面,新应用的架构设计、资产复用、相互调用变得更容易;另一方面,各应用的数据都天然互通,同时平台外数据也能通过集成能力进行打通,彻底消除企业的数据孤岛问题。
生态聚合:当低代码开发平台聚合了足够多的开发者和应用后,将形成一个巨大的、连接一切、有无限想象力的生态体系,彻底放飞低代码的价值。
相比纯代码而言,低代码极有可能成为更好的下一代生产力工具,原因有以下几点:
可视化拖拽与参数配置的极简开发模式,结合模型驱动的代码自动生成机制,可以消灭绝大部分繁琐和重复的boilerplate代码;一站式的部署和运维管理平台,无需自己搭建CI/CD流水线、申请环境资源、配置监控报警;一次搭建同时生成、构建和发布多端应用,免去人工同步维护多个功能重复的端应用;开箱即用的组件库、模板库、主题库、连接器等,让最大化软件复用成为可能。总而言之,低代码能够让专业开发者更专注于创新性、有价值、有区分度的工作,而不是把宝贵开发时间都耗费在上面那些不必要的非业务核心工作上。
虽然上面列的技术支撑性工作并不直接产生业务价值,但却会直接影响业务的性能、成本、稳定性、安全性、可持续发展能力等。有远见的企业,绝不允许牺牲这些重要指标,来换取短暂的业务加速。低代码开发平台深知这一点,因此在简化和屏蔽底层技术细节的同时,也会尽可能把自己所cover的部分做到最好(至少能和纯代码开发方式一样好),包括但不限于:
现代化的技术架构和实现:现代化的低代码开发平台,在支撑用户应用时所选择的技术架构与实现方案,也会是现代化且符合业界最佳实践的,例如,前端基于主流的HTML5/CSS3标准和React框架,后端基于成熟的Java语言、SpringBoot框架和MySQL数据库,部署环境基于云原生的Docker镜像、CI/CD流水线、K8s集群和Service
Mesh技术(相关知识可参考《正确入门Service Mesh:起源、发展和现状》)。
零成本的技术升级和维护:低代码的高维抽象开发方式,让应用的核心业务逻辑与底层技术细节彻底解耦。开发者在大部分情况下都不需要关心底层技术选型,同时也无需亲自跟进这些技术的版本升级与漏洞修复,免费享受与时俱进的技术红利和应用安全性提升。即便遇到某些底层技术或工具需要进行彻底更换(比如不再维护的开源项目),开发者也完全不必感知;技术迁移再费劲再难搞,平台自己努力就行,对开发者来说只要服务一直在线,岁月就依然静好;事后可能还会惊喜地发现,应用访问突然就变得更快了,仿佛冥冥中自有天助,感激上苍和低代码。
复用(Reuse)是提升软件开发效率和工程质量的最有效途径。传统的代码开发模式下,开发者可以通过提取公共类/函数、引用共享库、调用外部API服务、沉淀代码片段和模板等方式实现复用。在低代码的世界里,平台也可以提供对应的多层次多粒度复用手段,比如页面组件库、逻辑函数库、应用模板库等。
但更重要的是,低代码平台还可以充分发挥其一体化的生态优势,提供强大易用的可复用能力(资产)的发现、集成与共享体系:以页面组件为例,你可以直接用系统组件,也可以在平台自带的组件市场上搜索和引用更合适的组件,还可以自己用代码开发一个自定义组件并发布到市场中。平台的生态体系越大,积累的可复用能力就越多,应用的开发成本也会越低。
相比而言,虽然传统代码世界整体生态更庞大和深厚,但由于各类技术不互通、缺乏统一平台与市场、代码集成成本高等原因,一直以来都没有形成有类似规模潜力的生态能力复用体系,导致重复造轮子和低水平重复建设的现象司空见惯,还美名为“新基建”。
最后,和大家分享下低代码平台的应用场景,Gartner在2019年的低代码调研报告中,曾经绘制过一张用来阐述低代码适用场景的“应用金字塔”:
应用级别划分:从下往上,分别为工作组级(Workgroup Class)、部门级(Departmental Class)、企业级(Enterprise Class)、可扩展需求极强的企业级(Extreme-Scale Enterprise Class)。容易看出来,它主要的划分维度就是应用所面向的用户基数(基数越大,可扩展需求也越高)。
任务关键性:从下往上,各级别应用的任务关键性(Mission Criticality)逐级递增。例如一个只在工作组内使用的后台管理应用,一般都不会涉及到影响整个企业的关键任务。脱离企业这个视角来看,整个软件产业中也有很多通用的任务关键型应用,比如:实时操作系统、航空调度系统、银行对账系统。
实现复杂度:从下往上,各级别应用的复杂度(Complexity)也逐级递增。例如最上层的企业级应用,除了功能覆盖面大导致业务复杂以外,往往还需要满足更多苛刻的非功能需求,包括但不限于:用户体验、性能、可靠性、安全性、可伸缩性、可维护性、兼容性。其他一些复杂软件的案例包括:3D游戏界面(交互复杂)极其底层的游戏引擎(逻辑复杂)、超大型CRM系统(一方面是实现很复杂,另一方面,这种成熟软件的标准化程度较高,大部分情况下可以直接用现成的SaaS软件)。
应用需求量:从上往下,各级别应用的需求体量(Volume)逐级递增,呈现一个金字塔形状。这个特征可以用万能的2/8原则来理解:20%的“全民”应用,由于需求的通用性和普适性,可以覆盖至少80%的用户群体(例如企业大部分人都要用的考勤系统);而剩下那80%的“小众”应用,由于需求的定制化和特殊性(例如蚂蚁的期权系统...),就只能覆盖各自小圈子里那20%的用户了。
与低代码的契合关系:从上往下,各级别应用与低代码越来越契合(Relevant)。也就是说:越简单的应用,越契合低代码;越不太关键的任务,也越契合低代码。同时,由于契合低代码的应用更偏金字塔底层,而这些应用的需求量都更大,所以可以得出如下判断:低代码能够适用于大部分业务场景(而且这个比例会一直上升,逐步往金字塔的更上层应用逼近),例如:B2E类应用(表单、审批流、ERP系统)、B2B类应用(企业商城、工业控制台)、B2C类应用(企业展示、营销页、店铺装修)。
以上内容原创作者:楚衡。返回搜狐,查看更多
责任编辑:
}

作者
晋兆雨、邓晓娟
出品
CSDN(ID:CSDNnews)
软件开发是以业务和功能为中心的工程项目,以实现业务逻辑满足开发需求为最终目的,但是传统开发方式由于“开发者不用,用者不开发”的“潜规则”,多年以来存在一个广为人知的困局——程序和功能匹配度差。用户和开发人员的沟通问题就是功能需求和软件应用之间的“天堑”。
无数开发架构和文档被提出来“填补”这道“沟壑”,但是问题依然存在。无代码平台通过重新进行开发人员和用户的科学分工,提出了新的解决方案,实现了“谁用谁开发”的新形态。用户对系统设计的功能负责,开发人员只需要负责设计平台,这样的分工方式时的矛盾得到了很好的解决,并促使平台不断优化。实现了业务系统开发平民化,开发速度和质量飞速提升,实现了每个企业都可以快速构建自己的信息系统的梦想。
无代码开发能够提供的不仅是敏捷、赋能、融合、高效、安全与便捷,当其走向开放、拥抱变化、创造生态,势必将打破传统技术的重重壁垒,创造无限可能。
为了探索中国无代码平台企业的发展历程,了解无代码领域的优势和挑战,分析软件开发市场无代码平台的未来趋势,CSDN对轻流联合创始人李婷婷进行了独家专访。轻流作为一款在线业务流程搭建网站,五年来,从行业探索经验出发,对比研究了管理软件不同开发方式的优劣,总结了管理软件未来的发展趋势,并率先对无代码开发理念进行系统性阐述;详细解读了无代码开发广阔的应用场景以及给企业数字化转型带来的极高价值,为管理软件的开发提供了更多可能性。今天就跟随我们,和李婷婷李总深入分析中国低代码领域的发展历程和挑战。以下为采访精华,话不多说,让我们一起看看!
李婷婷
CSDN:介绍一下轻流项目开始发起的一个契机,以及对于低代码开发、BPM的思考。
李婷婷:轻流项目的创始人团队一共有3个人,CEO&创始人是主要管理市场——从运营、营销到销售。另外两位联合创始人是我和严琦东,严琦东主要负责产品和设计,我专管研发,3个人的分工就是做产品、研发和市场。公司2015年就注册成立,当时国内还没有无代码和低代码的概念,我们做的主要是在线 BPM。
我和其他两位创始人在学校时,会接一些学校信息系统的维护或者是搭建信息化项目,当时我们觉得在线审批是很有必要的,因为在学校里申请三好学生、退宿都很复杂,需要去各个单位敲章,以这个为契机,我们产生了这样一个想法。
当时市场上比较常见的是表单工具,像金数据、番茄表单或者是表单大师这类工具。对于我们来说必要的组成部分是表单,但我们更看好的底层的流程,表单只是一个数据的来源,定义了数据收集时候的格式。
校内的业务系统最重要的是数据是通过什么样的规则、如何收集的,要经过哪些步骤,过程中可能会引入不同的角色。我们当时并没有很多工作经验,凭着直觉,觉得会是一个操作系统。比如说定制化开发的时候,最需要能够自定义的部分内容。
2015年、2016年探索方向的时候,只是觉得底层业务流程是很重要的,我们内心有想法,但是不知道在实际业务应用领域应该是一个什么样的概念。经过了一到两年,我们才知道自己在做的东西叫 BPM(业务流程管理)。2016年我们拿到了比较资深的用户——Enactus
创行,是我们第一个成功的商业领域的客户,一个大学生创新创业活动的全球创新组织会用我们的产品做赛事报名或者内部管理。
2016年拿到一轮种子轮,2017年3月份研究生毕业之后,我们选择了全职工作。我们原来做的产品比较重表单,对于业务流程、自定义的灵活性不够高,整个产品的架构设计、底层研发的框架以及选型都不是很符合我们的预期。
产品最开始叫“申请通”,这个名字听起来校园感比较强。大概在2017年3、4月份,我们做了一次彻底的重构,历时大概三四个月,发布了一个新的版本并进行了品牌升级,“轻流”由此诞生。
CSDN:作为程序媛,您的技术成长和学习之路大概是什么样的?
李婷婷:我本科和硕士都在交大软件学院就读,研究生阶段,比较深度的接触到了前端,因为本科的时候做过前后端不分离的系统, 2014年、2015年前端框架也比较火,所以最开始入手是前端。
当时觉得特别有意思,一天10几个小时,一周六七天都可以在电脑前工作,后来开始去创业,就不能只专注于前端了,前端只是作为工作的一部分。当时整个公司全职研发人员也就一两个,其他大多都是实习生。因为缺少工作经验,遇到前端、后端、运维上的问题,都需要我一个人解决。创业过程中,所有人都在看着你、追问你要怎么去解决问题。在这个痛苦的过程中我们也收获了很多成长。
3年的过程中我对整个研发的领域都接触过,代码仓库从0开发,自动化、运营、服务器的更新,灰度发布,整个机制实现、前后端、云服务器的选型、采购、维护。专注于前端的人可以快速的发展到每个领域都会,但是可能没办法特别精,这也算是一个缺憾。
CSDN:在这个过程中,你觉得对你影响比较大的人或资源有哪些?
李婷婷:3个创始人之间互相影响比较大,因为我们3人之间接触的时间要远远超过跟同学或者家人在一起的时间。彼此一直在学习对方优秀的地方,作为研发人员的话我在表达能力、待人接物,商务能力并不是很强,所以也一直不断在跟其他两位创始人去学习。
CSDN:你认为怎么区别 BPM 和协同办公软件之间的区别呢?
李婷婷:BPM 的核心在于业务流程规则的定义,是一个流程引擎,搭配上规则引擎和权限限制。
对于 BPM 产品,一定是强规则、强流程,相当于自上而下,设定好公司的运行流程,跟协同是不一样的出发点,协同是一种自底向上,项目成员之间协同,高效的推进工作活动。BPM 的话是另一个角度,比如说做好了公司的战略规划,理论上没有特殊情况都要按照规则走,像是不能挑战的整个企业的运行规则。
CSDN:请从架构和技术领域来讲一下轻流整个底层平台技术的演进。
李婷婷:最开始对于BPM理解并不深入,国内的概念也不如现在明确,因此产品架构上面,流程的自定义程度不高。技术架构上使用的是一个比较老的框架,JQuery 加上
Java。因为大家经验不足,一些页面在一个文件里面有几千行代码,想要改动需要花费巨大的精力和时间,且很容易出问题。从技术上考虑,原来产品形态比较重表单,流程自定义程度不够高,产品与我们的预想有出入。
我们因此面临一个选择,一个是自己做一套业务流程引擎,另一种是选用成熟的开源BPM的框架。
CSDN:低代码开发的平台在个性化需求的满足上可能会稍微弱一点,在产品设计方面有哪些原则能够更好的满足不同的场景,不同行业的需求?
李婷婷:对于我来说:规则要能够一句话讲通。在做一个细化的功能时,可能会有很多限制或者规则,一种情况下可以考虑客户各种场景的使用,制定一系列规则:规定不同场景下的表现。无论是对内还是对外,客户只需要根据一句话的规则就能知道整体的设计。
举一个例子,对于数据的处理有一个统一的规则,录入数据时只是录入数据的快照,不包含任何的引用,相当于数据只要录进去,原数据再有任何改变都不会变更录入的数据,这会影响到系统中很多数据处理的过程,每一个数据处理都应该按照同样的原则,对外和对内都易于理解。
CSDN:轻流整个产品或服务的全景图是什么样的?比如说我们提供了哪些产品,或者说我们有哪些服务,大概有几种?
李婷婷:整个产品是 aPaaS 无代码开发平台,包含几个部分。
1、底层的无代码表单流程、开发工具;
2、数据分析;
3、对外集成。
基础工具主要包含表单、流程、规则引擎、权限,以及人员架构上的设置。数据分析:针对积累的业务数据做不同的统计报表、统计维度的分析。对外集成也包括很多大类,数据录入型、深度的集成。像电子签章、OCR 扫描。
轻流与 Teambition 有比较深度的战略合作,现在可以基本实现在 Teambition 无缝使用轻流。Teambition 协同能力优秀,但之前对于审批流没有过多投入,现在的看板可以在轻流中设置一个业务流,经过轻流审批之后会自动勾选。
CSDN:目前在无代码加 BPM 领域里的现状如何呢?轻流的用户属于哪一种呢?
李婷婷:国内现在做无代码加 BPM 的不少,从根本上讲,可以先用低代码和无代码划分,低代码和无代码面向的客户群会有一定差异。低代码更多面向开发人员或者直接的研发部门,Low Code 代表需要程序员做一定的开发然后才能使用,它的定制化程度会稍高一点,对于业务系统的定制人有编程的背景的要求。
无代码主要面向业务人员,定制化搭建一套完整的系统,基本上不需要借助任何研发人员。还有一个维度,比如说服务的客户类型,有些产品面向大中小型客户,有些产品的定位主要是 SaaS,面向中小企业客户。还有一些产品的定位是中大型客户。
我们的产品属于一种像 excel 的通用工具,是不分场景、不分人群的。
CSDN:怎么看待现在低代码和无代码开发的趋势?它能解决我们现在所有的问题还是说它能弥补一些要从头开发的场景?
李婷婷:现在无代码或者是低代码平台的兴起,像以前高级语言被研发出来,最开始要懂二进制才能编程,当我们用高级语言:Java、C++,已经不再关心它如何被转换成二进制编码。在未来,无代码、低代码开发平台,其实就是一种新的语言和框架,我们可以达到更高层的抽象和封装,不需要再关注更底层的逻辑。从短期来看,低代码和无代码开发平台还处在探索阶段,各方面能力还不是很充足。因为时间红利,现在的平台更专注和其它产品的连接性,在还没有拓展的领域可以做到借助该领域更优秀的产品的能力。从长期来看低代码、无代码其实并不会替代所有的场景或者垂直领域的专精产品。
CSDN:现在低代码和无代码的短板有哪些呢?
李婷婷:现在比较困难的是把各种系统的数据打通,在实际的场景领域,越是中大型企业,使用的产品、系统越多,如果没有低代码或者无代码,每个企业都迫切的需要有数据总线把不同系统的数据串联起来。无代码、低代码平台如果被引入一个企业,能在平台的基础上建立很多业务系统,更需要它在已有的系统去做数据上的对接和打通,这是无代码、低代码面临的一个比较大的挑战——需要快速适配非标产品的能力。
CSDN:未来两年轻流的发展规划是什么?
李婷婷:商业上,后面一两年需要去积累更多行业和场景的垂直方案。因为要想把标准化产品做出来,需要了解各个行业的实际使用场景,把其中的共性抽象出来,封装成一个个标准化的乐高组件,才能有更高的灵活性去搭建起来。因此行业和场景能力的积累会是未来一到两年的重点突破方向。
对于如何去运营社群,希望能够有更多的用户,互相之间培训用轻流去搭建一个平台。如果用轻流就和用 excel 一样,是一个基础技能的话,就不需要去教育市场了。
产品研发的重点主要是在基础工具,对于数据分析的能力未来会着重加强。还有对外连接,和其它标准产品或者非标产品的集成能力,也会作为一个重点的方向。
嘉宾简介:李婷婷,轻流联合创始人兼CTO,本硕毕业于上海交通大学软件工程专业;TGO鲲鹏会会员,女性领导力公益组织GWC核心成员;曾就职于Teambition、Daocloud、Cisco等企业;曾多次深度参与企业服务创业项目研发工作,积累了丰富的企业服务业务及技术经验;全栈工程师。
}
一、Low-Code is Low??? 谈到低代码,可能我们的第一反应是,低代码就不是拖拽生成表单吗?听起来一点不难。 而且应用场景十分有限,总觉得没什么L用。 实际上, 低代码不仅仅是拖拽生成表单,它在一些特定领域提供很强大的功能。 前端同学使用低代码也不仅仅是拖拽,你可能需要集成低代码引擎,也可能需要自己搭建适合业务的低代码平台。 前面文章简单介绍了低代码的概念,接下来介绍一下低代码的使用。 对于上面的问题,将从低代码使用的两个方面详细说明: 1. 使用低代码平台能实现什么? 2. 怎么在项目中使用低代码? 二、使用低代码平台能实现什么? 前面提到过,低代码可以用来开发活动页、表单、表格、报表,其实低代码应用远不止这些。 实际上,很多通用的东西都可以抽离并沉淀,然后让这些通用的东西可以在平台上通过可视化的拖拽、配置搭建出应用来。这就是低代码基本的思路。 就像建房子,可以一砖一瓦,钢筋水泥垒起来,也可以用装配式建筑。区别只是“通用的”构件的颗粒度不同,本质是一样的。 对于低代码,这些“通用的东西”可以是组件、页面模板、业务逻辑,甚至是行业解决方案。 下面举几个低代码应用场景的典型例子: 拖拽生成表单 下图是一个低代码编辑器的界面 表单是低代码最直观的应用场景,很多文章或者低代码产品介绍低代码概念时候,都用这个来举例。前面文章也有介绍。 流程引擎 审批流程是每个公司都会遇到的业务,但是不同公司的组织架构不同、流程制度不同、审批消息通知等需求都不尽相同,但是审批流程很多地方是相同的:都有一个发起人,都有终止状态:成功or失败,结构都是一个有向无环图......,将这些通用的逻辑抽象出来,再支持可视化编辑,就形成了流程引擎,可以让用户轻松地定义自己的审批流程业务了。 下图是一个低代码产品的流程引擎示例 企业官网模板 如果你想搭建自己的企业官网,你可以找到外包服务,让他们给你设计、开发、部署,然后后期更改还需要维护费用。 企业官网这类网站的特点是,网站是静态页面,基本都由文本、图片、多媒体、轮播图等固定组件组成。特别适合用可视化编辑方式搭建。 现在有一些企业官网搭建的产品,提供了大量的企业官网模板,你可以在其中选择自己中意的模板,然后在其提供的可视化编辑器中替换你自己的企业官网的介绍文本、背景图片、logo、slogan等。广义上讲,这也是低代码的一种应用。 下面是一个企业官网搭建服务商的界面 下图展示了用户可以通过编辑模板,定制自己的企业官网 CRM CRM(Customer Relationship Management)指客户关系管理系统,是一种给销售及管理人员使用的,能够对市场活动进行规划、评估,对客户信息沉淀,对各种销售活动进行追踪的软件。 传统的CRM软件需要从相应的软件服务商购买。传统的CRM有这样的痛点: 功能都是预定的,非常重,很多功能并不通用,所以每个企业使用时候都会有冗余的功能。很难让你进行个性化定制。 响应速度慢,从你提一个需求到软件服务提供商交付周期比较长。 现在一些低代码产品和传统软件结合,比如,提供低代码 + CRM的产品,既有CRM大部分基本功能,又支持自定义一些业务逻辑 自定义客户订单 自定义业务流程 低代码就是这样,比编程开发要死板,但能提高效率;相比SaaS软件增加了一定的学习成本,但要更灵活,支持自定义。低代码在两者之间找到自己定位,创造价值。 三、如何在项目中使用低代码? 我们先来看看用户是如何使用低代码平台的 一些低代码平台宣传的口号是,通过拖拽搭建企业级应用,但是低代码平台操作肯定不只是简单粗暴的生拉硬拽。拖拽只能形成好看的皮囊,配置才能构建有趣的灵魂。 只有通过配置,才能定义组件的行为、逻辑,让应用能够按照预期运行起来。 所以,可视化操作 = 拖拽 + 配置 接下来我们讨论下低代码技术是如何被应用到我们的业务中的。 低代码平台只是一种使用低代码技术的方式,低代码其实是渐进式应用,你需要选择适合自己业务的低代码应用方式。 说到渐进式应用,大家马上会想起经典的Vue框架。 渐进式就是指Vue框架设计的是多个层,你可以单独选择每个层使用,对于其他层可以使用其他的方案,而不需要全盘接受Vue提供的所有的解决方案。 在项目中使用Vue框架,你可以: 只使用vue的声明式渲染,但不用其他的功能。 你可以不使用Vue组件,而是使用jquery设计自己的组件。 你可以不用前端路由,或者自己实现自己的router,当然也可以使用vue-router实现前端路由。 状态管理你可以使用redux,当然使用vuex也可以很方便地接入。 你可以自己使用webpack或者其他构建工具搭建你的项目,也可以选择使用开箱即用的vue-cli。 其实低代码也是渐进式的技术。我们可以参照Vue渐进式的图,画出低代码的渐进式示意图: 我们自外向内介绍(注意并不是市面上每个低代码的产品都提供所有的支持) 解决方案 很多低代码的产品和传统的软件解决方案结合,比如CRM、ERP、MIS、BPM等,这些传统的软件有一些问题,前面已经讨论过:功能都是预定的,很难个性化定制;需求响应速度慢。 基于低代码的解决方案则可以解决这些痛点。例如雀书、简道云等企业提供的低代码 + CRM产品,提供了客户关系管理的基本功能。并且支持你自定义一些选项,还可以自定义业务流程,这些自定义的操作都是通过可视化编辑,不需要写一行代码。你可以直接使用这些产品实现你的业务,这种方式使用低代码,基本上不需要研发同学介入。 平台 直接使用平台:微搭、爱速搭、宜搭都是典型的低代码平台,平台提供了通过可视化编辑搭建应用的能力,这是最基本的能力,但只有这个能力不足以承载企业级应用,所以低代码平台都提供了应用管理、用户管理、权限管理等支持。 私有化部署:低代码平台还支持私有化部署,类似gitlab/npm,你可以把项目部署到公司自己的内网服务器,让低代码平台连接你自己的数据库,这样应用的数据,和应用产生的数据,都会存储在你自己的数据库中。 模板市场/应用市场:如果你使用某个低代码平台搭建了一个好用的应用,而这个应用其他人可能也有需求,你可以把它放在低代码平台的应用市场或者模板市场中,其他类似的业务就可以复用你的应用。 运行时 如果你不需要平台提供的丰富能力,或者你希望自己管理应用、用户和权限,那么你可能只需要可视化编辑搭建应用的一个软件。 使用低代码软件需要考虑的一个事情是,你的数据怎么存储? 数据有两种来源,一个是使用低代码软件开发的应用的数据(例如创建了一个表单页面,需要把这个页面信息存储起来,这样用户才能访问到),还有使用这些应用时候产生的数据(例如一个表单页面提交信息)。 这两种数据都需要接口来存储到数据库中,低代码软件(如阿里开源的lowcode-engine)提供了运行时,通过运行时就可以直连数据库,你只需要提供连接数据库必要的信息(host、username、password等)。这样,创建应用不仅不需要写前端代码,后端接口也不需要,让一个没有编程经验的人瞬间化身全栈工程师。 运行时比较适合新创建的项目,如果你的旧项目中有一些老的接口,也可以让低代码应用通过这些接口进行数据存取。 可视化编辑器 如果你的业务不适合用低代码软件的运行时,比如你的接口的逻辑比较复杂,低代码软件自带的运行时无法支持;或者你的低代码主要用在一些老的项目中,需要复用老的接口和数据。你可以只使用低代码编辑器。 低代码软件都有相应的低代码编辑器。编辑器都和渲染引擎对应。编辑器支持用户拖拽方式搭建页面,编辑器生成的结果是以json或者代码形式存在的页面信息,结果生成之后保存到数据库,访问时候渲染引擎会根据页面信息渲染出页面。 渲染引擎 渲染引擎,简单地说,就是一个工具,它输入是页面信息(json/代码),输出就是用户看到的页面了。每个低代码软件都有自己的渲染引擎。 可视化编辑器通过拖拽和配置,生成页面信息,然后使用引擎把页面信息渲染成用户看到的页面,这就是低代码开发应用的大致流程。 渲染引擎内置丰富的组件,并支持自定义组件。 百度开源的amis引擎,用json来描述页面,例如这个页面对应的信息。 根据官方文档中说明,我们可以看到低代码的“低”: 全部实现这些需要大量的代码。 但可以看到,用 amis 只需要 157 行 JSON 配置(其中 47 行只有一个括号),你不需要了解 React/Vue、Webpack,甚至不需要很了解 JavaScript,即便没学过 amis 也能猜到大部分配置的作用,只需要简单配置就能完成所有页面开发。 因为渲染引擎是根据json生成页面,研发同学也可以将渲染引擎当做组件库使用,和antd等类似,只是不需要写React、Vue等模板代码,只要配置json即可。这样开发,远不如使用框架开发更灵活,但代码量少得多。 引用amis官方的文档中的例子: amis demo
选型 当你认真考虑要在项目中使用低代码时候,需要根据自己的业务定制自己的低代码开发环境。需要考虑几个因素: 是否需要低代码(基础篇-1有介绍)。 你的团队研发能力,业务属性,项目情况(是要在老项目集成还是创建新项目)。 考察低代码渐进式的能力,选择合适的层来搭建自己的项目或者集成到自己的项目中。 选择低代码平台时候,也要评估平台的易用性、学习成本、组件的丰富程度等因素。 四、总结 本文简要介绍了主流的低代码产品的功能和使用。 低代码提供很多能力:表单表格报表、流程引擎、页面模板、行业解决方案...... 低代码是渐进式的:渲染引擎、可视化编辑器、运行时、平台、解决方案。 低代码/零代码产品很大一部分关注于传统企业信息化,这是它们交付价值的非常重要的场景。 对于前端同学,有两个方向可以应用低代码: 使用低代码技术提升自己的开发应用的效率,例如使用渲染引擎的确能够少写很多代码。 能够搭建一个适合自己业务的低代码平台,或者在公司级别提供一个通用性的低代码平台。 后续会继续介绍低代码的具体实践(包括低代码引擎的使用、自定义组件、私有部署等)、设计和原理。 首发「灵题库」 }

我要回帖

更多关于 低代码应用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信