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的内容管理及低码开发平台
尽管入行有一段时间了,但之前还从来没想过要开发一款完整的软件产品.这个我跟朋友开发的第一款软件,希望大家帮我们多宣传推广.首个版本肯定有很多的不足,大家也给我们多提意见,还有很多规划中的功能要在之后的 ...
随机推荐
- (3)puppet清单定义资源的语法
1.先看两个例子: a.创建一个文件 file{"/tmp/12567.txt": content => aaaaababbau, ensure => present ...
- 007 Linux 命令三剑客之-awk
01 一起来认识 awk! Linux 命令三剑客,sed.grep.awk. sed:擅长数据修改. grep:擅长数据查找定位. awk:擅长数据切片,数据格式化,功能最复杂. awk 更适合格式 ...
- 分页方法需要参数(当前页数,总数据量,拿到query的值)
class Pagination: def __init__(self, page_num, all_count ,params=None,per_num=10,max_show=11): " ...
- Git常用命令(超实用)
Git常用命令 一.Git常用命令 1.1 创建SSH Key 1.2 仓库 1.3 增加/删除文件 1.4 代码提交 1.5 分支 1.6 标签 1.7 查看信息 1.8 远程同步 1.9 撤销 1 ...
- bom案例1-div拖拽
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- FTP工具安装
开放ftp端口,开房ftp服务即可 firewall-cmd --add-service=ftp --permanent firewall-cmd --reload
- UNIX系统上的抓包工具tcpdump常用命令说明
tcpdump 介绍 tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上. 不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才 ...
- 一行代码为UITextField添加收键盘功能
iOS开发中收键盘是十分常用的功能,只需一行代码即可为ViewController添加工具条收键盘功能 更重要的是使用catogory,无代码污染. 代码 // UITextField+keyboar ...
- js实现网页中英文翻译
1,html 2,metrics.js 3,需要 http://www.microsoftTranslator.com/ajax/v3/WidgetV3.ashx?siteData=ueOIGRSKk ...
- jdk1.5新特性之-------静态导入
import java.util.ArrayList; import java.util.Collections; /* jdk1.5新特性之-------静态导入 静态导入的作用: 简化书写. 静态 ...
