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的更多相关文章

  1. 基于低代码平台(Low Code Platform)开发中小企业信息化项目

    前言:中小企业信息化需求强烈,对于开发中小企业信息化项目的软件工作和程序员来说,如何根据中小企业的特点,快速理解其信息化项目的需求并及时交付项目,是一个值得关注和研讨的话题. 最近几年来,随着全球经济 ...

  2. 后Low Code时代:聚焦和突破

    很多人都不想被贴上标签,我曾经也一样.觉得青春不能被定义,人也不能被分类.但随着学习和工作的变迁,慢慢开始发现标签也是一种名片效应. 比如一个做汽车销售的朋友,他就对BMW的车型非常熟悉,可以说是懂车 ...

  3. 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 ...

  4. 初试 Matlab 之去除水印

    这几天很痛苦地去学习了下用 Matlab 来处理图像,其实那些算法我觉得还不算很难理解,可是 Matlab 这种反人类的语法(可能对于我来说是这样吧,毕竟熟悉了 C++ / Java 的语法一时间很难 ...

  5. The Brain as a Universal Learning Machine

    The Brain as a Universal Learning Machine This article presents an emerging architectural hypothesis ...

  6. 伪Base16的构思和实现

    最近看见了一个迅雷地址,发现将其转换为普通链接的工具后,发现所谓专用地址地址就是原地址前加一个表示迅雷的前缀,后进行Base64编码.查阅Base64编码过程后,突发奇想:能否做一个Base16算法? ...

  7. 优化Webpack构建性能的几点建议

    Webpack 作为目前最流行的前端构建工具之一,在 vue/react 等 Framework 的生态圈中都占据重要地位.在开发现代 Web 应用的过程中,Webpack 和我们的开发过程和发布过程 ...

  8. 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 ...

  9. BizDevOps — the true value proposition of workflow engines

    转自:https://blog.bernd-ruecker.com/bizdevops-the-true-value-proposition-of-workflow-engines-f342509ba ...

  10. 萌新程序媛的首个作品,基于NoSQL的内容管理及低码开发平台

    尽管入行有一段时间了,但之前还从来没想过要开发一款完整的软件产品.这个我跟朋友开发的第一款软件,希望大家帮我们多宣传推广.首个版本肯定有很多的不足,大家也给我们多提意见,还有很多规划中的功能要在之后的 ...

随机推荐

  1. 使用 C# 开发 Kubernetes 组件,获取集群资源信息

    写什么呢 前段时间使用 C# 写了个项目,使用 Kubernetes API Server,获取信息以及监控 Kubernetes 资源,然后结合 Neting 做 API 网关. 体验地址 http ...

  2. 函数的参数python教程

    一:函数 什么是函数? 函数就类似于工具 提前定义之后可以反复使用 代码冗余 结构清晰 修改繁杂等问题 二:函数的语法结构 def 函数名(参数1,参数2) '''函数注释''' 函数体代码 retu ...

  3. SpringBoot集成MongoDB之导入导出和模板下载

    前言 自己很对自己在项目中集成MongoDb做的导入导出以及模板下载的方法总结如下,有不到之处敬请批评指正! 1.pom.xml依赖引入 <!-- excel导入导出 --> <de ...

  4. django 验证和授权

    User模型 一. User模型简介 1. 是验证和授权框架的核心模型,完整路径为:django.contrib.auth.models.User 2. 模型中拥有的字段: 1. username:用 ...

  5. Codeforces Round #740 Div. 2

    题目跳转链接 A. Simply Strange Sort 题意 定义一个函数\(f_{i}\) : 如果\(a_i \ge a_{i+1}\) swap(\(a_i\) \(a_{i+1}\)) 定 ...

  6. C程序:年转化天

    突然想算算自己到底活了多少天了,e,就是纯属为了好玩,毕竟咱作为一名C初学者还是要多练练的- 为了好玩,加了个密码登陆的,密码是521,还有就是不太懂时间获取... 具体闰年的判断方法: 代码如下: ...

  7. Openfeign与Ribbon

    Ribbon和OpenFeign我个人为其实算是两个东西,Ribbon侧重于做服务调用时的负载均衡,而OpenFeign侧重于面向接口进行服务调用. 在只引入Ribbon依赖的时候,可以使用restT ...

  8. 通过导入Jar包的方式使用JSONObject

    如果想要在Java中使用JSONObject,而且只想通过导入jar包的方式下,那么仅仅导入Json的jar包还是不够的. 不然会报:java.lang.ClassNotFoundException: ...

  9. Java中float、double、long类型变量赋值添加f、d、L尾缀问题

    展开1. 添加尾缀说明 我们知道Java在变量赋值的时候,其中float.double.long数据类型变量,需要在赋值直接量后面分别添加f或F.d或D.l或L尾缀来说明.  其中,long类型最好以 ...

  10. [转载] IOS 获取网络图片的大小 改变 图片色值 灰度什么的方法集合

    IOS 获取网络图片的大小 改变 图片色值 灰度什么的方法集合