日韩精品视频观看-日韩精品视频免费网址-日韩精品视频一区二区三区-日韩精品视频在线-国产三级网页-国产三级网站

服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路(服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路是什么)

一、分享的目的

  • 在理解了服務(wù)端低代碼平臺(tái)設(shè)計(jì)實(shí)現(xiàn)的基礎(chǔ)上,能夠讓大家更好地使用低代碼平臺(tái)擴(kuò)展出更多的能力,豐富工具的打造,知道什么時(shí)候可以使用,如何使用。
  • kuta將來(lái)可能會(huì)走向內(nèi)部開(kāi)源,可以幫助kuta后來(lái)開(kāi)發(fā)者對(duì)前面搭建的kuta架構(gòu)有個(gè)高度概括的認(rèn)識(shí),在目前kuta中間層的基礎(chǔ)上,擴(kuò)展出更多的低代碼能力,豐富目前kuta低代碼平臺(tái)所支持的功能。

二、低代碼理念

2.1低代碼概念的定義

  • 能夠以最少的手寫(xiě)代碼和設(shè)置快速開(kāi)發(fā)應(yīng)用、配置和部署業(yè)務(wù)應(yīng)用程序。

2.2 低代碼平臺(tái)的歷史

  • 低代碼概念于 2014 年由 Forrester 首次正式提出,低代碼產(chǎn)品由此開(kāi)始了蓬勃發(fā)展。2015 微軟正式發(fā)布低代碼產(chǎn)品 Power Apps,2017 年分析機(jī)構(gòu) Gartner 創(chuàng)建了 aPaaS 的低代碼新門(mén)類(lèi),2018 年 Outsystems 和Mendix 低代碼平臺(tái)等被爭(zhēng)相收購(gòu), Google 發(fā)布自己的低代碼產(chǎn)品 AppMaker。而在國(guó)內(nèi)的低代碼領(lǐng)域,阿里在2021 年 1 月釘釘宜搭低代碼平臺(tái)正式對(duì)外發(fā)布,低代碼概念也就在國(guó)內(nèi)火熱起來(lái),越來(lái)越多的低代碼產(chǎn)品紛紛問(wèn)世。

2.3酷家樂(lè)低代碼平臺(tái)

  • 酷家樂(lè)從2021年下半年開(kāi)始搭建酷卡kuta低代碼平臺(tái),我們把低代碼概念應(yīng)用在對(duì)測(cè)試工具的打造上,走了一條符合我們業(yè)務(wù)特性的道路。借助kuta低代碼開(kāi)發(fā)平臺(tái),技術(shù)支持可以自己或者在測(cè)試的指導(dǎo)下開(kāi)發(fā)出更符合特定業(yè)務(wù)需求的工具。

三、KUTA低代碼平臺(tái)簡(jiǎn)介

服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路(服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路是什么)

3.1現(xiàn)狀

  • 以打造一款工具為例,目前已實(shí)現(xiàn)通過(guò)工具配置的方式打造工具的前端邏輯,以及通過(guò)API配置的方式實(shí)現(xiàn)后端接口調(diào)用的低代碼邏輯。

3.2劣勢(shì)

  • 但代表后端代碼邏輯的API配置只能實(shí)現(xiàn)單接口的調(diào)用,不能滿足工具個(gè)性化打造的需求。我們常常遇到需要調(diào)用多個(gè)接口,并將接口返回?cái)?shù)據(jù)進(jìn)行一定邏輯處理后再返回給前端,此時(shí),單個(gè)接口的API配置就無(wú)法滿足業(yè)務(wù)需求。

3.3 解決方案

  • 因此,我們引入通過(guò)在前端編寫(xiě)少量Groovy代碼來(lái)實(shí)現(xiàn)服務(wù)端低代碼的配置,自動(dòng)生成API,該類(lèi)型API具有跟API配置中的api同樣的地位,稱(chēng)之為Groovy API,我們通過(guò)在前端配置中關(guān)聯(lián)該Groovy API,即可打通工具的前后端配置。

四、為什么要做服務(wù)端低代碼

4.1傳統(tǒng)的純代碼開(kāi)發(fā)模式與低代碼開(kāi)發(fā)

服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路(服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路是什么)

4.2 低代碼開(kāi)發(fā)優(yōu)勢(shì)

  • 通用性:通過(guò)前端后端低代碼配置,降低工具開(kāi)發(fā)的成本和技術(shù)門(mén)檻,非開(kāi)發(fā)人員可以參與,減少聯(lián)調(diào)、部署時(shí)間。
  • 低成本:減少人力成本、溝通成本和時(shí)間成本, 既能夠?qū)⒐ぞ唛_(kāi)發(fā)的門(mén)檻降低,同時(shí)也能通過(guò)低代碼實(shí)現(xiàn)更多的擴(kuò)展能力。
  • 連通性:kuta在moon上部署,通過(guò)kuta的請(qǐng)求轉(zhuǎn)發(fā),可以打通各方存量系統(tǒng),如各測(cè)試小組測(cè)試平臺(tái)、酷家樂(lè)工具、商家后臺(tái)、七彩石、pub、moon等公司內(nèi)外部平臺(tái)。
  • 高效率:提升工具開(kāi)發(fā)效率,快速打造一款工具的前后端,無(wú)需前后端聯(lián)調(diào)和部署,快速實(shí)現(xiàn)工具的個(gè)性化打造。
  • 敏捷性:設(shè)計(jì)靈活,業(yè)務(wù)與工具打造協(xié)同,可以在迭代內(nèi)進(jìn)行工具的敏捷開(kāi)發(fā)。
  • 穩(wěn)定性:代碼結(jié)構(gòu)化程度高,更容易維護(hù)。無(wú)需關(guān)心服務(wù)器、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)等技術(shù)概念和底層運(yùn)維,kuta作為統(tǒng)一的解決方案,低代碼開(kāi)發(fā)者只需要專(zhuān)注于業(yè)務(wù)本身。

五、服務(wù)端低代碼選型

5.1 為什么選擇groovy作為后端低代碼的實(shí)現(xiàn)方式?

兼具融合性和語(yǔ)言優(yōu)勢(shì):

5.1.1 容易和java環(huán)境集成

  • Groovy支持 Java 虛擬機(jī),在設(shè)計(jì)之初充分考慮了和Java集成,這使 Groovy 與 Java 代碼的互操作很容易,非常容易集成在Java環(huán)境中, 而且可以無(wú)縫集成所有已經(jīng)存在的 Java對(duì)象和類(lèi)庫(kù)。

5.1.2 語(yǔ)言容易上手

  • Groovy與Java的語(yǔ)法很相似,可以將Groovy想象成 Java 語(yǔ)言的一種更加簡(jiǎn)單、表達(dá)能力更強(qiáng)的變體。從學(xué)習(xí)的角度看,如果知道如何編寫(xiě) Java 代碼,那就已經(jīng)了解 Groovy 了。它們的主要區(qū)別是:完成同樣的任務(wù)所需的時(shí)間 Groovy 代碼比 Java 代碼更少。在 Groovy 中 , 可以完全使用 Java語(yǔ)法進(jìn)行開(kāi)發(fā) ;

5.1.3 語(yǔ)言特性優(yōu)勢(shì)

  • Groovy在支持常規(guī)的Java操作或者說(shuō)是語(yǔ)法的同時(shí),結(jié)合了Python、Ruby和Smalltalk的許多特性。Groovy更像是Java的一個(gè)框架,類(lèi)似SpringBoot這樣的框架,封裝了提升編程效率的語(yǔ)法。缺點(diǎn)也是因?yàn)樗恼Z(yǔ)言兼容特性帶來(lái)的。groovy對(duì)一些操作進(jìn)行封裝縮減,降低編寫(xiě)工作量,方便靈活編程。特性越多,越靈活的語(yǔ)言,性能越低。例如:Groovy 語(yǔ)言是動(dòng)態(tài)語(yǔ)言.與之相對(duì)的 , Java 是一門(mén)靜態(tài)語(yǔ)言 ; 具體就是在聲明變量前 , Java 語(yǔ)言必須聲明該變量的類(lèi)型 , groovy聲明變量時(shí) , 可以暫時(shí)不指定變量類(lèi)型;

5.2 前端編輯器選型

前端嵌入在線代碼編輯器AceEditor,優(yōu)化前端在線coding體驗(yàn)。

前端編輯器選型: 普通文本輸入框——>CodeMirror2——>AceEditor

服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路(服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路是什么)

六、服務(wù)端低代碼實(shí)現(xiàn)原理

Groovy 集成在Java環(huán)境中:

  • 我們所使用的集成機(jī)制是: GroovyShell
  • groovy.lang.GroovyShell作用:
  1. 執(zhí)行 Groovy 代碼 ;
  2. 有更豐富的功能,比如 綁定更多的變量 ,從文件系統(tǒng)、網(wǎng)絡(luò)加載代碼等。
  • GroovyShell允許在Java類(lèi)中(甚至Groovy類(lèi))求任意Groovy表達(dá)式的值。通過(guò)使用Binding對(duì)象輸入?yún)?shù)給表達(dá)式,并最終通過(guò)GroovyShell返回Groovy表達(dá)式的計(jì)算結(jié)果.
  • Binding類(lèi)主要用于傳遞參數(shù)集, 而GroovyShell則主要用于編譯執(zhí)行Groovy代碼

private Object byGroovyShell(GroovyDto groovyDto, JSONObject paramObject) {

Binding binding = new Binding(paramObject);

GroovyShell shell = new GroovyShell(binding);

return shell.evaluate(groovyDto.getGroovyCode());

}

七、服務(wù)端代碼與kuta融合-從懷疑中誕生,在摸索中前進(jìn)

7.1 從簡(jiǎn)單的在線運(yùn)行腳本到與kuta融合

在線運(yùn)行g(shù)roovyUI界面

服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路(服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路是什么)

上述版本僅簡(jiǎn)單實(shí)現(xiàn)了服務(wù)端在線動(dòng)態(tài)執(zhí)行前端輸入的代碼,和服務(wù)端低代碼還相差甚遠(yuǎn)。

7.2 與kuta融合的版本

UI界面:

服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路(服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路是什么)

7.3 融合方式

通過(guò)在Groovy配置界面進(jìn)行Groovy api的配置,在線調(diào)試groovy腳本,提交后,服務(wù)端會(huì)對(duì)Groovy code和groovy params做存儲(chǔ),自動(dòng)生成Groovy Api展示在groovy列表中。

Groovy Api可以在工具配置時(shí)被工具關(guān)聯(lián),當(dāng)工具調(diào)用時(shí),會(huì)調(diào)用存儲(chǔ)的groovy code和params,實(shí)現(xiàn)工具的服務(wù)端低代碼調(diào)用。

服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路(服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路是什么)

7.4 豐富的功能

  • 在線編輯groovy腳本自動(dòng)生成api,通過(guò)數(shù)據(jù)庫(kù)保存groovy內(nèi)容,在kuta前端通過(guò)配置工具可以調(diào)用groovy api,動(dòng)態(tài)獲取接口groovy api入?yún)ⅲ瑒?dòng)態(tài)執(zhí)行g(shù)roovy腳本,實(shí)現(xiàn)較為復(fù)雜工具的低代碼打造。(優(yōu)點(diǎn):免除了用戶在打造工具時(shí)的一系列繁瑣行為,如安裝代碼編輯器/環(huán)境,調(diào)試時(shí)的環(huán)境啟動(dòng),git操作,代碼倉(cāng)管理,聯(lián)調(diào),部署等,這些行為都可以被免去。同時(shí)還能使用更加簡(jiǎn)潔高效的語(yǔ)言。)
  • 前端的嵌入代碼編輯器,支持代碼提示和代碼補(bǔ)全,近似于idea的編碼體驗(yàn)。
  • 支持在線調(diào)試groovy代碼, 代碼調(diào)試支持返回?cái)?shù)據(jù)的展示, 方便用戶根據(jù)數(shù)據(jù)返回調(diào)整代碼;支持在線調(diào)試的代碼錯(cuò)誤的異常提示,增加返回錯(cuò)誤堆棧。
  • 實(shí)現(xiàn)了后端groovy常用方法封裝, 封裝簡(jiǎn)化http get和post請(qǐng)求,支持使用低代碼調(diào)用已在kuta上配置的tool等,調(diào)用語(yǔ)句通常只有一行代碼. 讓用戶使用更簡(jiǎn)單的語(yǔ)句實(shí)現(xiàn)工具的功能。
  • groovy后端支持默認(rèn)導(dǎo)出包列表,已支持大部分常用包的導(dǎo)出,用戶大多數(shù)情況下無(wú)需自己import包.(groovy默認(rèn)導(dǎo)入常用的包)。
  • 支持代碼模板一鍵復(fù)制,快速生成代碼,提升編碼效率,目前已提供了一些常用的代碼模板,方便用戶選擇和使用。

八、整體架構(gòu)圖

服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路(服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路是什么)

九、工具調(diào)用流程圖

服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路(服務(wù)端的代碼實(shí)現(xiàn)和設(shè)計(jì)思路是什么)

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢
分享本頁(yè)
返回頂部
主站蜘蛛池模板: 日本中文在线播放 | 九色综合网 | 久久综合久久久久 | 亚洲成人xxx | 亚洲国产成人精品不卡青青草原 | 欧美大尺寸| 国产亚洲欧美另类久久久 | 国产亚洲综合久久 | 久久国产经典视频 | 欧美精品一区二区三区视频 | 国产精品国产三级在线高清观看 | 国产精品亚洲精品不卡 | 国产一区二区三区不卡观 | 免费h| 日韩欧美一区二区久久 | 日韩高清一区二区 | 日本护士xxxo | 国产亚洲欧美一区 | a丫久久久久久一级毛片 | 欧美伊人久久大香线蕉在观 | 中文字幕一区久久久久 | 性久久久久久 | 亚洲综合色网站 | 欧美日韩在线亚洲国产人 | 波多野结衣中文字幕在线视频 | 欧美亚洲日本一区二区三区浪人 | 双性h啪啪樱桃动漫直接观看 | 日韩在线影视 | 成人香蕉xxxxxxx | 中文字幕精品在线视频 | 国产在线观看中文字幕 | www日本视频 | 精品国产福利在线观看网址2022 | 欧美性高清hd | 日本高清不卡码 | 亚洲高清一区二区三区四区 | 午夜欧美福利 | 欧美自拍另类 | 久久久青草青青国产亚洲免观 | 精品成人毛片一区二区视 | 国产成人一区二区在线不卡 |