以迷你應用程式進行程式設計

適用於迷你應用程式的成效良好之處

在本章中,我想從網路開發人員的角度,探討從研究迷你應用程式中學到的課題,或回答「以迷你應用程式的方式開發應用程式」的涵義。

元件

為了避免重複開發,讓開發人員不必再實作常見的 UI 模式 (例如分頁、摺疊式、輪轉介面等),迷你應用程式會隨附預設元件選項,以便在需要更多元件時擴充。網頁上也有許多選項,其中部分選項已列在迷你應用程式元件一節中。在理想情況下,您可以自由混合網站上的元件程式庫。在實際操作中,您使用元件時,往往需要採用某種設計系統,或是元件程式庫是以「全部或全無」的方式發布,但無法輕鬆將個別元件新增至專案。不過,您可以單獨使用原子元件,或是generic-components 等刻意未設定樣式的程式庫。找出並使用這些資料似乎是個不錯的做法。

模型-檢視-檢視模型

模型-檢視區塊-檢視區塊模型 (MVVM) 架構模式可透過標記語言,將圖形使用者介面 (檢視區塊) 的開發作業與後端邏輯 (模型) 的開發作業分開,這表示檢視區塊不依賴任何特定的模型平台。雖然此模式有幾個已記錄的缺點,但一般來說,它對於複雜度與迷你應用程式相當的應用程式非常實用。這項功能特別適合搭配豐富的範本庫使用 (請參閱下一章節)。

以頁面為單位思考

偵錯迷你應用程式會顯示這些應用程式基本上是多頁面應用程式 (MPA)。這有許多優點,例如可進行簡單的路由,以及避免每個頁面樣式發生衝突。使用者已成功將 MPA 架構套用至漸進式網頁應用程式。以網頁為單位思考,也有助於管理各個網頁的 CSS 和 JavaScript 檔案,以及圖片和影片等其他資產。最重要的是,如果您不載入其他內容,就能免費獲得以路線為基礎的程式碼分割功能。在這種情況下,每個頁面都會依定義,只載入所需的功能。

建構程序

迷你應用程式沒有可見的建構程序。在網路上,Snowpack 等新式建構工具會利用 JavaScript 內建的模組系統 (稱為 ESM),避免不必要的工作,並確保無論專案規模多大,都能維持快速的執行速度。雖然 Web Bundles 等技術仍處於初期階段,但可以輕鬆新增至建構程序。

強大的功能

網路平台最近獲得許多新功能。您現在可以透過 藍牙USBHID序列NFC 存取裝置。如果迷你應用程式在 WebView 中執行,且依賴網路上的 JavaScript 橋接器,則可直接使用這些強大功能,因此您不需要針對 JavaScript 橋接器提供的 API 編寫程式,而是針對瀏覽器 API 編寫程式,而不需要透過中介角色。

特別銘謝

本文由 Joe MedleyKayce BasquesMilica MihajlijaAlan Kent 和 Keith Gu 共同審查。