一飛開源,介紹創意、新奇、有趣、實用的開源應用、系統、軟體、硬體及技術,一個探索、發現、分享、使用與互動交流的開源技術社群平台。致力於打造活力開源社區,共建開源新生態!
一、開源專案簡介
OneCode低程式引擎
隨著低程式碼概念的火熱,相關的技術及產品也是層出不窮,不管是老牌產業軟體廠商還是開放平台廠商,不論是網路產業企業SAAS軟體新動向還是新興的低程式碼創新產品服務,都在第一時間打出了低程式碼這張牌。各個平台雖然各有優勢,但大多又是自成體系,真正在企業方面進行選擇時卻一時難以抉擇。對於低程式碼平台的功能評價,以及各平台組件間的互聯互通則成為了市場上迫切需求。
2022年,在平台互聯互通的方面,阿里在第二季度推出開源引擎“LowCodeEngin”,國家隊信通院也應市場需求在第四季度推出了《低程式碼開發平台通用技術要求》,針對低程式碼相關概念以及功能點新型了進一步的規格和梳理。
在全面開放的大背景下,CodeBee團隊,推出了基於開源LGPL協定 低程式碼引擎(LowCodeEngine)。
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/a319e168-c7a4-4a15-8d24-c65bbd97664f.jpg)
二、開源協定
使用GPL-3.0開源協議
三、介面展示
產品組成
低程式碼引擎,由介面設計器、OneCode通碼框架以及,DSM領域建模工具三部分支撐體系相互支撐的部分來組成,透過開放標準的組件協議完成相互繼承支持。
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/198bdc87-6639-4cb7-b1f1-4e1c25470827.jpg)
(1) 視野設計器引擎
設計器,採用的是拖曳引擎+插件的建構模型,使用者可以透過開放的低程式碼協定編寫插件。支援JS和JAVA兩種擴展語言。樣式建構提供了標準CSS3編輯器,支援事件動作以及函數動態擴展。支援自訂函數庫擴展,支援阿里字體圖片等資源庫。
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/af75d9da-7c18-4418-b10a-078c99c6d8a7.jpg)
(2)OneCode通碼編輯器:
OneCode,是一款為低程式語言量身定制的統一語法體系,採用Java語言作為原生語言,運行在JVM環境中,使用者可以透過Java語言與低程式碼應用程式進行交互,也可以透過Java語言完成引擎插件,呼叫程式碼引擎完成編譯部署應用程式。
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/71f9fe34-d6e2-45ab-8986-0f74c4290a8c.jpg)
(3)DSMEngine領域建模
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/fe35e944-79f2-4729-af81-5072e852cd85.jpg)
四、功能概述
DSM模型支援三種建模模式:
(1)CodeFrist 程式碼優先模式
透過Java語言 OneCode 模式原生撰寫。
(2)ViewFrist 視圖優先
透過視圖引擎拖曳完成前期的互動模型,反向完成DSM模型。
(3)ModuleFrist 模型優先
透過資料庫,微服務介面等模式,建構基礎模型。
DSM反向轉換
透過不同方式完成的DSM模型,可以透過OneCode 在視圖、Code 、以及Module 三種方式之間自由切換,利用相關工具完成仿真調試以及部署運行。
DSM第三方語言轉換
DSM出碼模組採用了獨立的模板架構,除了可以以OneCode形式存在,還可以支援獨立的出碼模組自訂獨立的第三方語言模型輸出。
五、技術選型
工作原理
OneCode 本身基於JAVA語言體系,是在Java Spring 註解基礎上的一套擴展子集,混合編譯引擎器透過擴充註解建構完整的Domain模型,透過讀取標準Spring 註解完成普通Web資料交付及調度過程,透過Domin域模型動態渲染JS檔案輸出為JSON交付給前端引擎建置頁面。
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/09f81ab9-ce7a-4352-ac2e-71b26ce2e7b7.jpg)
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/333ef5dd-7346-4638-9aee-54218135f27b.jpg)
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/a0cb7805-e7ab-481d-9eae-24219991398e.jpg)
OneCode 建模流程
使用者通過,拖曳完成頁面建模序列化為依標準協議序列化JSON檔,後端OneCode服務支援系統解析JSON檔並混合DSM建模資訊以及後端服務邏輯後,透過混合編譯,透過程式碼工廠指定出碼模板,完成前後端一體的編譯檔。
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/d6749d5c-33b1-4c21-9b46-1f46d8779112.jpg)
拖曳建模
使用者由前端低程式碼引擎提供拖曳支援,將使用者需求轉換為對應的組件組合,完成建模後依標準的低程式碼組件序列化為JSON檔。
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/86e51107-3c18-4cd5-b32e-c1d075b90a7d.jpg)
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/a8781ec5-befd-49ef-8b20-318d7df430b2.jpg)
後端融合
後端融合系統,透過讀取標準JSON組件,完成組件在後端的模型轉換。使用者可以通過,DSM模型工具或透過OneCode提供的建模通訊SDK,針對前端所需的服務呼叫邏輯以及業務資料邏輯,進行建模幹預。
混合編譯出碼
完成後端建模的融合後,透過代碼工廠透過出碼配置輸出為OneCode源碼。
(1)標準化能力
OneCode平台在設計上將前端元件的設計上即採用了開放式設計模型及及儲存通訊標準。這將在很大程度上為各家低程式碼平台元件互聯互通提供便利,在設計上實現通用通行。避免形成應用孤島。解決用戶被綁定在特定平台的憂慮。
(2)混合編譯賦能
OneCode除了在前端實現了標準化組件定義外,還額外提供了後端建模的工具DSM,並透過領域模型將二者打通。這樣在前端元件建模時便可以直接呼叫後端服務模型完成資料部分API建置。而DSM模型工具也可以在後端建模時直接讀取前端元件屬性,打通前端動作與後端服務的通訊能力。
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/8695f7cf-f769-4107-9425-2dde916a1eaf.jpg)
![](http://ttzixun.oss-cn-beijing.aliyuncs.com/ttzixun/pic/8e183bfd-4346-4636-8453-d7055587eb25.jpg)
二者模型的打通大幅降低了低程式碼平台的勞動強度,同時透過針對模型的建模幹預API,在模型建立重構的方面可以從更深的層次建立業務模型的建構能力。
(3)混編檢測(預編譯)
傳統低程式碼平台基本上都是完全建立在JS的模型下,在初期建模時結構還算清晰但經過稍有點複雜的邏輯,構建時代碼的冗餘度以及結構就會變得混亂,特別是頁跨頁面操作或完成前後台資料互動時。由於其腳本語言的特性無法完成即時校驗,因此只能執行期測試才能發現問題。採用低程式碼建構的頁面往往只是因為頁面中做了一些簡單的元件增刪或屬性樣式就該就會造成不可預期的結果,這大大降低了程式碼的可維護度。 OneCode所建構的領域模型則很好的解決了這個問題,在前後端任意模型發生變化時即可調用混合編譯,將頁間的連接關係以及前後台的資料關係進行校驗通知。在預編譯中提升整體的編譯能力。
(4)傳統低程式碼服務賦能
在低程式碼平台有幾個領域是有很不錯的實作效果的,我們以最常見的表單流程模式來談一下OneCode賦能。
詳細內容請查看 README.md 文件。
六、源碼位址
造訪一飛開源:https://code.exmay.com/
文章為用戶上傳,僅供非商業瀏覽。發布者:Lomu,轉轉請註明出處: https://www.daogebangong.com/zh-Hant/articles/detail/kai-yuan-di-dai-ma-yin-qing-ji-shi-tu-she-ji-qi-yin-qing-tong-ma-bian-ji-qi-DSM-ling-yu-jian-mo.html
评论列表(196条)
测试