前言:打破網頁與應用的界線
許多使用者第一次造訪 LightShowHQ 時,常會驚訝於「為什麼不需要去 App Store 下載,關掉網路後卻還能正常打開使用?」這背後的功臣就是 PWA (Progressive Web App,漸進式網頁應用) 技術。這項由 Google 力推的網頁技術,正在重新定義行動應用的開發與使用習慣。
一、 什麼是 PWA?
PWA 本質上是現代網頁技術的延伸,它讓網頁應用程式擁有類似原生 App 的使用體驗。它不需要通過應用商店審核、下載與定期的龐大更新,使用者只需點擊「加到主畫面」,就能在手機桌面上擁有獨立的應用圖示,並且在無狀態欄的全螢幕模式下運行。
二、 實現離線可用的三大核心技術
LightShowHQ 能夠在山區、地鐵隧道等完全沒有網路訊號的環境中正常播放警示燈與跑馬燈,主要依賴以下三項技術支持:
- Service Worker (服務工作線程):這是一個獨立於瀏覽器網頁線程之外、在背景運行的腳本。它充當了網頁與網路之間的「代理伺服器」。當您第一次訪問網站時,Service Worker 會自動下載並安裝。
- Cache Storage (快取儲存 API):Service Worker 會攔截所有的網絡請求,並將網站的靜態資源(如 HTML、JavaScript、CSS、字型及圖示)寫入本地快取。當您在離線狀態下開啟 LightShowHQ 時,Service Worker 會直接從快取中讀取資源並加載,實現「秒級開機」。
- Web App Manifest (應用清單配置):這是一個 JSON 檔案,定義了應用的名稱、啟動圖示、主題顏色以及啟動樣式(如 `standalone` 全螢幕模式)。它讓瀏覽器知道這個網站「可以被安裝為 App」。
三、 PWA 與原生 App 的客觀比較
雖然 PWA 帶來了免下載、即開即用、不佔空間(通常小於 1MB,而原生 App 動輒 50MB 以上)的巨大優勢,但它也存在一些受限於瀏覽器沙箱的技術限制:
- 實體硬體控制:出於安全性考慮,網頁端目前無法直接調用手機背面的實體 LED 手電筒進行高頻率閃爍控制,只能透過前端螢幕以最大亮度來模擬。這也是原生 App 的強項。
- 背景執行限制:當 PWA 應用被切換到後台或手機鎖屏時,瀏覽器為了省電,可能會暫停其 JavaScript 的運行。
結論與未來展望
對於 LightShowHQ 這種應急與活動工具來說,PWA 是最理想的技術載體。因為當使用者面臨緊急情況(如道路拋錨)或在派對現場時,要求他們去商店搜尋、輸入密碼下載一個幾十 MB 的 App 是非常不切實際的。PWA 讓他們能夠在 3 秒內打開瀏覽器,立刻獲得安全守護。