一個低代碼引擎,支持在線實時構建低碼平臺-TinyEngine
推薦閱讀:
在當今數(shù)字化飛速發(fā)展的時代,企業(yè)對高效、敏捷的應用程序需求日益旺盛。為了滿足這一需求,越來越多的低代碼開發(fā)平臺開始涌現(xiàn)。這些平臺通過提供簡單易用的開發(fā)工具和優(yōu)化后的開發(fā)流程,幫助開發(fā)者快速構建高質量、可重復使用的應用程序,同時降低了開發(fā)的難度和成本,提高了開發(fā)效率和靈活性。這些低代碼開發(fā)平臺的出現(xiàn),無疑為企業(yè)的數(shù)字化轉型提供了更快速、更高效的方法,也將推動整個軟件開發(fā)行業(yè)的進步。
TinyEngine 提供了低代碼底層能力,并集成了人工智能,從而使用戶能夠高效開發(fā)。TinyEngine 具有強大的拖拽功能,無論是圖元還是復雜組件,都能在畫布上帶來流暢的體驗。它適用于多場景的低代碼平臺開發(fā),包括資源編排、流程編排、服務端渲染、模型驅動、移動端、大屏端以及頁面編排等低代碼平臺。
TinyEngine 簡介
TinyEngine 是OpenTiny的一個子項目,是華為云新開源的低代碼引擎,提供低代碼底層能力,集成人工智能,適用于多場景的低代碼平臺。例如:資源編排、服務端渲染、模型驅動、移動端、大屏端、頁面編排等低代碼平臺。同時采用了靈活的系統(tǒng)架構、具有標準的底層協(xié)議、強大的拓展能力、具有開發(fā)的物料協(xié)議和拓展接口、搭建輸出源碼、支持自定義DSL 生成定制的源碼、支持跨技術棧、支持高低代碼混合開發(fā)。
為什么選TinyEngine
TinyEngine 采用靈活的系統(tǒng)架構。 上圖所示的主題、插件欄(物料、大綱樹、頁面管理…) 和工具欄(導航菜單、多端設備、預覽…) 等功能都是由多個 npm 包組裝而成。用戶可以有選擇性的保留或者刪除。也可以開發(fā)自己的插件或者工具,安裝到對應的位置。靈活性極強!想開發(fā)什么樣的低代碼,完全取決于用戶 。
TinyEngine 有開放的物料協(xié)議和擴展接口。 TinyEngine 低代碼引擎默認的物料來源于華為云開源組件庫TinyVue 。該組件庫組件豐富,功能強大。并且實現(xiàn)了跨端跨技術棧,同時支持 Vue2 和 vue3。如果業(yè)務系統(tǒng)是存量系統(tǒng),使用了其他的組件庫,得益于TinyEngine強大的開放物料設計,并不需要切換組件庫。TinyEngine 支持導入第三方組件庫,比如 element UI 、Ant Design 等組件庫。引擎底層的技術架構采用的是 webcomponent 技術 去兼容不同技術棧的組件 ,所以支持 Vue、React 和 Angular 等技術棧的組件或者區(qū)塊。用戶想用什么樣的組件庫,就導入什么組件庫 。
TinyEngine 支持自定義 DSL 生成定制的源碼。 TinyEngine 默認是生成 vue 的源代碼,假如技術棧是 angular 或 react,完全可以開發(fā)一個 angular 或 react 的 DSL,從而生成一個新的源代碼工程。想生成什么樣的源代碼,用戶完全可以定制。
TinyEngine 采用的是生成源代碼的形式。 在運行時,可以用生成的源碼去構建和部署應用。也可以采用服務的 SSR (服務端生成頁面的源代碼返回瀏覽器解析)的形式去解釋頁面 schema,這樣就不用把生成的源代碼進行依賴的安裝和構建。采用哪種部署形式,完全取決于用戶的業(yè)務。
TinyEngine 支持高低代碼混合開發(fā)。高低代碼混合開發(fā)可以更好地滿足業(yè)務需求。在企業(yè)的應用開發(fā)中,往往需要面對快速變化的業(yè)務需求,此時,如果全部采用低代碼方式進行開發(fā),則可能會因為代碼的復雜性而無法快速適應變化。而如果采用高低代碼混合的方式,則可以通過低代碼進行常規(guī)業(yè)務的快速開發(fā),對于特殊的業(yè)務邏輯,則由專業(yè)開發(fā)人員通過高代碼進行實現(xiàn),這樣就可以更好地滿足業(yè)務需求的變化。TinyEngine 在構建應用程序的過程中,提供了下載源代碼的功能,使得用戶可以在線下進行復雜業(yè)務邏輯的調試。這一特點極大地便利了開發(fā)者的操作,減少了在線調試和測試的時間和資源消耗,同時也提高了代碼的質量和可靠性。通過下載源代碼進行調試,用戶可以更加靈活地控制應用程序的行為和性能,從而更好地滿足業(yè)務需求。總之,TinyEngine 的這一特點為用戶提供了更多的自主權和靈活性,使得他們可以更加高效地控制應用程序的行為和性能。
TinyEngine 支持 AI 輔助開發(fā)。
低代碼平臺與 AI 的結合具有巨大的發(fā)展?jié)摿?。這種結合可以在很大程度上提高非專業(yè)開發(fā)者的開發(fā)效率和應用智能化水平。低代碼平臺通過提供易于使用的開發(fā)工具和預先構建的模塊,簡化了應用程序的開發(fā)過程。AI 技術則可以幫助應用程序具備更智能、更自適應的特性。通過低代碼平臺和 AI 的結合,開發(fā)者可以更快速、更高效地構建應用程序,并實現(xiàn)更智能化的應用特性。
TinyEngine核心特性
1.TinyEngine 設計器微服務選擇了基于 Node.js 的技術棧,為前端開發(fā)者提供了一致的開發(fā)體驗,無需學習額外的語言即可全棧開發(fā),降低了開發(fā)難度和學習曲線,避免了學習新語言的困擾。更能夠從服務端的角度去理解 TinyEngine 設計器的運行原理與設計思想。
2.在我們的架構設計中,我們采用了 Egg.js 作為業(yè)務接口微服務的框架。Egg.js優(yōu)秀的設計和豐富的插件生態(tài)系統(tǒng),使得我們能夠迅速構建可維護、可擴展的微服務,從而確保系統(tǒng)的穩(wěn)定性和可維護性。
3.為了降低服務耦合,我們還單獨封裝了提供數(shù)據(jù)庫操作接口的數(shù)據(jù)中心微服務,在框架選型上我們選擇了 Strapi,Strapi 是一個開源數(shù)據(jù)管理框架。不僅提供了強大的數(shù)據(jù)管理和查詢功能,還支持自定義內容類型和靈活的 API 構建,為我們的微服務提供了豐富的數(shù)據(jù)支持。Strapi 的易用性和可擴展性使得我們能夠高效地管理和發(fā)布數(shù)據(jù),確保前端業(yè)務接口始終能夠獲得及時、準確的數(shù)據(jù)支持。
熱文推薦:
《測試神器,一站式的開源持續(xù)測試平臺-MeterSphere》