跳到主要內容

Blocklet Server 功能更新:為 Blocklet 整合 PWA 支援

Hang Zhang
Blocklet Server

在最新版本的 Blocklet Server 中,我們新增了對漸進式網路應用程式(Progressive Web Apps, PWA)的支援。

Progressive Web App (PWA) 是利用網頁技術建構的,但能提供類似原生應用程式(Native App)的使用者體驗。PWA 可以像網站一樣,透過單一程式碼庫跨多個平台和裝置運作。它也可以安裝在裝置上、在離線及背景模式下運作,並與裝置及其他已安裝的應用程式整合。

為什麼需要 PWA

更快速的使用者體驗:在網路連線不佳的環境下,切換頁面通常會產生延遲。PWA 可以透過預載整個應用程式來緩解這個問題,在頁面導覽時無需網路請求,從而顯著提高頁面載入速度。

離線應用程式支援:即使在離線狀態下,部分應用程式(如果針對離線使用進行了優化)仍可保持存取和瀏覽。

您可以在此處瞭解更多關於 PWA 技術的標準與介紹:

Progressive web apps | MDN

Blocklet 與 PWA

啟用 PWA 後,Blocklet 可以直接安裝在系統桌面上,運作方式就像原生 App。它還支援離線使用,即使沒有網路連線也能存取。

Blocklet Service 提供了一套全面的便利功能與屬性,旨在簡化組件與 Service Worker 程式碼的整合,從而增強 PWA 的開發與部署。透過提供強大的框架,Blocklet Service 簡化了管理離線功能、快取策略和背景同步的過程,這對於在 PWA 中建立無縫且可靠的使用者體驗至關重要。開發者可以利用這些工具高效地處理網路請求、管理數據儲存,並確保應用程式在低頻寬或無連線環境下仍能保持響應和運作。此外,Blocklet Service 還包括詳細的檔案和支援資源,讓新手和經驗豐富的開發者都能輕鬆自信地實作 PWA 功能。

我們增強了一些最受歡迎的 Blocklet,例如 Pages Kit 和 Discuss Kit,整合了 PWA 功能。這意味著當您將這些 Blocklet 納入您的應用程式時,它將自動受益於 PWA 的進階功能。這些功能包括提升效能、離線功能,以及像原生 App 一樣安裝在使用者裝置上的能力。因此,您的應用程式將提供更無縫且引人入勝的使用者體驗,具有更快的載入速度,並且在沒有穩定網路連線的情況下仍能運作。此外,使用者可以像使用其他 App 一樣,直接從主螢幕存取您的應用程式,提升了便利性與使用者參與度。

以下部分介紹如何將 PWA 整合到 Blocklet 中。

具體做了哪些改進?

Pages Kit 頁面快取

目前,所有公開的 Pages Kit 頁面都會進行預先快取。一旦您打開了 Pages Kit,後續的頁面載入將會是瞬間完成的,即使是在網路連接不佳或離線的情況下。

Discuss Kit 快取

Discuss Kit 中的數據量可能非常龐大,因此預先快取所有內容並不切實際。更好的方法是動態快取,即僅快取已訪問過的頁面。

Discuss Kit 預設會快取列表頁、部落格頁、文件頁和書籤首頁。成功安裝 Service Worker 後,無論網路連線狀況如何,這些頁面皆可存取。

在查看貼文詳情後,該頁面會立即被快取。後續再次訪問同一貼文時,載入速度會更快。即使發生網路問題,存取已快取的貼文詳情也不受影響。

探索 PWA 的功能

具備 PWA 功能的 Pages Kit 和 Discuss Kit 很快將在所有 ArcBlock 服務中開放使用。目前,這些功能已經可以在 ArcBlock 官網和官方社群網站上體驗。您可以訪問它們並感受差異。

Welcome to ArcBlock!

ArcBlock Community

開發支援 PWA 的 Blocklet

Blocklet Service 支援 PWA 帶來的最大價值在於,任何基於 ArcBlock 開發的應用程式都可以輕鬆添加 PWA 支援能力。我們努力讓這個過程變得非常簡單。

請參閱官方文件,快速了解如何為您的 Blocklet 加入 Service Worker 功能。

未來計劃

我們將逐步增強所有 Blocklet 的 PWA 實作,持續優化 PWA 配置以提升 Blocklet 的使用者體驗。

幫助我們改進

如果您有任何問題、反饋或建議,請訪問 ArcBlock Community。我們隨時為您提供幫助。如果您的反饋被我們的 Bug Bounty Program 選中,您還可以獲得 ABT 獎勵。

ArcBlock Community

收聽音訊概覽

本頁涉及

產品

  • Blocklet Server superseded

    把 blocklet 作為子行程託管的伺服器。這項工作在 ARC 裡繼續;子行程託管這個模型不再往下走。