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的内容管理及低码开发平台
尽管入行有一段时间了,但之前还从来没想过要开发一款完整的软件产品.这个我跟朋友开发的第一款软件,希望大家帮我们多宣传推广.首个版本肯定有很多的不足,大家也给我们多提意见,还有很多规划中的功能要在之后的 ...
随机推荐
- Python:使用pyinstaller打包含有gettext locales语言环境的项目
问题 如何使用 pyinstaller 打包使用了 gettext 本地化的项目,最终只生成一个 exe 文件 起因 最近在用 pyhton 做一个图片处理的小工具,顺便接触了一下 gettext,用 ...
- 布客·ApacheCN 编程/大数据/数据科学/人工智能学习资源 2020.4
公告 我们的机器学习群(915394271)正式改名为财务提升群,望悉知. 请关注我们的公众号"ApacheCN",回复"教程/路线/比赛/报告/技术书/课程/轻小说/漫 ...
- CSS Modules 的六种用法
一.局部作用域 二.全局作用域 三.定制哈希类名 四. Class 的组合 五.输入其他模块 六.输入变量
- 「SHOI2006」有色图
首先发现这题虽然是边的置换,但是是由点的置换所造成的,并且发现点置换对应的所有边置换和置换操作构成置换群. 由于颜色可以全选,那么根据 Polya 定理,答案为: \[|X / G| = \frac{ ...
- 对于fetch的理解
在一篇文章里见到一位作者是这么说的 XMLHttpRequest 是一个设计粗糙的 API,不符合关注分离(Separation of Concerns)的原则,配置和调用方式非常混乱,而且基于事件的 ...
- Html 项目使用自定义字体文件问题
感谢大佬:https://zhidao.baidu.com/question/652711582735059245.html 1.首先在项目过程中新建文件夹fonts将准备好的ttf字体文件复制该文件 ...
- Ubuntu好用的文本编辑器-SciTE Text Editor
Ubuntu下除了gedit之外,还可以使用SciTE编辑器,非常方便,安装 sudo apt install scite 不过刚刚装好在中文环境下还是不能够用的,因为会有中文乱码,还有很多设置也不符 ...
- python日志装饰器实现
问题出自:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143184355 ...
- Nginx中的Location和Rewrite
Nginx中的Location和Rewrite 目录 Nginx中的Location和Rewrite 一.location 1. location的分类 2. location常用的匹配规则 3. l ...
- pytest-html 测试报告
前言 上一篇文章pytest简介中,执行测试用例后,在 pycharm 控制台(方式一)或 Terminal(方式二)中可以查看测试结果.但是在实际的接口自动化项目中一般需要生成直观的测试报告,这个测 ...
