鯨品堂|低代碼應用版本管理能力探討

2024-07-29 397

低代碼平臺為開發者提供易用的可視化、定制化開發能力,無需編寫原生代碼或者只有少量代碼編寫就能實現需求,從而帶來開發門檻的降低,開發效率的提升。低代碼作為提升應用研發生產力的關鍵型技術,成為企業數字化轉型的助推器。


低代碼在開發應用的過程中會遇到一個重要問題,就是低代碼平臺是否需要版本管理,若不管理有什么問題,若要管理需要如何管理?



低代碼需要版本管理


隨低代碼開發應用的深入,開發場景從個人應用到部門級應用或企業級應用,開發人員也從單人到團隊開發,若不做版本管理,應用開發效率和開發質量都會降低,會導致業務應用異?;蛑袛囝l發,直接影響到企業的生產運營。



異常錯誤無法回退:若沒有應用版本管理,應用新需求發布上線出現錯誤時將無法恢復到之前的版本,只能手工修改回去,整個過程耗時長,容易出錯,會中斷業務運行;



誤操作時無法回滾:若沒有記錄版本修改軌跡,誤操作時無法恢復到之前狀態,導致應用不可用;



Bug無法及時修復:若不具備分支管理,應用上線后出現Bug時只能在當前應用去解決,需要投入更多人力驗證當前應用新增功能,導致Bug無法及時修復,影響業務運營;



功能重復開發:若沒有分支合并能力,Bug修復等需要在多個版本上逐一修復,造成重復開發,增加了企業成本;



發布變更無法評估:若沒有版本比對,版本發布時候不清楚發布變更內容,增加了業務發布風險;



無法多人協同開發:若沒有細粒度的版本控制能力,只提供整個應用粒度的版本控制,一旦有人修改應用會鎖定整個應用,別人將無法修改應用,無法多人協同開發同一個應用。這會限制開發效率,延長需求交付周期。


既然版本管理對低代碼平臺非常重要,那如何讓一個低代碼平臺具備版本管理的相關能力。



如何具備版本管理能力


傳統開發是使用git等版本控制系統,git能夠記錄一個或若干文件內容變化,支持查閱特定版本修訂情況,支持任何類型的文件進行版本控制。傳統開發中程序員是通過git的IDE插件進行便捷的版本拉取、版本提交等版本操作。


低代碼平臺的用戶大部分不是程序員,需要提供一個簡單易用的、集成到低代碼平臺中版本管理工具。



模型要求


首先低代碼平臺模型設計必須符合一定要求,為后續版本控制和多人并行開發等提供基礎支撐。


>>>>

應用版本相關實體

需要設計應用、應用版本的相關實體,能夠記錄每個應用實例的信息,支持記錄每個實例的基礎信息、環境信息、租戶信息、權限信息等,應用版本實例支持記錄應用實例的每個版本記錄,便于后續版本發布、回退和回滾。


>>>>

組件版本相關實體

需要設計應用下的組件、組件版本相關實體,組件實體支持記錄組件類型(如模型、頁面、服務、流程、接口等)、組件基礎信息、應用版本信息,組件版本相關實體可以記錄當前應用版本下的組件實例修改軌跡,支持回滾到任意版本。



版本控制管理


基于版本相關實體模型,需要提供簡單易用的版本控制管理??紤]用戶又不是程序員,所以版本比對和合并部分需要結合低代碼平臺自身提供可視化工具,而非直接低代碼的JSON文件比對。


>>>>

版本存儲

版本存儲可以考慮采用git版本控制系統或則基于數據庫進行存儲。確保存儲和管理所有應用版本的歷史記錄。


>>>>

版本創建

需要提供可視化界面,支持創建多種類型的版本分支,支持創建開發分支、熱補分支等。創建的分支可以獨立進行開發,不影響原有分支。


>>>>

版本發布

需要提供可視化界面,支持開發完、測試好的分支版本進行封版,封版后作為生產版本或主干版本。


>>>>

提交和回滾

對組件進行修改時候,每次修改都可以提交為一個組件版本軌跡,組件的版本軌跡可以回滾到任意版本。若誤操作時可以回滾到上一個版本軌跡即可。


>>>>

版本比對

需要提供結合低代碼平臺元數據相關的可視化的版本比對工具,支持按應用組件分類可視化展示版本差異,支持展示出各類組件的新增、修改、刪除的變化,對于修改的組件,可以進一步比對兩個組件版本的差異內容,最好能提供組件內元素修改差異比對。以浩鯨科技靈犀平臺為例,可以提供可視化的版本比對工具:


圖片關鍵詞

版本的差異可視化比對:按組件分類進行展示


圖片關鍵詞

某類組件差異:按組件新增、修改、刪除可視化分類展示


圖片關鍵詞

單個組件差異:修改的組件可以比對內部元素差異


圖片關鍵詞

組件元素差異:可比對元素內容差異


>>>>

版本合并

對于修復的Bug等熱補分支或特性分支,提供自動合并工具,對于無沖突部分可以自動合并到開發分支,對于有沖突部分,提供仲裁機制,由應用擁有者或應用管理員進行仲裁。


>>>>

版本歷史

需要記錄應用的版本和組件版本的歷史,記錄對應的修改人、修改時間、修改內容等信息。



多人協同開發


除了基礎上的版本控制管理,為支持多人協同開發,需要再低代碼應用組件化和元數據的基礎上,提供組件實例粒度鎖定機制來實現多人協同開發,鎖定模式需要考慮鎖定機制、通知機制、解鎖能力、合并處理等。


>>>>

鎖定機制

鎖定機制可以根據用戶的操作自動觸發鎖定。例如,當用戶打開某個組件進行編輯時,系統自動為該組件加樂觀鎖,若想避免沖突可以直接加悲觀鎖;若用戶進行了長時間或高頻次的編輯操作,系統可自動升級為悲觀鎖,防止其他用戶意外覆蓋其更改。


>>>>

通知機制

通知機制要考慮鎖定提示和解鎖提示。用戶嘗試編輯已被其他用戶鎖定的資源時,系統應立即給出鎖定提示,告知用戶該資源當前被誰鎖定以及鎖定時間。當鎖被釋放時,也進行相應通知,確保用戶及時了解資源狀態。


>>>>

實時預覽

提供實時或接近實時的預覽功能,可拉取最新的版本提交,讓開發者能即時看到同伴的更改提交的效果。


>>>>

解鎖管理

要提供鎖定信息和解鎖處理。提供界面展示當前所有被鎖定的資源及其鎖定信息(如鎖定者、鎖定時間、鎖類型等),也提供鎖定者或其他具有相應權限的用戶手動解鎖的功能。同時,系統支持對于長時間未釋放的鎖支持發送提醒或強制解鎖處理。


>>>>

沖突處理

采用樂觀鎖機制會出現多人修改沖突,需要通過版本控制管理的比對和合并工具進行沖突的合并處理,沖突由應用管理員或特定角色進行裁決。若采用悲觀鎖機制,則不會出現沖突問題。



組件關系分析


為更好評估組件變更影響和版本發布影響 ,還需要提供組件關系分析能力。IDE開發時IDE提供類關系分析能力。低代碼平臺也需要提供類似能力,需要由低代碼平臺根據各自元數據提供組件關系分析工具。


其實應用產物的JSON文件記錄了相關組件關系,低代碼平臺分析JSON文件可生成組件依賴關系或血緣關系,關系可考慮圖數據庫存儲,再提供可視化展示,就可以清晰展示影響。并可以在這個基礎上進一步考慮自動校驗和自動糾正能力。


>>>>

依賴關系

可根據應用的JSON文件分析出組件的依賴關系,并提供可視化展示,可更加直觀評估變更組件的影響和風險,可根據依賴關系評估當前修改影響到的相關組件。技術層面可以引入圖數據庫技術存儲關系。以浩鯨靈犀開發平臺為例,提供血緣關系分析:


圖片關鍵詞

組件血緣關系:展示組件引用和被引用的關系


>>>>

自動校驗

根據組件依賴關系,對每個組件屬性修改時,可觸發進行自動校驗,比如服務入參新增,可以自動校驗服務調用方需要增加參數映射。


>>>>

自動糾錯

根據自動校驗出的錯誤,可提供自動糾錯功能,可以自動修訂錯誤。


當然,上述只是低代碼管理的主要能力,其實還需要考慮應用配置數據、腳本、文檔等管理,還需要考慮低代碼的發布工具等。版本管理能力可以讓低代碼開發質量更高,開發效率更高,開發場景覆蓋更廣,開發團隊組織更靈活,成為企業數智化轉型的助推器。


官方微信公眾號

浩鯨云計算科技股份有限公司 版權所有 2003-2023

蘇ICP備10224443號-6       蘇公網安備 32011402011374號

亚洲精品免费视频_热99re6久精品国产首页青柠_精品国产专区91在线_亚洲美洲欧洲偷拍片区