作者:小傅哥
部落格:https://bugstack.cn
沉澱、分享、成長,讓自己和他人都能有所收穫!?
一、前言
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的公司將會越來越少。- 學會造輪子,學會造火箭,除了工作之外的核心技術才是每個成長階段的必需品。新的一年開始了,加油!