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