江西九江租车公司排行榜
646
2023-06-25
这篇内容我们来说一说低代码,与某种具体技术不同,对于低代码的概念,业界至今没有达成一致意见(我估计以后也不会,这是低代码被赋予的职能决定的)。
但作为低代码的接触着,甚至是架构者,我们需要对低代码平台到底是什么有一个清晰且深入的了解。这篇内容里,我会通过对低代码平台进行归类带你厘清低代码的概念,并带你分析当前低代码的发展现状,让你在脑海里建立起对低代码的直观印象。
一、低代码平台简介
1. 概念
广义上的低代码平台包括低代码平台和零代码平台,它们都属于APaaS(Application Platform as a Service 应用平台即服务),两者的主要区别在于对代码的依赖程度:
低代码平台:通过自动代码生成和可视化编程,只需要少量代码,即可快速搭建各种应用零代码平台:零开发经验的业务人员通过拖拽等方式,无需编写代码,即可快速搭建各种应用以上可知,低代码平台面向开发人员,专业性较强,可以提高开发效率,但要求使用者具备一定的技术基础;零代码平台降低了开发门槛,从而将用户范围扩展到了业务人员。大家可以类比一下PhotoShop与美图秀秀,大概就是这么个区别。
2. 优势及局限
相较于原生开发模式,低代码开发平台能显著提升开发效率,尤其适合业务变化快、预算有限、开发时间紧迫的企业应用场景;相较于只能解决行业通用问题的SaaS租用模式,低代码平台适用范围更广,可以满足个性化需求,有较强的灵活性。
低代码平台也有明显的局限性,至少就目前来说,它主要用于搭建企业软件,因为此类软件架构是有一定规律的,低代码平台的产品设计者正是找到了这种规律(快看,这就是智慧呀!),但它并不适合娱乐、社交等软件开发。此外,低代码平台目前仍处于发展初期,成熟度也待进一步提升。
二、低代码平台两种技术路线
1. 基于IDE框架的快速开发平台
该方案将传统的集成开发环境(IDE)充分可视化,开发者对前端界面组件、数据源绑定方式、数据模型、业务逻辑和工作流等都可以自由定义,平台将自动生成代码,开发者也可以添加自己的代码,对程序具有较强的控制能力,因此该方案具备更高的灵活性,可以设计出定制化程度高、逻辑复杂的软件。
由于该方案仍涉及代码开发、部署等技术工作,所以它仍然是一个技术开发平台,需要较高的学习成本,主要价值是提高开发效率,减少重复劳动。
Outsystems就是采用该方案的典型产品,如下为产品截图:
2. 基于模型驱动的应用平台
用户通过可视化方式构建数据模型、视图、权限、工作流等,即可在平台提供的环境中运行,无需编译部署,更像一种傻瓜式的应用搭建平台。平台对各类组件、业务逻辑做了较高层级的封装,因此用户无法随心所欲修改界面风格、交互方式、处理逻辑等。
该方案可以实现完全零代码,对使用者技术要求不高,但需要具备业务抽象、建模能力。主要价值是降低开发门槛、快速适应变化。
明道云、伙伴云等都是此类方案的典型产品,如下为明道云的产品截图:
三、低代码平台核心要素
软件产品的搭建从原生代码开发到SaaS租用再到低代码平台,都是人们为了降低开发成本、控制项目风险(超过50%的软件项目都是失败的,无法为客户带来预期价值)、提高开发效率不断努力的结果,人们期望能找到更通用更高效的解决方案。前文也已经提到,低代码平台之所以能广泛用于企业软件的搭建就是因为人们吃透了企业软件的本质(底层思维能力是多么的重要!),找到了某种规律,那么是什么规律呢?
绝大部分的企业软件由以下四个部分组成:
业务实体:即操作对象,如客户、订单业务活动:即进行何种操作,如采购申请、合同审批业务权限:即何种人拥有何种权限,包括数据查看权限和数据操作权限,如部门经理可以管理所有下属的客户信息,而员工只能管理自己的客户信息统计报表:即从哪些方面量化企业活动情况,如客户增长率、各月销售额趋势低代码平台将以上进行抽象,支持数据模型、业务流程、用户权限、统计图表,因此可以作为更通用的企业软件解决方案,这四类能力也是任何一个低代码平台都必须具备的核心要素。下面我们来看一下低代码平台是如何支持这四个要素的:
1. 数据模型
建立数据模型就是提取业务实体的数据特征,抽象为数据表,建立表间关系。B端产品经理制作ER图的过程就是数据建模。市面上常见的低代码平台均提供了丰富的控件,可以拖拽完成数据模型搭建。此外,数据模型搭建与表单展示合二为一,每完成一个数据表的创建,就自动生成了该表的增删改查功能及相关页面,进而隐藏了数据库设计、前端开发这些专业技术。其实,这也就是我们常说的表单引擎。
这里顺便提一下,虽然很多低代码平台将数据建模与表单展示合二为一,但通过这种方式自动生成的表单只能实现最基础的增删改查页面,用户对界面展示内容及形式的控制程度很低,无法满足大部分企业软件的需求,所以低代码平台一般还会提供自定义页面功能,用户可根据需要在页面上配置按钮、图表等元素,满足个性化需求。
如下图分别为明道云单个业务实体创建界面及平台自动生成的新增该业务实体页面。这里我以学生、班级为例,配置了【班级】这个业务实体包含的字段,并设置了【班级】实体与已创建的【学生】实体的 1:n 关联关系:
2. 业务流程
业务流程指为了实现某项目标,由多人合作,按照一定的规则、顺序进行的一系列活动,在软件中,业务流程的参与者可以是人,也可以是程序。低代码平台实现了可视化流程配置,用户对触发条件、处理节点、节点参与者进行配置,实现自定义业务流程。
如下图是明道云业务流程配置界面:
无论是原生开发模式、SaaS模式、还是低代码平台,变化的是软件开发模式,而永远不变的是让技术赋能业务,为客户创造价值。对业务的理解能力、抽象能力、解决方案能力值得每位B端产品经理不断探索、提升,大家共勉!
由于使用大量的组件和封装的接口进行开发,以及集成云计算的IaaS和PaaS层能力,使得开发效率大幅提升;普遍的观点,低代码能够提升30%以上的开发效率,而0代码(无代码)则能够数倍提升开发效率;并大幅降低开发成本。在激烈的市场竞争中,谁可以用最快的速度将商业创意推出上线,谁就占据了竞争的主导地位,而低代码恰巧可以完成这一使命。
一般情况下,低代码开发平台或0代码开发平台,由于采用组件形式,以及面向对象的开发方式,使得代码的结构化程度更高,通常来说更容易维护。低代码开发不仅减轻了软件维护的负担。与过去相比,要处理的错误和集成问题会大量减少。而且通过减少维护时间,开发人员可以专注于可带来更大业务价值的创新工作。
低代码开发降低了应用程序开发进入门槛、成本和部署时间,开发人员不需要用专业的编码器来进行全面开发。同时对一些业务专家进行简单的编码培训,也可以使他们参与到程序构建中。例如,医生和护士可以帮助编码和部署自己的工作流程,而不是让没有丝毫医学背景和经验的开发者自己去理解开发并不适用实际情况的工作流程。
低代码开发弥合了IT和业务团队之间的沟通鸿沟,因此两者都可以解决影响公司的实际问题。业务团队可以创建自己的应用程序,而无需等待开发人员,从而提高了工作效率。可以快速启动和迭代新想法。
企业可以通过低代码平台快速构建最低限度可行的产品(MVP),即时部署这些应用程序,学习和优化并扩展这些创新以促进持续创新。无需编写复杂的代码,企业可以轻松地将其应用程序扩展到更多渠道,直到它们被认为足够成熟。
低代码开发仍需要编写代码,开发者必须具备数据库和代码编写的专业知识。
低代码开发平台封装的组件限制了专业程序员的使用。同时业务流程只能随着组件改变。组件的功能和种类,限制了应用程序的开发。
如果低代码开发平台的组件存在质量或安全漏洞问题,开发出的应用程序的稳定性和安全性就会受到影响,而且是无法控制的。
在低代码开发工具中,可以实现的函数数量有限。这是一种快速构建应用程序的方法,但是如果您想尝试不同的东西,您没有很多选择。
当然,拖放功能在某些情况下是有用的。但是当您需要一个不可用的独特功能时,您将需要一些自定义代码。有时,集成此自定义代码的成本也可能比从头构建的完全自定义的解决方案高出很多。
一旦通过了原型设计阶段,业务逻辑最终会变得更加复杂。要进一步开发项目,您需要一个专家团队。今天的低代码平台还不完善,所以长期依赖它们是不好的。否则,可能会危及您的业务。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。