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