本文转载自微信公众号「bugstack虫洞栈」,作者小傅哥 。转载本文请联系bugstack虫洞栈公众号。
目录
- 一、前言
- 二、什么是低代码
- 三、如何落地实现
- 四、总结
一、前言
CRUD程序员会不会越来越便宜?
CRUD,是程序员的自嘲,讲自己经常开发增删改查或者接口包装的简单逻辑代码。
但这部分简单逻辑的代码又几乎是现阶段互联网公司里最消耗研发人员的部分,任何的业务需求实现都会包括大量接口的开发,但这些不同业务间差异性较大的接口又不具备可复用性,因此不断的造接口带来的是研发、测试到交付上线一整套的人员投入。
对个人来说开发CRUD是几乎没有技术成长的,开发CRUD只是程序员在成长过程中的一个阶段,随着个人能力的提升以及跳槽必然会做更加核心的开发。
站在公司技术部门的层面,一定是希望投入更少的人实现更高的交付能力。例如:
DDD建设在业务、运营、产品、研发、测试等人员间的领域模型,降低沟通成本
用于解决在业务流程中嵌入的非业务功能性的通用核心服务,抽离出统一的技术组件
标准的主干业务形态,抽离出业务通用性物料,用于可服务化编排,降低开发成本
以上以及其他的种种方案都是为了提升研发可持续性交付能效,而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工具,完成代码逻辑的服务编排。你可以把基础的业务流程理解为各个分支节点项的基础物料。通过这些物料接口接口的组装、编排和结果输出,来完成代码逻辑的自动化开发和可持续性交付。
使用低代码开发并且运用可视化的方式来构建应用程序,你的开发效率和交付质量都将大大提升。这也就是为什么说 CRUD 程序员将越来越便宜。
三、如何落地实现
如果低代码编程这么好,那你具备落地条件吗?
低代码编程的核心就是运用可视化IDE进行动态编排服务逻辑接口,并做到可持续交付的能力,从而提升研发能效。
但开发一个业务功能的复杂逻辑总量不会变,为了支持可视化服务编排,那么就需要有对应的通用性业务组件。那么这部分业务组件、技术组件、自动化的交付质量分析以及监控系统就都需要完善提供出来。如果公司的技术资料沉淀相对较少,那么运营这样一套平台还是相当不容易的
- 物料:这里指相对独立的业务领域模型,实现的通用性业务功能。例如:下单核心流程、支付核心流程等。
- 组件:通常说的是技术组件,也包括中间件那部分。这部分是对于业务流程中非业务逻辑的通用性核心逻辑,提炼出来开发的中间件。比如:白名单、熔断、限流、路由等。
- 交付:在交付过程中如何保证研发治理是非常重要的一环,如果是自动化拖拽式开发,那么就更需要使用字节码增强技术,采集接口开发信息,为交付质量自动化分析做保障。
- 监控:系统的上线运行还需要可持续的维护和监控,也就是常说的QPS、TPS、可用率、响应时长、调用链路等等。
除此之外还有很多其他的组件也会引入到低代码编程中,这些功能模块、物料和无服务计算的组件都都需要大量专业能力很高的程序员来开发完成。
当然,低代码编程也不只是服务端使用,还有前端搭建页面。例如你以前用过的很多拖拽都可以算作其中。
四、总结
- 本篇只是向大家介绍低代码编程以及它的落地方案介绍,但开发这样的IDE并不容易。比如你需要了解源码用于开发中间件,了解字节码插桩用于开发监控,懂得UI开发拖拽和代码自动化生成等等。
- CRUD,不是长久之计! 通过这样越来越多的技术升级,你会发现只让你开发CRUD的公司将会越来越少。
- 学会造轮子,学会造火箭,除了工作之外的核心技术才是每个成长阶段的必需品。新的一年开始了,加油!