1 背景介紹
低代碼開發基于可視化開發的概念,結合了云原生和多終端體驗技術,它可以在大多數業務場景中,幫助企業顯著的提升效率。同時為專業開發者提供了一種全新的高生產力開發方式,讓不懂代碼的人通過“拖拉拽”開發組件來完成應用程序的構建。從某種意義上說,低代碼可以彌補日益擴大的專業技術人才缺口,同時也可以促進企業與技術之間深度協作的最終敏捷形式。
本文以技術方案視角,對華為云Astro低代碼平臺的一些核心功能進行簡要介紹。
2 關鍵能力介紹
|2.1 數據建模和數據管理
華為云Astro的一個核心特性就是運行時提供數據建模和與數據存儲,幫助開發者做到所見即的的發布,在其表現形式上,通常低代碼平臺通常分為”表單驅動”和”模型驅動”兩種模式。不管是哪種模式,都要求低代碼平臺具備靈活存儲用戶自定義數據模型的能力。當下主流的低代碼平臺主要有以下一下兩種大的方案。
方案一:
使用關系型數據庫,將數據模型的定義和修改直接轉化為數據庫中DDL的表操作。該方案的優勢在可以直接利用關系型數據庫的能力,包括SQL優化與事務一致性等。弊端在于有大量的DDL語句操作,并且關系型數據庫的Schema數量和表的數量也都都是有限制的,在成本控制上面臨著較大挑戰。因此該方案適用于一些線下交付,單租形態的低代碼。
方案二:
Meta+Data的寬表模型,將模型的定義轉化為寬表的模型存儲。該方案的優勢在于可以靈活的定義數據模型,不需要考慮因模型變化導致的DDL語句。再具體實踐中,寬表可以有不同的選型,例如文檔數據庫,搜索、分析型數據庫、關系數據庫等。不同類型的存儲的寬表選型面臨著事務一致性、行列擴展限制、索引構建不同的挑戰。
|2.2 頁面編排
頁面編排是低代碼的核心功能。狹義上的頁面一般指的是表單表格,廣義上的頁面還可以包含登錄Portal頁、大屏頁等多種樣式。對于頁面編排目前實現方式也基本相同,采用JSON格式的頁面Schema定義,同時提供頁面編排的設計引擎和頁面運行時的渲染引擎。技術方案基本圍繞Vue與React兩大技術框架與相關UI實現。
在交互邏輯處理方面,頁面編排基本上采用兩種思路來處理。
思路一:
固定交互行為,通俗的說法就是平臺預置的組件與組件的行為方式。所以,組件的多少、組件的能力、組件的擴展性也是衡量低代碼平臺競爭力的一個指標。
思路二:
使用擴展性腳本語言,JS和TS都是常用的選擇。在代碼中包含循環、遞歸、變量等抽象操作,這些抽象的邏輯是無法通過拖拉編排來完成的。腳本語言作為低代碼平臺的膠水部分,在執行安全性、沙箱環境等方面仍然面臨較大挑戰。一份權威機構的報告中,編程接口被認定為企業級低代碼開發平臺的重要標志,不具備編程接口的“低代碼”被劃歸為“無代碼”,轉移到那些只適用有限用例的平臺報告中。
|2.3 流程和業務邏輯
流程編排是低代碼平臺的的另一基礎能力。低代碼平臺能否構建出復雜的流程來支撐企業業務和流程編排的易用性是衡量流程能力的重要指標。
通常我們再說”流程編排”的時候,指的是工作流的編排。BPMN2.0的規范之上,開源工作流已經具備了非常成熟的能力。業界的低代碼廠商在實現工作流的方案商通常有兩種,一是基于開源框架擴展和封裝,二是基于BPMN2.0規范來自己來實現。
另個”流程編排”的概念指的是集成流編排基于EIP(Enterprise Integration Patterns)協議。目前Spring Integration、 Apache Camel等都是比較成熟的集成流框架。
上述兩種編排在協議、框架和使用場景上有著明確區分,目前國內的低代碼平臺大多數只提供工作流編排的能力。
|2.4 接口和集成
為了避免“數據孤島”現象,企業級應用通常需要與其他系統進行集成,協同增效。此時,內置的集成能力和編程接口就變得至關重要。
這里涉及到連接器的概念,連接器是API的代理和包裝器。連接器的定義廣泛使用OpenApi的規范,基于Swagger2.0或者Swagger3.0的規范來實現。API的調用大多采用HttpClient的方式,基于Oauth等授權協議完成調用。
除了Rest接口的集成,云廠商的低代碼在系統集成商還有著更多方面的拓展。基于云上的網絡方案與授權協議,可以與用戶的MQ、DB、K8S集群等打通,完成與用戶托管方案的深度集成。
|2.5 代碼生成與低代碼高代碼融合
基于華為云Astro完成表單構建、模型構建之后,很容易基于模型元數據定義生成對應后端模型和與之對應的模型操作接口。在一些復雜的業務場景下,需要開發者以高代碼的形式對這些模型和接口進一步重載或復寫。
在高代碼融合上,基礎功部分提供了預置函數和用戶自定義函數功能,通過條件表達式引擎來實現。高級代碼部分,通常與Servless框架進行整合,將計算資源通過獨立集群或者沙箱的方式單獨承載。
3 總結
在介紹了原理之后,華為云Astro距離實現低代碼的能力高上限、門檻低下限的要求仍然有大量細致工作要做。
戳下方“閱讀原文”,立即體驗華為云Astro!
原文標題:技術速遞 | 華為云Astro低代碼平臺關鍵能力技術淺析
文章出處:【微信公眾號:華為DevCloud】歡迎添加關注!文章轉載請注明出處。
-
華為
+關注
關注
216文章
35036瀏覽量
255098
原文標題:技術速遞 | 華為云Astro低代碼平臺關鍵能力技術淺析
文章出處:【微信號:華為DevCloud,微信公眾號:華為DevCloud】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
HarmonyOS5云服務技術分享--應用預加載提速指南
HarmonyOS5云服務技術分享--Serverless抽獎模板部署
HarmonyOS5云服務技術分享--ArkTS開發Node環境
數據大屏開發用 AI 效率翻倍!華為云 Astro 大屏應用盤古助手,這波操作太震撼了!

低代碼在敏捷開發中的應用
云計算HPC軟件關鍵技術
低代碼物聯網云平臺是什么?有什么功能?
華為云低代碼 AstroZero 技巧教學 2:輪播組件的魅力 玩轉視覺營銷

華為云 Astro Zero 低代碼平臺案例:小、輕、快、準助力銷售作戰數字化經營

華為云 Astro 低代碼平臺開啟 AI 敏捷組裝時代,探索低代碼創新無限可能

評論