聊聊「低代码」的实践之路

news2024/9/21 18:55:43

区块链、低代码、元宇宙、AI智能;


01


先来说说背景

这个概念由来已久,但是在国内兴起,是最近几年;

低代码即「Low-Code」;

指提供可视化开发环境,可以用来创建和管理软件应用;

简单的说;

就是可以通过各种组件的拖拽,实现页面的创建,交互流程和逻辑,以及数据层面的管理,更加高效的实现需求;

早先在数据公司时;

见识过低代码的应用,也参与过部分研发,比如元数据平台,BI分析等;

不过,当时还是以数据管理的工具来定义项目,并非是低代码;

从「2020年底」开始;

实际上,那个时间节点,低代码平台的应用已经形成趋势了;

现在的公司,将「低代码」平台的使用「规划」到「业务体系」中;

后来看,这是一个非常正确的决策

在当时的讨论会议上,大Boss给的理念;

非核心业务全面集成到低代码平台中,将核心业务的边缘流程,以实践的方式迁出小部分到低代码平台中

并且给了理由,是基于「行业趋势」和「业务周期」的整体考虑,才做出的决策;

其实,所谓的降本增效,也会遵循上述的规律;

不过遭到技术部的「稍微」反对;

主管还当场给了理由,说明为何不支持这样的决策;

但是最终的讨论结果,出自部门老大的建议;

不动核心业务,先将「边缘业务」迁入,根据「效果」再决策后续规划;

当然大Boss最终认同这个结论;

以实践三年后的今天来看,人和人的「差距」确实挺大的;

组织内「Boss」层面的决策正确,「部门」层面的执行节奏,「员工」层面的后知后觉;

有感觉到明显的认知「差距」;


02


聊聊最初的疑惑

客观来说;

在研发领域内,大部分玩家对新事物都有一定的「排斥」情绪;

新事物意味「打破习惯」和诸多「不确定」因素;

主观来说;

个人虽然也有排斥新事物的心理,但是很少质疑有趋势性的事物,当低代码应用成为流行趋势时,个人选择跟随就好;

技术部为何下意识的反对低代码应用?

从最近三年的实践和采坑经验来说,以下问题可能都会成为「否定」的因素;

问题1】平台选择;

这里重点考虑两个维度:普遍性和业务特性;

如果只是常规的业务数字化转型,建议优先从大的生态选择,比如「某微」或「某钉」,相对而言会更便捷;

如果有行业定制化的需求,则需要有针对性调研,比如财务系统,人事管理等;

问题2】成本困扰;

思考一个问题:

简单业务需求从整体协作去考虑,涉及的时间成本、人力成本、以及产品技术的维护成本;

计算成本之后,和低代码平台的费用做对比;

客观的「数字」最有说服力;

这里依旧是降本增效的策略:更低的时间,更高的效率,更少的成本,更多的回报;

问题3】业务适用性;

低代码应用刚火起来不久,并没有发展到各行各业都有成熟合适的解决方案;

所以针对低代码平台的使用;

最大的争议点就是,没有找到符合业务特性的平台,但是管理层急于追求数字化和降本;

这种情况下;

如果盲目引入到业务体系中,后期难免会成为烫手的山芋;

所以充分的调研,以及对市场上各种案例的参考,从而客观的分析公司当前的业务阶段,是否有必要引入低代码应用;

问题4】复杂后的维护性;

涉及到一个决策问题,低代码应用到底谁来维护?

业务人员还是研发角色?

从实践经验看;

建议是由业务方将需求对接到研发团队,个人所在的组织中,是一个产品加一个研发,一起负责低代码平台的迭代;

值得注意的是;

低代码应用具有一定的使用门槛,在使用的时候需要遵循普遍的开发原则和规范,以此保证持续可维护性;


03


简单聊聊原理

在说低代码的实践之前,先来分析一下基础性的原理;

如果是普遍的共性业务

常规就是页面的渲染和展示,数据层面的增删改查,计算层面的加减乘除,当然还要考虑模型整体的驱动和交互逻辑;

如果是行业特色的业务

则需要低代码平台中进行深度定制化的功能,提供其特定的解决方案;

技术角度进行原理的简单分析;

在低代码系统中,十分考验前后端的整体「封装」能力;

前端,页面中各种组件和工具的管理,交互时各种动态计算,页面整体的数据填充;

后端,提供整体的模型驱动能力,封装不同场景下的公共的交互接口,从而实现各个模块的流程和逻辑;

数据,比较常规的手段有两种;

【1】进行纵向的表结构设计,数据存储层面使用键值对的方式,构建搜索查询的逻辑比较复杂;

【2】数据采用JSON的格式,在数据体量大的情况下,要考虑查询效率问题;

【3】数据还要提供基础的分析和导入导出能力,以及API层面或者数据通道的搬运能力;

实际上低代码应用的现状,还会提供各种应用和生态的集成能力;

追求功能的全面性;

可以参考「某微」或「某钉」的低代码平台的集成能力;


04


组织内实践案例

明白低代码的基础原理之后,再来聊聊近「3年」的实践;

首先要明确一个「认知」;

如果只是从研发角度「纵向」看;

业务可能就是产品矩阵中所涉及的各种事务流程,以及参与流程管理和协作的各个角色;

角度没有问题,但是有点孤立;

但是,「横向」的从组织的整体来看;

即便抛开产品层面,还存在诸多的协作事项,业务流程的管理;

这些普遍不会被集成到产品矩阵中;

但是同样值得「信息化」和「数字化」管理,从而打造「标准化」流程;

在引入低代码平台之后,会形成如下的应用体系;

在工作中,如果涉及多部门间的「横向」交集;

那么会接触到很多第三方应用,而非单纯的研发部门搭建的产品体系;

有的应用极具行业的特色,有的应用倾向共性业务的管理,有的应用倾向私域客群的维护;

不同平台的共通点,都是可以提供定制化的低代码能力;

最为关键的是;

这些平台都提供「对外」的「交互」能力,可以是第三方应用之间的交互,也可以是与内部的产品体系交互;

在这种应用体系内;

组织在实践近一年之后,各种核心的业务流程,都全面的信息化和数字化管理,并且从应用层面打通了不同业务的交互路径;

最后,经过对比论证,业务流的「效率」得到极大的提升;


05


实践带来的反思

与低代码平台联系最密切的一个概念,就是「数字化」;

在数据公司时;

见识到数据层面可以挖掘的价值,智能化的分析决策流程,但是缺乏应用层面的数字化实践;

现在的组织中;

强烈的追求业务数字化管理,并且有幸见识到了完整的实践过程,才最终形成比较清晰的认知;

不得不承认,这是一个普通玩家,「后知后觉」的反思;

反思低代码应用;

各厂商基于自身所在的行业,以及技术和产品的实践经验,将其封装在复杂的低代码平台中;

从而提供,各种「相对简单」的业务流模型搭建;

这样可以支撑各种业务场景的数字化管理,并且低代码搭建的产品,本身具备很强的灵活可变能力,都有助于效率的提升;

在业务完成数字化之后,自然可以提升各个场景的统筹效率;

对于当下最热门的「AI领域」来说,其依赖「数字化」的基础,进而推进流程和决策的「智能化」管理;

反思技术的发展;

以前总觉得,所谓的信息化、数字化、智能化「遥不可及」;

但是区区几年的时间,就已经普及到各行各业;

成为当下最大的热点;

所以,面对新兴事物的时候,快速理解和衡量其价值,确实会给认知层面带来巨大的差距;


06


最后聊几句问题

随着低代码应用的普及;

越来越多的业务人员具备「简单」的开发能力,必然会给部分研发人员的带来负面影响;

无疑;

加剧互联网的「内卷」趋势,本就卷得一塌糊涂的行业,现在更是雪上加霜;

然而趋势的形成,不会以个人意志为转移;

就像现在的「AI智能」一样,领先的公司不会顾及反对的声音一路狂奔,落后的公司一边喊着反对又一边疯狂追赶;

真正的趋势,本着不可逆跟随就好的心态。

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

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

相关文章

中英文切换,vue项目国际化使用教程(国际化使用详细,i18n国际化)

简述:在工作中,我们难免会遇到把文字切换成外语的需求,这里来记录下如何在项目中点击切换成英语,这里会用到i18n,它是一个支持国际化功能的插件,这里来分享下它的使用过程。 1、首先,我们需要在…

idea使用 ( 四 ) 插件

5.插件 5.1.idea数据库连接 5.1.1.打开配置界面 5.1.2.选择MySQL 点击 号 > Data Source > MySQL 5.1.3.配置数据库驱动jar 先在左边选择 MySQL 再点击 号 > Custom JARs… 在 弹出的窗口中选择 已经存在的 jar位置 就导入 MySQL 的驱动文件 5.1.4.配置连库…

记录一次在x86 软件中使用dpdk 的历程(Makefile gcc改成g++)

我们一台服务器上原本是用grub下预留内存的方式, 然后把物理地址在板卡上的配置文件中传给L1. 但是在客户的环境上服务器windriver上不是能预留内存的. 所以服务器上需要在testMxx程序中用dpdk的方式分配出内存, 然后, 把物理地址通过sdp虚拟的网口, 用socket 传…

为什么要清除浮动?清除浮动的方式

📝个人主页:爱吃炫迈 💌系列专栏:HTMLCSS 🧑‍💻座右铭:道阻且长,行则将至💗 文章目录 浮动的定义浮动的工作原理浮动的特性为什么要清除浮动清除浮动的方式利用clear样式…

vue3 vite typescript volar element-plus element标签报红问题的解决

故障就这样的: 模块 ""element-plus"" 没有导出的成员 "FormInstance" 至于原因咱也不知道,也没搞明白,一直以为是volar校验的问题,能开发咱就接着干,到了发布的时候傻眼了。所有这种…

API低代码平台介绍1-功能概述

API低代码平台之ADI平台 ADI平台是指Application data integration,即“应用数据集成”,使用springboot开发,并通过springcloud实现微服务,是一个动态定义Http API接口的“零代码”或“低代码”平台,支持GET(查)、POST…

Java 实现 YoloV7 人体姿态识别

1 OpenCV 环境的准备 这个项目中需要用到 opencv 进行图片的读取与处理操作,因此我们需要先配置一下 opencv 在 java 中运行的配置。 首先前往 opencv 官网下载 opencv-4.6 :点此下载;下载好后仅选择路径后即可完成安装。 此时将 opencv\b…

30基于非对称纳什谈判的多微网电能共享运行优化策略MATLAB程序

资源地址: 30基于非对称纳什谈判的多微网电能共享运行优化策略MATLAB程序资源-CSDN文库 参考文献: 《基于非对称纳什谈判的多微网电能共享运行优化策略》——吴锦领 仿真平台:MATLAB CPLEXMOSEK/IPOPT 主要内容: 主要做的是…

优思学院|精益生产为企业带来革命性转变的效益

企业的成长和发展需要不断的变革和创新,而精益生产则成为了这个时代的代名词。精益生产不仅仅是一个生产方式,更是一种革命性的转变,为企业带来了无限的效益。 什么是精益生产? 精益生产是一种基于持续改进的生产方式&#xff0…

基于matlab的混合波束成形仿真

一、前言 本示例介绍了混合波束成形的基本概念,并展示了如何仿真此类系统。 二、介绍 现代无线通信系统使用空间复用来提高散射体丰富的环境中系统内的数据吞吐量。为了通过通道发送多个数据流,从通道矩阵中导出一组预编码和组合权重。然后,可…

lammps教程:聚合物压缩,避免“bond atoms missing”

本文介绍聚合物的压缩方法。 lammps模拟聚合物体系时,最常见的一个错误是“bond atoms missing”,其中一个原因是建模方法不对。 这个原理在之前的专栏文章中已经详细介绍。 如果使用ms建模,聚合物的链会伸出到盒子外面,在导出data文件后&…

MindFusion.Diagramming for WinForms 6.8.6

您现在可以指定在修改项目时要显示的视觉效果。 2023 年 4 月 26 日 - 15:55新版本 特征 您现在可以指定在修改项目时要显示的视觉效果。新的 Opacity 属性允许您创建半透明的 DiagramItem。添加了新的 CopySelection 重载,它允许您复制项目列表而无需选择它们。您现…

OrbStack

OrbStack 是一个可以在 macOS 上快速运行 Docker 容器,和 Linux 虚拟机的工具,资源占用率低,高效,快速。 macOS 上的 Parallels Desktop 和 Docker Desktop 一直是饱受诟病,慢、重、资源消耗巨大。OrbStack 的出现就是…

goroutine和channel

进程与线程 进程就是程序执行在操作系统中的一次在执行过程,是系统进行资源分配的基本单位。 线程就是进程的一个执行实例,是程序的最小执行单元,是比进程更小的独立运行的单位。 一个进程可以创建多个线程,同一一个进程中的多…

如何在C中动态分配二维数组

在C语言中如何动态申请连续的二维数组。可以采用多申请一些指针,然后这一些指针分别指向后面数据区中对应的位置,如一个3*4的int类型数组,我们先申请大小为sizeof(int*) * 3 3 * 4 * sizeof(int)的一维数组设为arr。然后arr[0]存放指向arr …

OpenAirInterface通过docker build方式构建images

本文主要讲解如何通过build方式构建各个网元的image,因为直接pull的image无法对其进行更改,而build的镜像可以对其源代码进行编辑更改后生成镜像。 参考链接:OAI build iamges 1.获取正确的网络功能分支 此存储库仅包含教程和持续集成脚本…

有假币与求正数数组的最小不可组成和

一、编程题 1.有假币 链接:有假币__牛客网 (nowcoder.com) 居然有假币! 现在猪肉涨了,但是农民的工资却不见涨啊,没钱怎么买猪肉啊。nowcoder这就去买猪肉,结果找来的零钱中有假币!!&#xff…

爪哇项目maven项目的打包方式

大家好 ~ 前言 现在都是使用idea中maven插件来打包项目,出现了很多问题很多类或者方法、依赖没有打入到包中,发生了很多问题,因此此文章将基于idea中的maven插件打包。 概念 打包分为小包和大包两种概念: 小包:只打…

Conda虚拟环境的复制和迁移

Conda虚拟环境的复制和迁移 在本机复制Conda虚拟环境 conda create --name snapshot --clone myenv相同操作系统之间复制环境 方法一:requirements.txt 这个方法不推荐,因为只会导出你使用pip安装的依赖包,不会导出虚拟环境所依赖的包&am…

SQL应用题分析

SQL应用题的一般考点: 基本表的查询(单表、多表、嵌入、分组、排序)、向表中插入数据、更新数据、建立视图 关系代数替换sql,使用关系代数来进行查询 基本上就这几点 SQL基本表的插入、更新和建立视图都是死板的,只…