low-code
low-code特点:
1. 一个创造软件的开发环境,类似vs-code;
2. 通过可视化拖拽和参数配置高效开发。
1. 背景
1.1 目标
需求的交付质量和交付效率一直是中后台项目开发中非常关注的指标。
1.2 发展
各个团队也在不断探索更多的方式。
(1)开发通用业务组件。将各个特定业务场景进行封装;
(2)开发通用性组件。设定规则,通过配置化完成页面构建和逻辑处理,form-render就是如此的组件;
(3)页面配置化。对于业务比较成熟后,对于业务组件提炼已经到达一个非常高的程度(形成物料级别),我们在开发页面的时候会发现,实际开发就是将各个业务组件进行组合,于是会出现页面的配置化;
(4)页面可视化。继续发展,配置仍然需要代码开发上线,这些配置是不是可以通过可视化完成,然后存入数据库,这个时候就形成了我们low-code代码平台的基础版本。
(5)可视化平台完善。监控,埋点,页面管理,物料管理,上线流程这些功能的支持,将会形成一个完善的可视化搭建平台。此时基本是程序员可以用。
(6)产品可用。产品可搭建是一个比较高的要求,需要物料设计更简单,平台使用更简单。基本上只针对比较简单或者通用的页面支持。此时就会形成no-code平台。
2. 对开发有什么帮助
2.1 提升开发效率
开发中,即便再小的需求也会存在不少的code,即便的复制的代码也会存在一些边界值的修改,这些往往是耗费时间的。在low-code平台,将不会看到任何代码,我们能看到的仅仅是一些我们需要修改的参数,我们的关注点也可以聚焦到这些参数上。此时,我们需要关注的是页面的整体逻辑和物料的参数配置。
2.2 提升交付质量
“多做多错,少做少错”是一个生活常识,通过low-code平台,我们做的事儿更少了,我们主要是物料拖拽以及属性配置,不用再去关注边界条件,基本上只要物料不出问题,我们交付的页面也不会出问题。同时也能减少测试的工作量。
3. low-code关键组成
3.1 拖拽功能
拖拽功能可以是对用户非常友好的一种方式,同时也是比较方便的方式。实现中比较常用的库是react-dnd。
3.2 页面渲染
一般页面结构通过json schema进行描述,low-code平台需要根据schema配置完成页面渲染,所以需要提供一个渲染器。
3.3 物料协议
对于任何一个low-code平台都有自己物料的协议,只有满足协议才能接入平台。
3.4 物料属性配置
物料都有一些变量需要配置,比如一个表格,需要配置请求的url信息,需要配置每个列的列名和绑定字段。所以需要一个物料的属性配置面板,一般这个面板的配置信息配置在物料中。
3.5 事件编排
物料之间可能也会存在一些互动,比如,点击按钮,出现一个弹框。这个都需要进行事件编排,在各个事件中触发配置事件。
附上一个个人开发的小案例:
low-code的更多相关文章
- 基于低代码平台(Low Code Platform)开发中小企业信息化项目
前言:中小企业信息化需求强烈,对于开发中小企业信息化项目的软件工作和程序员来说,如何根据中小企业的特点,快速理解其信息化项目的需求并及时交付项目,是一个值得关注和研讨的话题. 最近几年来,随着全球经济 ...
- 后Low Code时代:聚焦和突破
很多人都不想被贴上标签,我曾经也一样.觉得青春不能被定义,人也不能被分类.但随着学习和工作的变迁,慢慢开始发现标签也是一种名片效应. 比如一个做汽车销售的朋友,他就对BMW的车型非常熟悉,可以说是懂车 ...
- JavaScript modularity with RequireJS (from spaghetti code to ravioli code)
http://netmvc.blogspot.com/2012/11/javascript-modularity-with-requirejs.html Today I would like to d ...
- 初试 Matlab 之去除水印
这几天很痛苦地去学习了下用 Matlab 来处理图像,其实那些算法我觉得还不算很难理解,可是 Matlab 这种反人类的语法(可能对于我来说是这样吧,毕竟熟悉了 C++ / Java 的语法一时间很难 ...
- The Brain as a Universal Learning Machine
The Brain as a Universal Learning Machine This article presents an emerging architectural hypothesis ...
- 伪Base16的构思和实现
最近看见了一个迅雷地址,发现将其转换为普通链接的工具后,发现所谓专用地址地址就是原地址前加一个表示迅雷的前缀,后进行Base64编码.查阅Base64编码过程后,突发奇想:能否做一个Base16算法? ...
- 优化Webpack构建性能的几点建议
Webpack 作为目前最流行的前端构建工具之一,在 vue/react 等 Framework 的生态圈中都占据重要地位.在开发现代 Web 应用的过程中,Webpack 和我们的开发过程和发布过程 ...
- C# Note37: Writing unit tests with use of mocking
前言 What's mocking and its benefits Mocking is an integral part of unit testing. Although you can run ...
- BizDevOps — the true value proposition of workflow engines
转自:https://blog.bernd-ruecker.com/bizdevops-the-true-value-proposition-of-workflow-engines-f342509ba ...
- 萌新程序媛的首个作品,基于NoSQL的内容管理及低码开发平台
尽管入行有一段时间了,但之前还从来没想过要开发一款完整的软件产品.这个我跟朋友开发的第一款软件,希望大家帮我们多宣传推广.首个版本肯定有很多的不足,大家也给我们多提意见,还有很多规划中的功能要在之后的 ...
随机推荐
- Ubuntu14.4配置vnc
一.安装Xrdp Windows远程桌面使用的是RDP协议,所以ubuntu上就要先安装Xrdp,在ubuntu软件中心搜索xrdp安装. 安装xrdp的同时会自动安装vnc4server,xbase ...
- python3 爬取深圳主板公司名称,公司网址
需要阅读的文档: Requests:http://cn.python-requests.org/zh_CN/latest/user/quickstart.html BeautifulSoup:http ...
- 【程序15】成绩>=90分用A表示,60-89分用B表示, 60分以下用C表示。
利用条件运算符的嵌套来完成此题 score = int(input('input score:')) if score >= 90: grade = 'A' elif score >= 6 ...
- 『无为则无心』Python基础 — 42、Python中文件的读写操作(二)
目录 (5)文件对象方法(重点) 1)写方法 2)读方法 3)seek()方法 4)tell()方法 (6)关闭 (7)综合练习:读取大文件 (5)文件对象方法(重点) 1)写方法 @1.语法 对象对 ...
- Android性能优化之Android 10+ dex2oat实践
作者:字节跳动终端技术--郭海洋 背景 对于Android App的性能优化来说,方式方法以及工具都有很多,而dex2oat作为其中的一员,却可能不被大众所熟知.它是Android官方应用于运行时,针 ...
- cell重用
少数几个cell可不重用 NSString *CellIdentifier = [NSString stringWithFormat:@"MyCellID_%d",indexPat ...
- nginx中的模块分类及常见核心模块有哪些
1.模块分类 核心模块:是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录 .配置文件解析 .事件驱动机制 .进程管理等核心功能 标准HTTP模块:提供 HTTP 协议解析相关的功能,比如 ...
- 帆软报表(finereport)JS实现cpt中详细单元格刷新
1.刷新固定单元格 setInterval(function(){ //获取第二行第 5 列 E2 单元格对象 var _changeCell = $("tr[tridx=1]" ...
- 帆软报表(finereport)根据提供的数据求出该日期所在的季度
根据当前日期求字段中日期的季度 Oracle数据库 select T1.INDEXCODE ,T1.CREATETIME ,CASE when T1.CREATETIME = (case when t ...
- 论文翻译:2022_PACDNN: A phase-aware composite deep neural network for speech enhancement
论文地址:PACDNN:一种用于语音增强的相位感知复合深度神经网络 引用格式:Hasannezhad M,Yu H,Zhu W P,et al. PACDNN: A phase-aware compo ...