MES 前端跨平台架構

Avatar of 陳傑弘.
Avatar of 陳傑弘.

MES 前端跨平台架構

研發經理
Taichung City, Taiwan

主旨

此開發平台主要是重構舊版VB winform 架構,改採AngularJS 1.7版本,通過Material Design Lite 組件、RequireJS實現具備微前端特性的開發架構。 通過搭配Cordova、Electron 載體實現跨平台使用。


主要特性

  1. 具備微前端特性,分為底層框架與業務模塊,模塊內包含啟動註冊(Config、Startup、Routing)、作業(JS、HTML、CSS)、服務(Service)、多語(JSON),模塊能獨立載入、更新。
  2. 基於Material Design Lite提供大量自製組件,開窗、日期、甘特圖、圖表、Font-icon等等。
  3. 整合SignalR即時推播服務,每隻作業都能針對所需的資料訂閱AP,即時取得相關資料。
  4. 高度抽象化,拜微前端架構之賜,功能作業的程式碼跟系統架構的程式碼做了實體資料夾的切分。
  5. 跨平台,通過高度自訂Cordova與Electron 實現一份程式碼使用在多個平台
  6. 自定義報表功能,能夠根據後台回傳的資料內容自動生成定時刷新的表格式查詢結果
  7. 優異的Debug功能,開發平台能夠支持寫入客戶端日誌文件


技術說明

此專案開發時還沒有Webpack 的Module Federation能夠使用,因此使用了RequireJS作為基底自行開發相關的動態JS、HTML、CSS載入,實現了微前端特性,能夠以模組為最小單位進行更新。


選擇SignalR作為與後台即時溝通方式,為了因應車間現場快速的資料節奏,前端自製了Sub-publisher架構,每隻作業能夠訂閱API來取得即時的數據,並且在作業關閉的時候會自動退訂。


因為此架構需要在工控機上使用,要能在Windows、iOS、Android等跨平台的執行需求,但是又需要整合實際硬體,所以選擇了Cordova跟Electron作為載體平台來串接實際硬體。

基於SPA Web 架構的跨平台開發架構,實現了微前端的特性
Avatar of the user.
Please login to comment.

Published: Oct 16th 2023
53
7
0

Tools

android
Android
electron
Electron
angularjs
AngularJS

Share