OneCode低代碼引擎專有存儲技術(低代碼應用)
前言
低代碼是一個新興的技術,有著非常明確而鮮明的技術特點,比如:拖拽組件、可視化編程、零代碼編程等等。但傳統(tǒng)軟件企業(yè)在進行技術融合時卻往往是困難重重,舊有的技術積累很難能繼承應用過來。本文作為一組技術分析,來逐一分解低代碼背后的支撐技術。今天我們給大家?guī)淼囊粋€專題分析是,低代碼平臺的專有存儲技術。
一,低代碼平臺與存儲系統(tǒng)
低代碼平臺不是一個新興的概念在早在2000年初期,就有類似于RAD的單頁網頁模型概念。在實際業(yè)務實現(xiàn)中絕大多數(shù)的業(yè)務支撐軟件中也都會有類似于“智能表單”之類的泛低代碼應用。在這些應用中多數(shù)都采用的是“代碼模版”技術,將表單模版存儲于數(shù)據(jù)庫,或者轉存成文件,運行期利用模版技術進行動態(tài)渲染。這在簡單單一的功能應用中尚可滿足需求,但在低代碼平臺背景下就有點捉襟見肘。其重要表現(xiàn)在以下幾個方面:
(1) 單頁向多頁多目錄的支持
在表單系統(tǒng)功能相對單一,關聯(lián)資源也會比較少。但在低代碼平臺中,仍然采用單頁結構的話不但使得頁面功能冗余嚴重,日后的維護也會帶來非常大的負擔。這就需要低代碼系統(tǒng)優(yōu)先有支持的便是web目錄尋址以及異步按需裝載技術,同時這一技術也對傳統(tǒng)的后端頁面存儲提出了新的要求。
在衡量低代碼平臺優(yōu)劣的指標中支持“全棧開發(fā)”是一個非常重量級的商業(yè)指標,也是“無代碼”應用的關鍵支撐技術,在全棧開發(fā)支持中最常用的技術便是代碼生成,在一定的模型支撐下,配合前端UI模型,生成與之匹配的后端代碼模型,實現(xiàn)低代碼/無代碼應用。這一特性為低代碼平臺的存儲應用帶來了新的挑戰(zhàn):
添加圖片注釋,不超過 140 字(可選)
- 頁面模型與后端代碼的不可分割性需要頁面模型與后端代碼模型相互可感知其存在與變化。
- 對于生成的代碼多數(shù)會采用更高級的語言來支撐,這就需要在存儲技術上要能感知源碼、以及其編譯變化。
- 代碼生成的最大一個目的在于便于后期二次開發(fā),這就需要存儲模型對于手工編譯與在線即時編譯有一定的感知和把控能力。
(3) 開發(fā)者支持
在低代碼應用特性中,有一個非常大的亮點便是屬性和邏輯方法的可視化編輯,但單頁應用中我們通常會將頁面進行組件化的劃分,然后抽取其屬性,事件以及可操作方法,通過可視化的方式講這些屬性和方法展示給“開發(fā)者”進行可視化操作。但在真實的項目開發(fā)中,單一的頁面可視是遠遠不夠的。在可視化操作中,很多頁面都會需需要跨組件跨頁面操作。而在全棧支持開發(fā)中甚至還會需要在“后端全代碼”開發(fā)中能夠支持頁面中的出入?yún)⒌却a補全操作。并且能針對類型出入?yún)⒛P瓦M行預編譯混合編譯支持。這些需求對于“低代碼存儲”提出了更新更多的要求。
(4) DevOps 在線協(xié)同支持
低代碼開發(fā)中很重要的一個特性便是“一鍵發(fā)布” 快速部署。但便捷并不等省略,在貫穿整個設計、開發(fā)、測試、部署環(huán)節(jié)中,會涉及到更多的產品、開發(fā)、測試、運維等多種角色介入。而在代碼管理以及項目流程管理方面這需要存儲系統(tǒng)針對編譯系統(tǒng)、代碼版本應用、用戶協(xié)同管控等多個方面提供支持。
二,OneCode-VFS存儲系統(tǒng)設計
OneCode-VFS 是OneCode低代碼引擎的核心支撐系統(tǒng),VFS本身采用的是獨立部署的應用。對外提供標準的微服務接口。低代碼引擎中:可視化設計器、DSM編譯器、DevOps等多個組件通過,VFS驅動工具訪問VFS存儲應用,并相互感知文件變化協(xié)同服務。
(1)OneCode-VFS 功能組成
(2)OneCode-VFS 基礎服務功能
(3) VFS-低代碼應用存儲服務
三,OneCode-VFS基礎功能設計
(1)存儲功能總體設計
添加圖片注釋,不超過 140 字(可選)
(2)開放協(xié)議支持
(3)Storage存儲系統(tǒng)設計
四,低代碼應用支撐
(1)web靜態(tài)代理
(2)用戶工程支持
(3)模板預定義
設計器插件組件庫
出碼模板庫
插件庫
五,DSM編譯服務支持
(1)OneCode 項目生命周期
(2)研發(fā)知識庫
模型庫可視化
邏輯可視化
添加圖片注釋,不超過 140 字(可選)
代碼補全應用