低代码平台调研

news2024/9/30 7:31:11

一、什么是低代码

首先,我们来看一下低代码的概念。在维基百科上,低代码是这样定义的,它的全称叫做低代码开发平台,它为开发者提供了一种创建应用软件的开发环境,可以通过图形化界面和参数配置的方式来代替传统的纯手工编程来创建应用软件。

从这段定义中,可以提炼出来几个关键信息:低代码平台本身也是一种软件,它可以为开发者提供一种创建应用软件的开发环境,它的性质就和我们平时使用的IDEA、VS等类似,都是服务于开发者的生产力工具。与传统的IDE不一样的是,低代码开发平台提供的是更加高效和易用的可视化IDE,用户可以通过图形化拖拽、参数配置这些方式来进行开发,只需要编写少量的代码。

低代码这个词最早在2014年的时候由世界头部分析机构Forrester在2014年提出,它当时对低代码的定义如图。它的这个定义更偏向于阐明低代码所带来的核心价值:

  1. 速度更快,能够实现业务应用的快速交付,不只是像传统开发平台一样能开发应用而已,它的重点是开发应用更“快”。
  2. 成本更低,能够降低业务应用的开发成本,代码的编写更少、环境的设置和部署成本也更简单。
    在这里插入图片描述

根据上面低代码平台的定义,可以总结出低代码平台的核心能力:

  1. 可视化编程:在进行软件开发的时候支持支持图形化的拖拽和配置操作,二是开发完成后会有一个所见即所得的效果。
  2. 全生命周期管理:低代码支持应用的完整生命周期管理:从设计阶段开始,经历开发、测试、部署上线,甚至运维(监控告警)。
  3. 低代码扩展能力:能支持在必要时通过少量的代码对应用各层次的功能进行灵活扩展,比如添加自定义的控件、修改CSS样式等等。

我们知道软件开发本质是要解决一些业务问题,我们可以把整个软件开发的复杂度划分为业务复杂度和技术复杂度。其中业务复杂度指的是和业务要解决的特定问题强相关的部分,不能通过一些开发工具来解决。而技术复杂度指的是开发过程中和技术强相关的部分,这部分是低代码平台所擅长以及所要分担的部分,因此可以说低代码开发平台目地是分走一部分技术复杂度,为开发者尽可能屏蔽底层技术细节、减少不必要的技术复杂度和一些重复的劳动,让开发人员可以把更多的精力集中在解决业务问题上。

在这里插入图片描述

二、发展历史

接下来可以看一下低代码平台的发展历史。低代码的概念早在上个世纪80年代就有雏形,整个发展经历如图所示的几个阶段:第一阶段是探索期,美国一些公司开始在可视化编程方面进行一些探索,后来发展成了可视化编程语言。在2000年到2018年低代码平台处于一个发展期。标志性事件是在2018年,荷兰公司Mendix以7亿美元被西门子收购、美国低代码独角兽企业 Outsystem 获得1.5亿美元的融资,低代码平台进入资本的视野,后面开始迎来爆发期。
在这里插入图片描述

三、低代码 vs 零代码

除了低代码以外,还有一个名词称为零代码,零代码就是完全不需要写代码的应用开发平台,它可以认为是低代码的一个子集。零代码是不是就一定就比低代码更牛逼更先进呢?其实不一定,它只不过是一种更加极端的选择:完全的使用图像化开发方式,彻底消灭文本代码。这样选择的原因是:零代码开发平台期望能尽可能降低应用开发门槛,让完全不懂代码的运营、产品都能进行开发。

这里列出了低代码开发平台和零代码开发平台的一些区别:

  • 面向人群:低代码开发平台还是有一部分的代码开发的,所以主要针对的还是开发人员,而零代码开发平台主要面向的是业务人员。
  • 易用性:零代码开发平台不需要编写代码就可以开发应用,一般情况下零代码开发平台的易用性要高于低代码开发平台。
  • 灵活性:低代码开发平台可以通过代码灵活定制与扩展功能,因此低代码开发平台灵活性要高于零代码开发平台。
  • 应对复杂场景:零代码开发平台更加适合简单的场景,低代码开发平台应用场景更深一下,比零代码开发平台更适应复杂场景。

在这里插入图片描述

四、优缺点

低代码开发平台的优势

  • 易用性:相比传统模式的纯代码开发,低代码只需要少量代码就能完成应用程序的开发,降低了开发门槛,更加易于上手。
  • 高效性:低代码开发平台采用的是拖拉拽可视化进行搭建,通常搭建应用所需时间是传统方式所需时间一半甚至更少。
  • 低成本:对使用者没有很高的技术要求,降低对专业研发人员的需要,人力成本比较低。开发速度快,降低时间成本。
    在这里插入图片描述

同样的,低代码平台也有一些劣势:

  • 灵活性差:传统的代码开发可以将软件定制化到想要的程度,低代码则依赖于平台中插件的内置功能,如果低代码平台没有提供某个功能,那么自己再进行二次开发成本很高 。
  • 存在安全风险:使用低代码开发平台开发的软件严重依赖于低代码平台的提供方,没有办法完全控制数据安全性,也无法访问源代码,因此数据的安全程度不及传统的代码开发方式。
  • 高耦合度:我们可以想一下,如果系统是通过带代码开发平台进行开发的,但是开发过程中或者后期进行功能的迭代升级的时候,如果某些功能低代码开发平台没有提供组件支持的的话,这个时候再转向使用其他开发平台的话,系统已经和这个平台高度耦合了,迁移成本将十分巨大,差不多需要重新开发了。
    在这里插入图片描述

五、应用场景

根据低代码平台的特点,我们可以总结出低代码开发平台适合的应用场景。右侧是一个四象限的坐标轴,横轴是定制化的程度,纵轴代表系统的复杂度。低代码开发平台比较适合开发一些标准化程度高、前端界面比较简单的通用性软件,例如人事管理系统、会议管理、日程管理这些系统。

而对于具有一下特点的软件则不适合使用低代码开发平台进行开发:

  1. 对算法和复杂数据结构要求高的
  2. 对前端界面要求特别高的
  3. 大型互联网级应用
  4. 专业性很强的应用

在这里插入图片描述
接下来看一下纯代码开发、低代码开发、零代码开发等方式的主要适用人群。

纯代码开发的方式由于技术性要求比较高,因此适合于专业的开发人员。低代码开发平台已可视化的开发方式为主,代码开发为辅,主要针对专业的开发人员和一些业余的开发人员来使用。而零代码开发平台则是完全抛弃了代码开发,完全使用可视化的开发方式,因此对于无经验的开发人员也可以上手。

在这里插入图片描述

六、基本架构

接下来简单看一下低代码平台的基本架构,这部分我没有太深入的了解,其中包含了很多前端的知识,大家可以简单的看一下

低代码平台一般分为四个模块:物料堆(组件库)、主界面(配置画布)、编辑面板(配置项)、顶栏(全局/页面配置)

在这里插入图片描述

七、行业发展

根据艾瑞咨询去年发布的中国低代码行业报告显示,在2020年的时候,我国低代码的市场规模在15.9亿元,增速为80.2%。前几年的高增速和疫情的影响,预计在未来 5 年,行业整体的增长速度会放缓,但仍将维持 40%以上的增长速度。
在这里插入图片描述
自16年开始,低代码的概念开始在国内兴起,当年低代码相关的融资时间达到10起,到2020年,一共有59词融资事件,其中有13起资金超过亿元,并且每年的融资笔数呈现上升的趋势。2020年的时候C轮以前的融资占比为78.6%,相比2016年提升了28%,说明低代码市场整体处于发展初期,初创公司比较多。
在这里插入图片描述
接下来看一下国内外有哪些规模比较大的低代码开发厂商
国内的偏向于特定领域,做某些场景的通用型解决方案,走小而精的路线。如阿里的宜搭,服务后端同学,绕过前端快速建站,明道云则是基于表单模型,自动生成页面,简单高效。

国外的平台讲究大而全,搭建的是一个生态,涵盖数据模型,逻辑化编排,自定义语言,并不断打通与其他服务/app的通信,如微软的Power Platform 包括 Power BI、Power Apps 和 Power Automate 等强大组件,可与微软 Office 365、Dynamics 365、Azure 以及第三方应用程序无缝集成,为用户开发提供完整闭环。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/353311.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

协方差以及PCA

概念:协方差(Covariance)在概率论和统计学中用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。协方差就是衡量两个变量相关性的变量。当协方差为正时,两个变量呈正相关关系&#…

我用vue开发了一个动态网站--百宝阁 万字长文(spa电商,首页没有做动态,搜索页是动态)

一、前言 学习前端已有大半年了,虽然其中备考软件设计师考试花了两个月,但我还是收获颇丰,从最开始的html,到css,js,在到es6,promise,ajax,node.js、vue、webpack我已经有较为靠谱的编码习惯,亲…

Vue实战第4章:主页设计之中部内容设计

前言 本篇在讲什么 接上篇文章,我们制作了一个自定义的网页导航栏,本篇文章我们简单制作一个内容页 仅介绍简单的应用,仅供参考 本篇适合什么 适合初学Vue的小白 适合想要自己搭建网站的新手 适合没有接触过vue-router的前端程序 本篇…

Vue常用指令及声明周期

文章目录知识点前端开发环境配置v-text && v-htmlv-if、v-else && v-showv-forv-onv-modelv-bind、v-cloak、v-pre&&v-once全局 API 是什么Vue.directive 自定义组件Vue.directive 是什么自定义组件回调函数参数自定义组件的生命周期Vue.set 全局操作为…

【Kafka】一.认识Kafka

kafka是一个分布式消息队列。由 Scala 开发的高性能跨语言分布式消息队列,单机吞吐量可以到达 10w 级,消息延迟在 ms 级。具有高性能、持久化、多副本备份、横向扩展能力。 生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。 一般在…

Unity对接接口丨简单教学丨UnityWebRequest

新手制作接口对接前言使用过程Postman测试第一次测试第二次测试第三次测试第四次测试第五次测试第六次测试总结前言 提示:大体介绍今日功能介绍 介绍大概UnityWebRequest对接接口方式,博主也是作为刚开始对接口的使用,相当详细。 使用过程 这里为内容…

你知道IP属地是怎么来的?

在互联网高速发展的时代,登录网络使用网络的过程当中,会存在非常独特的IP属地,这个独特的概念就是在互联网不断发展过程当中,对于大家来说非常熟悉而又陌生的一个必要设备,在使用各种电子设备上网的时候,都…

Flutter For Web实践

1 什么是Flutter Flutter是Google开源的一套UI工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动APP、web、桌面和嵌入式平台。Flutter和其他的跨平台解决方案的实现方式上有比较大的差异。 我们以React Native(下文简称RN&…

kubernetes教程 --组件详细介绍

组件详细介绍 NameSpace 在 Kubernetes 中,名字空间(Namespace) 提供一种机制,将同一集群中的资源划分为相互隔离的组。 同一名字空间内的资源名称要唯一,但跨名字空间时没有这个要求。 名字空间作用域仅针对带有名字…

STM32单片机初学8-SPI flash(W25Q128)数据读写

当使用单片机进行项目开发,涉及大量数据需要储存时(例如使用了屏幕作为显示设备,常常需要存储图片、动画等数据),单靠单片机内部的Flash往往是不够用的。 如STM32F103系列,内部Flash最多只能达到512KByte&a…

git安装与学习1(CSDN_0010_202201014)

目录 1. Git下载 2. git安装 3. 生成并添加SSH公钥 3.1 生成公钥 3.2 添加公钥 4. 代码备份 4.1 创建远程仓库 4.2 创建本地仓库 1. Git下载 Git下载官网:Githttps://git-scm.com/ 详细的下载教程见: https://blog.csdn.net/weixin_47638941/ar…

CHAPTER 5 自动发现、自动注册、分布式监控、SNMP监控

自动发现与自动注册5.1 自动发现与自动注册5.1.1 简介5.1.2 两种模式5.2 自动发现--被动模式5.3 自动注册--主动模式5.4 分布式监控5.4.1 介绍5.4.2 配置zabbix proxy5.5 SNMP监控5.5.1 使用范围5.5.2 安装snmp程序5.5.3 配置snmp程序5.5.4 测试snmp5.5.5 在web界面进行配置5.1…

LeetCode 203. 移除链表元素

原题链接 难度:easy\color{Green}{easy}easy 题目描述 给你一个链表的头节点 headheadhead 和一个整数 valvalval ,请你删除链表中所有满足 Node.valvalNode.val valNode.valval 的节点,并返回 新的头节点 。 示例 1: 输入&a…

如何利用Power Virtual Agents机器人获取OneNote教学资源

今天我们继续来介绍如何利用PVA聊天机器人来获取OneNote教学资源。设计思路是在PVA聊天机器人的对话框中输入触发短语后,PVA聊天机器人会将指定的OneNote教学资源发送到学生的电子邮箱中。 首先,在PVA聊天机器人中创建主题。 创建一个“问题”后&#x…

【Spring AOP】Spring AOP快速使用

文章目录前言1、相关注解类注解方法注解2、execution 表达式例一【execution 表达式 的限制使用】例二【execution 表达式 的通配使用】3、相关pom依赖4、案例创建接口Aop使用 方式一【Before 、After 、AfterRuturning、AfterThrowing版】Aop使用 方式二【Around版】前言 Aop…

【笔记】通过labview调用halcon

使用原因:手眼标定使用halcon的九点标定,但是整体系统是用labview的,机器人得到二维坐标后,需经过halcon算子计算得到机器人坐标系下坐标,在进行运动。 下载路径: 链接:https://pan.baidu.com/s…

「计算机组成原理」数据的表示和运算(上)

文章目录一、进位计数制1.1 其他进制转十进制1.2 十进制转其他进制1.3 二进制、八进制和十六进制1.3 真值和机器数二、BCD码2.1 8421码2.2 余3码2.3 2421码三、整数的表示和运算3.1 无符号整数3.1.1 无符号整数的表示3.1.2 无符号整数的运算3.2 有符号整数3.2.1 有符号整数的表…

聚观早报 | 微信也要下场做“外卖”?;《羊了个羊》营收破亿

今日要闻:微信也要下场做“外卖”?;《羊了个羊》营收破亿;苹果将新XR头显上市推迟至6月;“交个朋友”被爆欠薪暴力裁员?;微软解释ChatGPT Bing AI推出速度缓慢的原因微信也要下场做“外卖”?腾讯…

C语言返回类型为指针的一些经典题目(上)

大家好,今天和大家分享一下C语言返回类型为指针的一些重要题目,看完你会恍然大悟。原来我对指针的了解还停留在指针只是一个地址的位置上,看完后你会对指针的用法进一步得到提升。目录一.关于指针类型的基础概念二.题目剖析一.关于指针类型的…

Java反序列化漏洞——CommonsCollections6链分析

一、前因因为在jdk8u71之后的版本中,sun.reflect.annotation.AnnotationInvocationHandler#readObject的逻辑发生了变化,导致CC1中的两个链条都不能使用,所有我们需要找一个在高版本中也可用的链条。/* Gadget chain: java.io.ObjectInputStr…