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