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