宜科曾經(jīng)為用戶(hù)提供本地安裝的低代碼開(kāi)發(fā)工具Workbench,以拖放方式輕松創(chuàng)建工業(yè)應(yīng)用程序。雖然采用云端編譯打包的方式,但是很多的App在打包編譯中會(huì)需要大量的時(shí)間與帶寬。在最新版本的AppDesigner中很好的解決了以上幾個(gè)問(wèn)題,無(wú)需本地安裝,無(wú)需編譯單獨(dú)的應(yīng)用程序就可以創(chuàng)建和分發(fā)工業(yè)App。
AppDesigner作為IoTHub選配組件,它允許以拖放的方法在web前端輕松創(chuàng)建工業(yè)應(yīng)用程序。當(dāng)用戶(hù)在AppDesigner中完成工業(yè)應(yīng)用建模后,可以導(dǎo)出工業(yè)應(yīng)用。導(dǎo)出過(guò)程將生成一個(gè)顯示在屏幕上的二維碼。
為了執(zhí)行應(yīng)用程序,用戶(hù)需要在他們的智能設(shè)備上安裝一個(gè)名為AppHub的應(yīng)用程序。
使用這個(gè)應(yīng)用程序,他們可以?huà)呙栌葾ppDesigner生成的二維碼。掃描完成后,工業(yè)app顯示在AppHub的概覽中。用戶(hù)可以選擇啟動(dòng)APP,也可以使用其他二維碼在AppHub添加更多工業(yè)應(yīng)用。
AppDesigner
AppDesigner是一個(gè)可以通過(guò)IoTHub獲得的單頁(yè)面應(yīng)用程序,它允許用戶(hù)使用無(wú)代碼開(kāi)發(fā)方法創(chuàng)建工業(yè)應(yīng)用程序。因此,用戶(hù)無(wú)需編寫(xiě)源代碼即可定義工業(yè)應(yīng)用的UI和應(yīng)用邏輯。
之后,AppDesigner允許將工業(yè)應(yīng)用導(dǎo)出為二維碼。
要定義UI,需要使用拖放方法。因此,用戶(hù)首先將預(yù)定義的小部件(如按鈕、文本標(biāo)簽和圖像)移動(dòng)到工業(yè)應(yīng)用程序的UI中。然后,AppDesigner允許通過(guò)改變它們的屬性(如寬度、高度或位置)來(lái)定制這些小部件。為了建模工業(yè)應(yīng)用程序的應(yīng)用程序邏輯,有兩種附加類(lèi)型的屬性可以添加到小部件中:動(dòng)畫(huà)允許以各種方式將處理數(shù)據(jù)輸出到屏幕上,例如文本或圖表。交互允許更改流程數(shù)據(jù),例如在單擊按鈕時(shí)寫(xiě)入某個(gè)流程值。當(dāng)用戶(hù)定義了整個(gè)工業(yè)應(yīng)用后,AppDesigner允許導(dǎo)出它,這樣它就可以被AppHub執(zhí)行。
2.導(dǎo)出工業(yè)App
接下來(lái),利用元模型(模型驅(qū)動(dòng)軟件開(kāi)發(fā)研究領(lǐng)域的一種方法)描述了工業(yè)應(yīng)用程序在AppDesigner中的狀態(tài)。當(dāng)用戶(hù)導(dǎo)出工業(yè)應(yīng)用程序時(shí),這個(gè)模型被持久化到IoTHub的后端。
經(jīng)過(guò)身份驗(yàn)證的用戶(hù)可以使用REST API訪問(wèn)它。此外,后端生成一個(gè)包含對(duì)持久模型的引用的二維碼。這個(gè)二維碼是在AppDesigner的前端顯示的代碼。
AppHub
?AppHub是一個(gè)跨平臺(tái)的移動(dòng)應(yīng)用程序,它允許添加和執(zhí)行由AppDesigner創(chuàng)建的工業(yè)應(yīng)用程序。它有一個(gè)概覽頁(yè)面,通過(guò)掃描AppDesigner生成的二維碼來(lái)顯示之前添加到AppHub的所有工業(yè)應(yīng)用。此外,可以通過(guò)在概覽中選擇某個(gè)工業(yè)應(yīng)用程序來(lái)執(zhí)行它。
1.導(dǎo)入工業(yè)應(yīng)用
AppHub提供了一個(gè)二維碼閱讀器,幫助用戶(hù)導(dǎo)入使用AppDesigner建模的工業(yè)應(yīng)用。如前所述,用戶(hù)需要掃描AppDesigner生成的二維碼,才能添加這樣的工業(yè)app。然后,用戶(hù)需要通過(guò)驗(yàn)證才能下載模型。AppHub將模型保存在本地?cái)?shù)據(jù)庫(kù)。
2.執(zhí)行工業(yè)應(yīng)用程序
當(dāng)用戶(hù)在概覽中選擇工業(yè)應(yīng)用程序時(shí),將從要執(zhí)行的本地?cái)?shù)據(jù)庫(kù)檢索相應(yīng)的應(yīng)用程序模型。為了不需要編譯或運(yùn)行時(shí)就可以執(zhí)行,模型驅(qū)動(dòng)軟件開(kāi)發(fā)研究領(lǐng)域的另一種方法用于執(zhí)行模型:模型解釋。AppHub解釋了具體情況運(yùn)行時(shí)工業(yè)應(yīng)用程序的模型,以便按照模型中描述的工業(yè)應(yīng)用程序執(zhí)行。