技術掃盲:關于低代碼編程的可持續(xù)性交付設計和分析
本文轉(zhuǎn)載自微信公眾號「bugstack蟲洞棧」,作者小傅哥 。轉(zhuǎn)載本文請聯(lián)系bugstack蟲洞棧公眾號。
目錄
- 一、前言
- 二、什么是低代碼
- 三、如何落地實現(xiàn)
- 四、總結(jié)
一、前言
CRUD程序員會不會越來越便宜?
CRUD,是程序員的自嘲,講自己經(jīng)常開發(fā)增刪改查或者接口包裝的簡單邏輯代碼。
但這部分簡單邏輯的代碼又幾乎是現(xiàn)階段互聯(lián)網(wǎng)公司里最消耗研發(fā)人員的部分,任何的業(yè)務需求實現(xiàn)都會包括大量接口的開發(fā),但這些不同業(yè)務間差異性較大的接口又不具備可復用性,因此不斷的造接口帶來的是研發(fā)、測試到交付上線一整套的人員投入。
對個人來說開發(fā)CRUD是幾乎沒有技術成長的,開發(fā)CRUD只是程序員在成長過程中的一個階段,隨著個人能力的提升以及跳槽必然會做更加核心的開發(fā)。
站在公司技術部門的層面,一定是希望投入更少的人實現(xiàn)更高的交付能力。例如:
DDD建設在業(yè)務、運營、產(chǎn)品、研發(fā)、測試等人員間的領域模型,降低溝通成本
用于解決在業(yè)務流程中嵌入的非業(yè)務功能性的通用核心服務,抽離出統(tǒng)一的技術組件
標準的主干業(yè)務形態(tài),抽離出業(yè)務通用性物料,用于可服務化編排,降低開發(fā)成本
以上以及其他的種種方案都是為了提升研發(fā)可持續(xù)性交付能效,而CRUD這種高重復的代碼邏輯,會被一點點的由工具可視化編程吞食掉。而低代碼編程對于這一部分是最好下手的!
二、什么是低代碼
Low-Code,一詞最早在2014年就由Forrester提出,它是對低代碼開發(fā)平臺的始祖級定義。
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.
簡單說,低代碼開發(fā)就是研發(fā)人員可以通過編寫少量的代碼或者通過IDE拖拽工具,快速完成業(yè)務需求開發(fā)的一種方式。
低代碼開發(fā)平臺,可以自研或者使用市面的IDE工具,完成代碼邏輯的服務編排。你可以把基礎的業(yè)務流程理解為各個分支節(jié)點項的基礎物料。通過這些物料接口接口的組裝、編排和結(jié)果輸出,來完成代碼邏輯的自動化開發(fā)和可持續(xù)性交付。
使用低代碼開發(fā)并且運用可視化的方式來構建應用程序,你的開發(fā)效率和交付質(zhì)量都將大大提升。這也就是為什么說 CRUD 程序員將越來越便宜。
三、如何落地實現(xiàn)
如果低代碼編程這么好,那你具備落地條件嗎?
低代碼編程的核心就是運用可視化IDE進行動態(tài)編排服務邏輯接口,并做到可持續(xù)交付的能力,從而提升研發(fā)能效。
但開發(fā)一個業(yè)務功能的復雜邏輯總量不會變,為了支持可視化服務編排,那么就需要有對應的通用性業(yè)務組件。那么這部分業(yè)務組件、技術組件、自動化的交付質(zhì)量分析以及監(jiān)控系統(tǒng)就都需要完善提供出來。如果公司的技術資料沉淀相對較少,那么運營這樣一套平臺還是相當不容易的
- 物料:這里指相對獨立的業(yè)務領域模型,實現(xiàn)的通用性業(yè)務功能。例如:下單核心流程、支付核心流程等。
- 組件:通常說的是技術組件,也包括中間件那部分。這部分是對于業(yè)務流程中非業(yè)務邏輯的通用性核心邏輯,提煉出來開發(fā)的中間件。比如:白名單、熔斷、限流、路由等。
- 交付:在交付過程中如何保證研發(fā)治理是非常重要的一環(huán),如果是自動化拖拽式開發(fā),那么就更需要使用字節(jié)碼增強技術,采集接口開發(fā)信息,為交付質(zhì)量自動化分析做保障。
- 監(jiān)控:系統(tǒng)的上線運行還需要可持續(xù)的維護和監(jiān)控,也就是常說的QPS、TPS、可用率、響應時長、調(diào)用鏈路等等。
除此之外還有很多其他的組件也會引入到低代碼編程中,這些功能模塊、物料和無服務計算的組件都都需要大量專業(yè)能力很高的程序員來開發(fā)完成。
當然,低代碼編程也不只是服務端使用,還有前端搭建頁面。例如你以前用過的很多拖拽都可以算作其中。
四、總結(jié)
- 本篇只是向大家介紹低代碼編程以及它的落地方案介紹,但開發(fā)這樣的IDE并不容易。比如你需要了解源碼用于開發(fā)中間件,了解字節(jié)碼插樁用于開發(fā)監(jiān)控,懂得UI開發(fā)拖拽和代碼自動化生成等等。
- CRUD,不是長久之計! 通過這樣越來越多的技術升級,你會發(fā)現(xiàn)只讓你開發(fā)CRUD的公司將會越來越少。
- 學會造輪子,學會造火箭,除了工作之外的核心技術才是每個成長階段的必需品。新的一年開始了,加油!