宜科曾經(jing)為用戶(hu)提供本(ben)(ben)地(di)安(an)裝(zhuang)的(de)(de)(de)低代碼開(kai)發(fa)工(gong)具(ju)Workbench,以(yi)(yi)拖放方式輕松(song)創建工(gong)業應(ying)用程(cheng)序。雖(sui)然采(cai)用云端編譯(yi)打(da)包(bao)的(de)(de)(de)方式,但是很多的(de)(de)(de)App在打(da)包(bao)編譯(yi)中(zhong)會需(xu)要大量的(de)(de)(de)時間與帶寬。在最新版本(ben)(ben)的(de)(de)(de)AppDesigner中(zhong)很好的(de)(de)(de)解決了(le)以(yi)(yi)上幾(ji)個問題,無(wu)(wu)需(xu)本(ben)(ben)地(di)安(an)裝(zhuang),無(wu)(wu)需(xu)編譯(yi)單獨的(de)(de)(de)應(ying)用程(cheng)序就可以(yi)(yi)創建和分發(fa)工(gong)業App。
AppDesigner作為IoTHub選配組件,它允許(xu)以拖放的方法在(zai)web前端輕松(song)創建(jian)工(gong)(gong)業應用(yong)(yong)程(cheng)序(xu)。當(dang)用(yong)(yong)戶(hu)在(zai)AppDesigner中完成(cheng)工(gong)(gong)業應用(yong)(yong)建(jian)模后,可(ke)以導出(chu)工(gong)(gong)業應用(yong)(yong)。導出(chu)過程(cheng)將生成(cheng)一個顯示在(zai)屏幕上的二維碼。
為了(le)執行應(ying)用(yong)程序(xu),用(yong)戶需要在他們的(de)智能設備(bei)上安(an)裝(zhuang)一(yi)個(ge)名為AppHub的(de)應(ying)用(yong)程序(xu)。
使(shi)用(yong)這(zhe)個應用(yong)程序,他們可以掃描由AppDesigner生成的(de)二(er)維(wei)碼。掃描完成后,工業(ye)(ye)app顯示在(zai)AppHub的(de)概(gai)覽中。用(yong)戶(hu)可以選擇啟動APP,也(ye)可以使(shi)用(yong)其他二(er)維(wei)碼在(zai)AppHub添加更多工業(ye)(ye)應用(yong)。
AppDesigner
AppDesigner是一個可以通過IoTHub獲得的單頁面(mian)應(ying)用(yong)(yong)(yong)程序(xu),它允許用(yong)(yong)(yong)戶使用(yong)(yong)(yong)無代(dai)碼(ma)開發方(fang)法創建工業(ye)應(ying)用(yong)(yong)(yong)程序(xu)。因此,用(yong)(yong)(yong)戶無需編(bian)寫源代(dai)碼(ma)即可定(ding)義(yi)工業(ye)應(ying)用(yong)(yong)(yong)的UI和應(ying)用(yong)(yong)(yong)邏輯。
之后(hou),AppDesigner允許將工業應用導出為(wei)二維(wei)碼。
要定義UI,需(xu)要使(shi)用(yong)拖放方法。因(yin)此,用(yong)戶首先(xian)將(jiang)預定義的小(xiao)部(bu)件(如(ru)按鈕、文本標簽(qian)和(he)圖像)移動到(dao)(dao)工(gong)業應(ying)用(yong)程(cheng)序的UI中。然后(hou),AppDesigner允許(xu)(xu)通過改(gai)變它們的屬(shu)性(xing)(如(ru)寬度、高度或(huo)(huo)位置)來定制這些(xie)小(xiao)部(bu)件。為了(le)建模工(gong)業應(ying)用(yong)程(cheng)序的應(ying)用(yong)程(cheng)序邏輯,有兩種附加(jia)類(lei)型(xing)的屬(shu)性(xing)可(ke)(ke)以(yi)添加(jia)到(dao)(dao)小(xiao)部(bu)件中:動畫(hua)允許(xu)(xu)以(yi)各種方式將(jiang)處(chu)理數(shu)(shu)據(ju)輸出(chu)到(dao)(dao)屏幕上,例(li)如(ru)文本或(huo)(huo)圖表。交(jiao)互允許(xu)(xu)更改(gai)流程(cheng)數(shu)(shu)據(ju),例(li)如(ru)在單擊按鈕時寫入某個流程(cheng)值。當用(yong)戶定義了(le)整個工(gong)業應(ying)用(yong)后(hou),AppDesigner允許(xu)(xu)導出(chu)它,這樣它就可(ke)(ke)以(yi)被(bei)AppHub執行。
2.導出工業App
接下(xia)來,利(li)用元模(mo)(mo)型(模(mo)(mo)型驅(qu)動軟(ruan)件開(kai)發研究(jiu)領域的(de)一種方法)描述了工(gong)業(ye)應用程序在AppDesigner中的(de)狀態。當用戶導出工(gong)業(ye)應用程序時,這個模(mo)(mo)型被(bei)持久化到IoTHub的(de)后端。
經過身份驗(yan)證的(de)用(yong)(yong)戶可(ke)以(yi)使用(yong)(yong)REST API訪問它。此(ci)外,后端(duan)(duan)生(sheng)成一個(ge)包含(han)對(dui)持久模型(xing)的(de)引用(yong)(yong)的(de)二(er)維碼。這個(ge)二(er)維碼是(shi)在AppDesigner的(de)前端(duan)(duan)顯(xian)示的(de)代(dai)碼。
AppHub
?AppHub是一個(ge)跨(kua)平臺的(de)(de)移(yi)動應(ying)用程序,它(ta)允許添加和(he)執行(xing)由AppDesigner創建的(de)(de)工(gong)業應(ying)用程序。它(ta)有一個(ge)概覽(lan)頁面(mian),通(tong)過掃描AppDesigner生成的(de)(de)二維碼來(lai)顯(xian)示(shi)之前添加到AppHub的(de)(de)所有工(gong)業應(ying)用。此外,可以通(tong)過在概覽(lan)中選擇(ze)某個(ge)工(gong)業應(ying)用程序來(lai)執行(xing)它(ta)。
1.導入工業應用
AppHub提供了一個二維(wei)碼(ma)閱讀器(qi),幫助用(yong)(yong)戶導入(ru)使用(yong)(yong)AppDesigner建模的工業(ye)應用(yong)(yong)。如(ru)前所述,用(yong)(yong)戶需(xu)要(yao)掃描AppDesigner生成的二維(wei)碼(ma),才(cai)能添加這樣(yang)的工業(ye)app。然后(hou),用(yong)(yong)戶需(xu)要(yao)通(tong)過驗(yan)證才(cai)能下載模型。AppHub將(jiang)模型保存(cun)在本地數據庫。
2.執(zhi)行工業應用程序
當用戶在概覽中(zhong)選擇(ze)工(gong)業應用程序(xu)(xu)時,將(jiang)從要執行的(de)(de)本地數據庫檢索相應的(de)(de)應用程序(xu)(xu)模型(xing)(xing)。為了不需要編譯或運行時就(jiu)可以執行,模型(xing)(xing)驅動(dong)軟件開發研究領域(yu)的(de)(de)另(ling)一種方法用于執行模型(xing)(xing):模型(xing)(xing)解釋(shi)。AppHub解釋(shi)了具體(ti)情況運行時工(gong)業應用程序(xu)(xu)的(de)(de)模型(xing)(xing),以便按照模型(xing)(xing)中(zhong)描述的(de)(de)工(gong)業應用程序(xu)(xu)執行。