1背景介紹
低代碼開發(fā)基于可視化開發(fā)的概念,結(jié)合了云原生和多終端體驗技術(shù),它可以在大多數(shù)業(yè)務(wù)場景中,幫助企業(yè)顯著的提升效率。同時為專業(yè)開發(fā)者提供了一種全新的高生產(chǎn)力開發(fā)方式,讓不懂代碼的人通過“拖拉拽”開發(fā)組件來完成應(yīng)用程序的構(gòu)建。從某種意義上說,低代碼可以彌補(bǔ)日益擴(kuò)大的專業(yè)技術(shù)人才缺口,同時也可以促進(jìn)企業(yè)與技術(shù)之間深度協(xié)作的最終敏捷形式。
本文以技術(shù)方案視角,對華為云 Astro 低代碼平臺的一些核心功能進(jìn)行簡要介紹。
2關(guān)鍵能力介紹
|2.1數(shù)據(jù)建模和數(shù)據(jù)管理
華為云 Astro 的一個核心特性就是運(yùn)行時提供數(shù)據(jù)建模和與數(shù)據(jù)存儲,幫助開發(fā)者做到所見即的的發(fā)布,在其表現(xiàn)形式上,通常低代碼平臺通常分為”表單驅(qū)動”和”模型驅(qū)動”兩種模式。不管是哪種模式,都要求低代碼平臺具備靈活存儲用戶自定義數(shù)據(jù)模型的能力。當(dāng)下主流的低代碼平臺主要有以下一下兩種大的方案。
方案一:
使用關(guān)系型數(shù)據(jù)庫,將數(shù)據(jù)模型的定義和修改直接轉(zhuǎn)化為數(shù)據(jù)庫中 DDL 的表操作。該方案的優(yōu)勢在可以直接利用關(guān)系型數(shù)據(jù)庫的能力,包括 SQL 優(yōu)化與事務(wù)一致性等。弊端在于有大量的 DDL 語句操作,并且關(guān)系型數(shù)據(jù)庫的 Schema 數(shù)量和表的數(shù)量也都都是有限制的,在成本控制上面臨著較大挑戰(zhàn)。因此該方案適用于一些線下交付,單租形態(tài)的低代碼。
方案二:
Meta+Data 的寬表模型,將模型的定義轉(zhuǎn)化為寬表的模型存儲。該方案的優(yōu)勢在于可以靈活的定義數(shù)據(jù)模型,不需要考慮因模型變化導(dǎo)致的 DDL 語句。再具體實踐中,寬表可以有不同的選型,例如文檔數(shù)據(jù)庫,搜索、分析型數(shù)據(jù)庫、關(guān)系數(shù)據(jù)庫等。不同類型的存儲的寬表選型面臨著事務(wù)一致性、行列擴(kuò)展限制、索引構(gòu)建不同的挑戰(zhàn)。
|2.2頁面編排
頁面編排是低代碼的核心功能。狹義上的頁面一般指的是表單表格,廣義上的頁面還可以包含登錄 Portal 頁、大屏頁等多種樣式。對于頁面編排目前實現(xiàn)方式也基本相同,采用 JSON 格式的頁面 Schema 定義,同時提供頁面編排的設(shè)計引擎和頁面運(yùn)行時的渲染引擎。技術(shù)方案基本圍繞 Vue 與 React 兩大技術(shù)框架與相關(guān) UI 實現(xiàn)。
在交互邏輯處理方面,頁面編排基本上采用兩種思路來處理。
思路一:
固定交互行為,通俗的說法就是平臺預(yù)置的組件與組件的行為方式。所以,組件的多少、組件的能力、組件的擴(kuò)展性也是衡量低代碼平臺競爭力的一個指標(biāo)。
思路二:
使用擴(kuò)展性腳本語言,JS 和 TS 都是常用的選擇。在代碼中包含循環(huán)、遞歸、變量等抽象操作,這些抽象的邏輯是無法通過拖拉編排來完成的。腳本語言作為低代碼平臺的膠水部分,在執(zhí)行安全性、沙箱環(huán)境等方面仍然面臨較大挑戰(zhàn)。一份權(quán)威機(jī)構(gòu)的報告中,編程接口被認(rèn)定為企業(yè)級低代碼開發(fā)平臺的重要標(biāo)志,不具備編程接口的“低代碼”被劃歸為“無代碼”,轉(zhuǎn)移到那些只適用有限用例的平臺報告中。
|2.3流程和業(yè)務(wù)邏輯
流程編排是低代碼平臺的的另一基礎(chǔ)能力。低代碼平臺能否構(gòu)建出復(fù)雜的流程來支撐企業(yè)業(yè)務(wù)和流程編排的易用性是衡量流程能力的重要指標(biāo)。
通常我們再說”流程編排”的時候,指的是工作流的編排。BPMN2.0 的規(guī)范之上,開源工作流已經(jīng)具備了非常成熟的能力。業(yè)界的低代碼廠商在實現(xiàn)工作流的方案商通常有兩種,一是基于開源框架擴(kuò)展和封裝,二是基于 BPMN2.0 規(guī)范來自己來實現(xiàn)。
另個”流程編排”的概念指的是集成流編排基于 EIP(EnterpriseIntegrationPatterns)協(xié)議。目前 SpringIntegration、ApacheCamel 等都是比較成熟的集成流框架。
上述兩種編排在協(xié)議、框架和使用場景上有著明確區(qū)分,目前國內(nèi)的低代碼平臺大多數(shù)只提供工作流編排的能力。
|2.4接口和集成
為了避免“數(shù)據(jù)孤島”現(xiàn)象,企業(yè)級應(yīng)用通常需要與其他系統(tǒng)進(jìn)行集成,協(xié)同增效。此時,內(nèi)置的集成能力和編程接口就變得至關(guān)重要。
這里涉及到連接器的概念,連接器是 API 的代理和包裝器。連接器的定義廣泛使用 OpenApi 的規(guī)范,基于 Swagger2.0 或者 Swagger3.0 的規(guī)范來實現(xiàn)。API 的調(diào)用大多采用 HttpClient 的方式,基于 Oauth 等授權(quán)協(xié)議完成調(diào)用。
除了 Rest 接口的集成,云廠商的低代碼在系統(tǒng)集成商還有著更多方面的拓展。基于云上的網(wǎng)絡(luò)方案與授權(quán)協(xié)議,可以與用戶的 MQ、DB、K8S 集群等打通,完成與用戶托管方案的深度集成。
|2.5代碼生成與低代碼高代碼融合
基于華為云 Astro 完成表單構(gòu)建、模型構(gòu)建之后,很容易基于模型元數(shù)據(jù)定義生成對應(yīng)后端模型和與之對應(yīng)的模型操作接口。在一些復(fù)雜的業(yè)務(wù)場景下,需要開發(fā)者以高代碼的形式對這些模型和接口進(jìn)一步重載或復(fù)寫。
在高代碼融合上,基礎(chǔ)功部分提供了預(yù)置函數(shù)和用戶自定義函數(shù)功能,通過條件表達(dá)式引擎來實現(xiàn)。高級代碼部分,通常與 Servless 框架進(jìn)行整合,將計算資源通過獨立集群或者沙箱的方式單獨承載。
3總結(jié)
在介紹了原理之后,華為云 Astro 距離實現(xiàn)低代碼的能力高上限、門檻低下限的要求仍然有大量細(xì)致工作要做,未來,我們將繼續(xù)致力構(gòu)建低代碼更大空間。
編輯:好
-
API
+關(guān)注
關(guān)注
2文章
1511瀏覽量
62398 -
代碼
+關(guān)注
關(guān)注
30文章
4827瀏覽量
69054 -
華為云
+關(guān)注
關(guān)注
3文章
2682瀏覽量
17587
發(fā)布評論請先 登錄
相關(guān)推薦
華為云Astro的前世今生:用7年時間革新低代碼開發(fā)觀念?
入選Gartner低代碼魔力象限 |『華為云Astro』低調(diào)的背后
玩轉(zhuǎn)行業(yè)數(shù)字化轉(zhuǎn)型 | 全新華為云Astro低代碼平臺帶你起飛
玩轉(zhuǎn)行業(yè)數(shù)字化轉(zhuǎn)型|全新華為云Astro低代碼平臺帶你起飛
![玩轉(zhuǎn)行業(yè)數(shù)字化轉(zhuǎn)型|全新<b class='flag-5'>華為</b><b class='flag-5'>云</b><b class='flag-5'>Astro</b><b class='flag-5'>低</b><b class='flag-5'>代碼</b><b class='flag-5'>平臺</b>帶你起飛](https://file1.elecfans.com/web2/M00/81/E2/wKgZomQathiAFXk9AAGORoYz2_4989.png)
華為云低代碼平臺Astro|通過零代碼快速搭建打卡小程序
![<b class='flag-5'>華為</b><b class='flag-5'>云</b><b class='flag-5'>低</b><b class='flag-5'>代碼</b><b class='flag-5'>平臺</b><b class='flag-5'>Astro</b>|通過零<b class='flag-5'>代碼</b>快速搭建打卡小程序](https://file1.elecfans.com/web2/M00/81/E8/wKgaomQdmC6Acc3UAAB4y8yLthQ017.png)
入選Gartner低代碼魔力象限 |『華為云Astro』低調(diào)的背后
技術(shù)速遞 | 華為云Astro低代碼平臺關(guān)鍵能力技術(shù)淺析
智能化新服務(wù)即將驚艷亮相HDC2023——華為云Astro爆發(fā)低代碼能量
智能化新服務(wù)即將驚艷亮相 HDC2023 |華為云 Astro 爆發(fā)低代碼能量
華為云 Astro 低代碼三俠「踢館」?,學(xué)員:也帶帶我!
![<b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Astro</b> <b class='flag-5'>低</b><b class='flag-5'>代碼</b>三俠「踢館」?,學(xué)員:也帶帶我!](https://file1.elecfans.com//web2/M00/A1/BC/wKgZomT3P5KAFVBMAAFA_mOSlg483.jpeg)
剖析華為云 Astro 低代碼開發(fā)平臺的技術(shù)價值與使用體驗
![剖析<b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Astro</b> <b class='flag-5'>低</b><b class='flag-5'>代碼</b>開發(fā)<b class='flag-5'>平臺</b>的<b class='flag-5'>技術(shù)</b>價值與使用體驗](https://file1.elecfans.com//web2/M00/A7/C4/wKgaomUmkx-AYEqIAAZ4Rym7PKg678.png)
智能低代碼洪流涌動程序員節(jié),華為云 Astro 觸發(fā) 1024 的乘法效應(yīng)!
![智能<b class='flag-5'>低</b><b class='flag-5'>代碼</b>洪流涌動程序員節(jié),<b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Astro</b> 觸發(fā) 1024 的乘法效應(yīng)!](https://file1.elecfans.com//web2/M00/AD/90/wKgaomVOOEiAVgdMAAEpll-1ZS857.jpeg)
中國唯一!華為入選 Gartner?企業(yè)低代碼應(yīng)用平臺魔力象限
華為云 Astro 低代碼平臺開啟 AI 敏捷組裝時代,探索低代碼創(chuàng)新無限可能
![<b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Astro</b> <b class='flag-5'>低</b><b class='flag-5'>代碼</b><b class='flag-5'>平臺</b>開啟 AI 敏捷組裝時代,探索<b class='flag-5'>低</b><b class='flag-5'>代碼</b>創(chuàng)新無限可能](https://file1.elecfans.com//web2/M00/FB/1E/wKgaomaMvASAegeVAAOKUA3d4WU702.png)
睿呈時代基于華為云 Astro 發(fā)布“數(shù)字孿生平臺 + 政企智慧應(yīng)用”全方案
![睿呈時代基于<b class='flag-5'>華為</b><b class='flag-5'>云</b> <b class='flag-5'>Astro</b> 發(fā)布“數(shù)字孿生<b class='flag-5'>平臺</b> + 政企智慧應(yīng)用”全方案](https://file1.elecfans.com//web2/M00/09/17/wKgaomb1hn2AHEkqAAqZGiAbYS0639.png)
評論