你真的了解低代码平台吗?

从 2020 年疫情之后,低代码这个概念就突然变得火热起来,各大自媒体纷纷推出介绍低代码的文章,InfoQ 也曾发表过一篇《为什么我说低代码是“行业毒瘤”?》引发了热议,明道的创始人任向晖随后在自己的公众号写文章《低代码不是行业毒瘤,你才是!》进行回应,好不热闹。

很荣幸,从 2016 年开始,我就一直在从事低代码产品研发的相关工作,而且在 2020 年的疫情期间,利用我们的低代码产品快速搭建了武汉市新冠肺炎疫情线索回访及跟踪应用系统,为疫情防控出了一份力。本文就谈谈我理解的低代码。

什么是低代码平台?

不同的人听到低代码这个词,理解会有不一样,原因是低代码有两种模式:基于代码生成器和基于模型。

很多的软件开发公司,为了提高开发效率,都会慢慢沉淀自己的开发框架,将通用的功能封装起来,再使用工具按照一定的规则生成需要的代码,开发人员在这个基础之上进行业务功能的实现,这个一般称之为开发平台。我所经历过的一些公司都有一套这样的的框架或平台,目的相同,但形态各异。

基于模型的意思就是在平台层面将核心的引擎模块进行抽象建模,比如流程、规则、列表、表单等,使用者通过可视化拖拉拽的方式就能够创建应用的创建,不仅仅可以给开发人员使用,也能给业务人员使用。

最近几年我一直在做的就是第二种,基于模型的低代码平台,这种平台不仅仅只是一个开发平台。

怎样鉴别低代码平台

世界著名的咨询公司 Gartner 在 2020 年 9 月发布的《企业级低代码开发平台的关键能力报告》中提出了衡量一个低代码平台的 11 个关键能力点,如下:

1、易用性,不写代码时的开发能力,指的是是否能通过配置的方式来创建应用 

2、所开发出来的应用的用户体验,这里的用户指的是最终的使用用户

3、数据模型和管理 

4、工作流与业务处理逻辑 

5、开发平台的生态系统 

6、编程接口与系统集成能力 

7、系统架构,分层、高可用,集群部署等 

8、服务的质量 

9、用户模型与软件开发生命周期支持 

10、治理及运维 

11、安全与合规

结合上面的 11 点,并对比我们现在在做的产品可以总结如下:

1、必须要能够支持拖拉拽配置的方式,可以说这是一个最低门槛了;

2、是基于模型驱动的,而不是一个简单的通用代码生成;

3、平台自身除了能够拖拉拽之外,还需要支持灵活的扩展能力;

4、能够方便地和第三方系统进行集成和对接;

5、真实业务往往是复杂的,平台除了单表的增删改查之外,还需要有灵活的业务编排能力;

6、对终端适配,一键发布。

可以说,满足上面六点就可以称之为一个低代码平台了。

低代码适合做什么?

低代码平台虽然能带来便利和提高效率,但也不是万能的。比较擅长的是实现企业级应用,比如:CRM、生产管理系统、商务管理系统、设备管理系统、甚至也能实现复杂的 ERP。总之面向的客户是 B 端客户。

如果说想要做一个电子商务网站、类似今日头条这种咨询类的网站、或者外卖点餐系统,低代码平台就不太合适了。

而且目前市面上的一些低代码产品,不管是私有化部署的,还是 SaaS 应用,也几乎都是面向企业的,例如:

  • 国外的 Salesforce、OutSystem、Mendix

  • 奥哲的云枢、氚云、有格

  • 阿里的宜搭、云凤蝶

  • 腾讯的微搭

  • 华为的 AppCube

  • 其他的还有明道、搭搭云、伙伴云、轻流、织信等

低代码能给我们带来什么?

低代码平台其实是软件公司和企业双赢的选择,而且随着企业数字化转型的加速,低代码平台也一定能够应用地更加广泛。

对软件公司来说:

1、提升软件交付的时间,降低成本,2020 年某集团公司的 200 多个功能模块,使用我们的产品 1 个半月实现了交付,如果完全定制开发是不可能完成的;

2、常用的基础功能都封装在平台中,随着平台的成熟和稳定,交付软件的质量能够得到保障,可以大大减少低级错误;

3、售前在跟客户的交流过程中,不再只通过 PPT ,可以快速根据客户的反馈搭建出原型进行沟通,甚至可以在现场搭建;

4、我们常说在软件开发过程中要拥抱变化,低代码平台能够让我们更好地应对变化,做到快速响应,提升客户满意度。

对企业来说:

1、业务部门需要用的一些小功能,可以自己在平台中进行创建并使用;

2、在需求阶段,软件公司可以直接搭建出运行沟通,减低沟通成本;

3、需求变更中一些小的 界面调整,无需提交变更单到软件公司,自己就能搞定,在定制化软件中,哪怕是修改一个文字,也需要软件公司修改后进行发布上线;

4、交付快速,效率提升,成本降低。

总结下就是:沟通快、实施快、上线快、变更响应快、成本低、使用门槛低、风险低。

低代码平台对程序员有影响吗?

有了低代码平台,实现功能都能用拖拉拽的方式进行了,那还要程序员做什么呢?程序员是否就无用武之地了呢?

低代码平台的诞生确实对程序员是有影响的,但只会对对不思进取的程序员有影响,对工作了 10 年,但拿着一年经验重复 10  年的程序员有影响。如果您对技术有追求,喜欢思考,那么低代码平台其实是解放程序员的生产力,从重复造轮子(增删改查)的低价值中得到解脱,进而去做更复杂,高级的编码工作。

我们的产品

最近几年,从零开始到现在,打造了一款功能强大的代码产品,经过了很多大型企业客户的验证,其中也走了很多弯路,这其中的心路历程在未来一定会写成一个系列跟大家分享。并且我们计划在 2022 年上半年会推出 SaaS 版本,让更多的中小型企业用户也能使用我们的产品。

下面先放几个我们产品的相关截图。

整体架构图:

表单设计:

按钮设置:

业务编排:

最后,我们有一个群,也欢迎大家加入进行低代码平台的学习和讨论。

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

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

相关文章

服务器抽屉式维护,一种服务器用可顺序运动的滑轨

1.一种服务器用可顺序运动的滑轨,包括内轨(1)、中轨(2)和外轨(3),内轨(1)、中轨 (2)和外轨⑶依次连接,其特征在于:还包括外壳⑷,外壳⑷内设有滑行架(5),滑行架 (5)与外轨(3)相连接,中轨(2)上设有…

50个常用sql语句

Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC where C#001) a,(selec…

无边工作,无际遐想

又是一个胡乱涂鸦,最近很长一段时间我就像临产孕妇样,挣扎在“生产”边缘,每次将手放在键盘上,努力憋出一丝一缕。却就是伸不出个头来。还好,我比孕妇自由,可以停下来休息休息。有句话说的好:生…

图像还可以这样玩!如何用OpenCV处理图像?

全世界只有3.14 % 的人关注了青少年数学之旅人工智能近年来呈现爆发式发展,计算机视觉和深度学习作为人工智能的两大支柱学科,近年来得到迅速发展。今天小天将带着大家走进计算机视觉!所谓计算机视觉,就是指用摄影机和电脑代替人眼…

java集合学习笔记 ---Collections类对集合的处理

2019独角兽企业重金招聘Python工程师标准>>> 包名:java.util.CollectionsCollections是个类,不是接口有以下方法,部分列举1.对List进行升序排序public static void sort(List list)如果要进行降序排序,可以在sort函数中制定降序public static…

如何入门.NET Core ? 推荐这10个优秀的开源项目!

.NET 5马上就要发布了,还不知道这些.NET Core开源项目?只推荐干货!当然这些开源项目都是个人或组织开发的。1.Ant Design Blazor.NET进行客户端Web开发又一利器。微软官方认可,微软Build2020开发者大会Blazor介绍中,提…

.NET设计模式(7):创建型模式专题总结(Creational Pattern)

概述 创建型模式,就是用来创建对象的模式,抽象了实例化的过程。它帮助一个系统独立于如何创建、组合和表示它的那些对象。本文对五种常用创建型模式进行了比较,通过一个游戏开发场景的例子来说该如何使用创建型模式。 为什么需要创建型模式 所…

南方人第一次见到雪的样子。。。| 今日最佳

全世界只有3.14 %的人关注了青少年数学之旅(视频来源沙雕图,侵权删)

逆转是怎么发生的?

郑昀玩聚SR 20090527 曾几何时,香港警员的95%都参与了贪腐。当一个一个警员被迫加入行贿受贿行列中时,当其他公共服务机构也参与进来时,当民众不行贿就难以使用公权资源时,看上去似乎整个体系烂透了,无药可救&#xff…

MVVM架构~knockoutjs系列之包括区域级联列表的增删改

返回目录 这个例子我做了几次,之前总是有BUG,目前测试后,确定没有BUG才发上来的,主要功能是实现“我的银行”模块的增删改的功能,这个里面包括了级联列表的区域选择,这部分是难点,在开发过程中&…

ABP Vnext 4.4:统一Ef Core的DbContext/移除EF Core Migrations项目

Abp vnext 4.4出现了一个比较重大的变更:在Startup template中移除了EF Core Migrations项目,本文翻译自community.abp.io/articl由于本文发布的时候Abp vnext的版本还没有到4.4,所以本文演示了如何从4.4以前的版本移除EntityFrameworkCore.D…

史上最变态高考数学题,让99%的考生献上膝盖,看完我惊了......

全世界只有3.14 %的人关注了青少年数学之旅今天超模君想问大家一个问题:如果在撒哈拉大沙漠或者是西伯利亚上建造一个大型装置,以便向地球之外的其他星球的朋友们表明地球上存在有智慧的生命,最适当的装置是什么呢?勾股定理&#…

JS实现sleep功能 JS遍历document对象

标题:JS实现sleep功能 JS遍历document对象/*****************************************/ var elementName; function countTotalElement(node) { if(node.nodeType 1) { elementName elementName node.nodeValue "\r\n"; } …

C#操作Excel文件暨C#实现在Excel中将连续多列相同数据项合并

C#操作Excel文件(读取Excel,写入Excel) 看到论坛里面不断有人提问关于读取excel和导入excel的相关问题。闲暇时间将我所知道的对excel的操作加以总结,现在共享大家,希望给大家能够给大家带了一定的帮助。另外我们还要注意一些简单的问题1.exc…

#if DEBUG 和 if (env.IsDevelopment()) 的用法区别

咨询区 webwake:我发现预处理指令 #if DEBUG 和 Asp.NET Core环境变量名 都可以用于区分 debug/development 和 release/production 下的不同行为,请问他们都有哪些合适的应用场景?比如说某些场景下应该使用 预处理指令 而不是 环境变量 &…

数据结构 【实验3 链表基本操作】

实验3 链表基本操作 实验目的 1. 定义单链表的结点类型。 2. 熟悉对单链表的一些基本操作和具体的函数定义。 3. 通过单链表的定义掌握线性表的链式存储结构的特点。 4. 掌握循环链表和双链表的定义和构造方法。 实验内容 该…

第一次找工作感受!

20号南京有招聘会,我和几个同学就去了,去体验一下找工作是什么样子的,可能大家从第二天的报纸上已经看到了,不过如果你没有去现场,那种人山人海,直接要排山倒海,招聘单位写的什么基本上看不清了.. 转到上午10点一份没投,心里那个急,心想只要能要就行了,好像投出去就找到工作一样…

猪肉上的红章和蓝章有啥不同?| 今日趣图

全世界只有3.14 %的人关注了青少年数学之旅亲眼看到金字塔你才会意识到它有多大!(图源光消失的地方,侵权删)你女朋友的脸皮有多厚?(图源程序员新视界,侵权删)猪肉上的红章和蓝章有啥…

CSS工具列表

用户界面 I Like Your Color输入URL然后它会抓出其中的颜色并用16进制表示。CSS Multi-element Rollover Generator使用CSS和一个图片创建出一个翻转按钮的样式。CSS Rounded Box GeneratorRuthsarian Layouts6个CSS页面布局模板,包括颜色、标题等。Bluerobot Layou…

【开源】这可能是封装微信 API 最全的 .NET SDK 了

缘起今年公司某个项目需要全面接入微信支付 V3 版 API。起初觉得,2014 年微信支付就已上线了 V3 版 API,这都 2021 年了,就算官方不给力,怎么着社区也该有几个造好的 .NET 的轮子了吧?于是兴冲冲地到 NuGet 上开始搜索…