技術掃盲:關于低代碼編程的可持續性交付設計和分析
本文轉載自微信公眾號「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的公司將會越來越少。
- 學會造輪子,學會造火箭,除了工作之外的核心技術才是每個成長階段的必需品。新的一年開始了,加油!