技术扫盲:关于低代码编程的可持续性交付设计和分析

简介: 一、前言二、什么是低代码三、如何落地实现四、总结

目录


  • 一、前言
  • 二、什么是低代码
  • 三、如何落地实现
  • 四、总结


一、前言

CRUD程序员会不会越来越便宜?

CRUD,是程序员的自嘲,讲自己经常开发增删改查或者接口包装的简单逻辑代码。

但这部分简单逻辑的代码又几乎是现阶段互联网公司里最消耗研发人员的部分,任何的业务需求实现都会包括大量接口的开发,但这些不同业务间差异性较大的接口又不具备可复用性,因此不断的造接口带来的是研发、测试到交付上线一整套的人员投入。

对个人来说开发CRUD是几乎没有技术成长的,开发CRUD只是程序员在成长过程中的一个阶段,随着个人能力的提升以及跳槽必然会做更加核心的开发。

站在公司技术部门的层面,一定是希望投入更少的人实现更高的交付能力。例如:

  1. DDD建设在业务、运营、产品、研发、测试等人员间的领域模型,降低沟通成本
  2. 用于解决在业务流程中嵌入的非业务功能性的通用核心服务,抽离出统一的技术组件
  3. 标准的主干业务形态,抽离出业务通用性物料,用于可服务化编排,降低开发成本

以上以及其他的种种方案都是为了提升研发可持续性交付能效,而CRUD这种高重复的代码逻辑,会被一点点的由工具可视化编程吞食掉。而低代码编程对于这一部分是最好下手的!

二、什么是低代码

Low-Code,一词最早在2014年就由Forrester提出,它是对低代码开发平台的始祖级定义。

Low-code is a software development approach that enables the delivery of applications faster and with minimal hand-coding. Low-code platforms are a collection of tools that enable the visual development of applications through modeling and a graphical interface. Low-code enables developers to skip hand-coding, speeding up the process of getting an application to production.

简单说,低代码开发就是研发人员可以通过编写少量的代码或者通过IDE拖拽工具,快速完成业务需求开发的一种方式。

低代码开发平台,可以自研或者使用市面的IDE工具,完成代码逻辑的服务编排。你可以把基础的业务流程理解为各个分支节点项的基础物料。通过这些物料接口接口的组装、编排和结果输出,来完成代码逻辑的自动化开发和可持续性交付。

34.jpg

使用低代码开发并且运用可视化的方式来构建应用程序,你的开发效率和交付质量都将大大提升。这也就是为什么说 CRUD 程序员将越来越便宜。

三、如何落地实现

如果低代码编程这么好,那你具备落地条件吗?

低代码编程的核心就是运用可视化IDE进行动态编排服务逻辑接口,并做到可持续交付的能力,从而提升研发能效。

但开发一个业务功能的复杂逻辑总量不会变,为了支持可视化服务编排,那么就需要有对应的通用性业务组件。那么这部分业务组件、技术组件、自动化的交付质量分析以及监控系统就都需要完善提供出来。如果公司的技术资料沉淀相对较少,那么运营这样一套平台还是相当不容易的

35.jpg

  • 物料:这里指相对独立的业务领域模型,实现的通用性业务功能。例如:下单核心流程、支付核心流程等。
  • 组件:通常说的是技术组件,也包括中间件那部分。这部分是对于业务流程中非业务逻辑的通用性核心逻辑,提炼出来开发的中间件。比如:白名单、熔断、限流、路由等。
  • 交付:在交付过程中如何保证研发治理是非常重要的一环,如果是自动化拖拽式开发,那么就更需要使用字节码增强技术,采集接口开发信息,为交付质量自动化分析做保障。
  • 监控:系统的上线运行还需要可持续的维护和监控,也就是常说的QPS、TPS、可用率、响应时长、调用链路等等。

除此之外还有很多其他的组件也会引入到低代码编程中,这些功能模块、物料和无服务计算的组件都都需要大量专业能力很高的程序员来开发完成。

当然,低代码编程也不只是服务端使用,还有前端搭建页面。例如你以前用过的很多拖拽都可以算作其中。

四、总结

  • 本篇只是向大家介绍低代码编程以及它的落地方案介绍,但开发这样的IDE并不容易。比如你需要了解源码用于开发中间件,了解字节码插桩用于开发监控,懂得UI开发拖拽和代码自动化生成等等。
  • CRUD,不是长久之计! 通过这样越来越多的技术升级,你会发现只让你开发CRUD的公司将会越来越少。
  • 学会造轮子,学会造火箭,除了工作之外的核心技术才是每个成长阶段的必需品。新的一年开始了,加油!
目录
相关文章
|
算法 编译器 数据库
【C++ 泛型编程 高级篇】使用SFINAE和if constexpr灵活处理类型进行条件编译
【C++ 泛型编程 高级篇】使用SFINAE和if constexpr灵活处理类型进行条件编译
938 0
|
数据采集 并行计算 Java
【文末送书】Python高并发编程:探索异步IO和多线程并发
【文末送书】Python高并发编程:探索异步IO和多线程并发
451 0
|
搜索推荐 算法 C语言
冒泡排序:从小到大轻松搞定数组排序(c语言代码)
冒泡排序:从小到大轻松搞定数组排序(c语言代码)
405 0
|
10月前
|
监控 关系型数据库 MySQL
Linux环境下MySQL数据库自动定时备份策略
在Linux环境下,MySQL数据库的自动定时备份是确保数据安全和可靠性的重要措施。通过设置定时任务,我们可以每天自动执行数据库备份,从而减少人为错误和提高数据恢复的效率。本文将详细介绍如何在Linux下实现MySQL数据库的自动定时备份。
289 3
|
11月前
|
存储 人工智能 uml
介绍一款好用的开源画图神器-draw.io | AI应用开发
draw.io 是一款基于浏览器的开源绘图工具,无需安装即可使用,支持多种操作系统和设备。其简洁的界面、丰富的形状库、智能对齐功能和强大的云端协作能力,使其成为专业人士和创意爱好者的首选。无论是产品设计、流程图绘制还是思维导图构建,draw.io 都能满足你的多样化需求。【10月更文挑战第7天】
1020 0
|
算法 Linux C++
C++框架设计中实现可扩展性的方法
在软件开发中,可扩展性至关重要,尤其对于C++这样的静态类型语言。本文探讨了在C++框架设计中实现可扩展性的方法:1) 模块化设计降低耦合;2) 使用继承和接口实现功能扩展;3) 通过插件机制动态添加功能;4) 利用模板和泛型提升代码复用;5) 遵循设计原则和最佳实践;6) 应用配置和策略模式以改变运行时行为;7) 使用工厂和抽象工厂模式创建可扩展的对象;8) 实现依赖注入增强灵活性。这些策略有助于构建适应变化、易于维护的C++框架。
805 2
|
存储 自然语言处理 Java
Java中的字符型数据(char)
Java中的字符型数据(char)
474 0
|
存储 JavaScript 前端开发
【MySQL】MySQL9.0发布,有点小失望
本文介绍了MySQL 9.0新版本的更新情况及其主要特性,包括JavaScript存储过程、VECTOR类型支持、内联和隐式外键约束等。作者详细讲解了如何在官网上查找新特性,并提供了两种下载方法:官网下载和Docker镜像。此外,文章还探讨了老版本是否需要升级至MySQL 9.0的问题,最终认为新特性并不足以成为升级的必要理由。适合对MySQL新版本感兴趣的读者参考。
2085 1
【MySQL】MySQL9.0发布,有点小失望
|
12月前
|
存储 搜索推荐 数据挖掘
数据库的应用
数据库在众多领域发挥着重要作用。在企业管理中,它助力客户关系、人力资源和财务管理,提升决策科学性和效率;金融领域中,银行系统、证券交易和保险行业依托数据库保障交易安全、投资决策及风险管理;医疗行业则通过电子病历管理和数据分析提高诊疗准确性并优化资源配置;电子商务运用数据库实现商品、订单管理和用户行为分析,增强购物体验;教育领域中,数据库支持学生信息、教学资源管理和教育数据分析,促进家校沟通与教学质量提升;科学研究方面,数据库促进数据共享、科研项目管理和深入数据分析,加速科学进步。
545 3
|
传感器 安全 物联网
Gateway基本配置:打开网络之门
Gateway基本配置:打开网络之门