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

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

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

元件

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

模型-檢視-檢視模型

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

以頁面為單位思考

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

建構程序

迷你應用程式沒有可見的建構程序。在網頁上,Snowpack 等新式建構工具會運用 JavaScript 內建的模組系統 (稱為 ESM),避免不必要的工作,並確保無論專案規模如何,都能維持快速的執行速度。雖然網頁套件等技術仍處於初期階段,但這類技術可輕鬆加入建構程序。

強大的功能

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

特別銘謝

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