漸進式網絡應用程式

維基百科,自由的百科全書
跳至導覽 跳至搜尋

漸進式網絡應用程式(英語:Progressive Web Apps,簡稱:PWA)是一種普通網頁網站架構起來的網絡應用程式,但它可以以傳統應用程式或原生移動應用程式形式展示給用戶。這種應用程式形態視圖將目前最為現代化的瀏覽器提供的功能與流動裝置的體驗優勢相結合。

技術背景[編輯]

自2005年以來,網頁開發從靜態形式升級為以伺服器端技術(如PHPASP.NET等)與客戶端工具(如Ajax[1]等)以及一些響應式網頁設計技術構建的動態形式。[2]那時儘管有一些基於網頁技術製作的網絡應用(如iPhone於2007年展開的嘗試),但都在與原生應用的競爭下失敗。相較於需要利用瀏覽器運行的網絡應用,原生應用提供一個更好的用戶體驗和極快的運行速度。以打包資源和直接利用硬件資源的特性,都令原生應用運行速度更快,並提供更多功能。但到2010年代中期,由於HTML5CSS 3JavaScript技術的持續發展,技術更強大、兼容性更高的瀏覽器 的出現,以及類似A10和高通驍龍 821這樣強大的處理器的發明,都讓高效的混合型應用程式成為強有力的原生應用程式替代品。

混合型應用程式[編輯]

混合應用程式最大程度地還原流動裝置的用戶體驗,並且需要通過應用商店下載。因此,它們依然消耗存儲空間。以標記語言樣式表,以及腳本語言製作的互動網頁元素沒有使用封閉的系統,例如Flash。一部分運行在移動瀏覽器的混合型應用沒有URL,但支持豐富的用戶界面,也允許使用一些作業系統層級的能力。在最新發佈的CSS 3和JavaScript框架中,開發者被允許使用新的設計範式,例如以網格和Flex為代表的CSS 盒模型,還能使用轉譯、轉換與動畫等功能。

特點[編輯]

在2015年,設計師弗朗西斯·貝里曼和Google Chrome的工程師亞歷克斯·羅素提出「漸進式網絡應用程式」概念[3],符合條件的應用程式可以現代的瀏覽器中使用新功能,包括應用工作線程和網絡應用清單,而且用戶在原生作業系統中,可以從網絡應用程式向漸進式網絡應用程式升級。根據Google開發者支持頁面,[4][5]這些特徵是:

  • 漸進式:用戶無需擔心使用哪個瀏覽器,也可以正常使用PWA。因為這些PWA以漸進增強作為核心信條。
  • 響應式:PWA適應包括電腦手機平板等其他常用設備在內的多種瀏覽環境。
  • 連接獨立性:利用服務工作線程,PWA可以離線或網絡情況較差的環境下工作。
  • 接近原生應用:為用戶提供更接近原生應用的交互體驗與導航。
  • 保持新版:歸功於服務工作線程的更新機制,PWA可以保證用戶永遠使用最新版本。
  • 安全:通過HTTPS,PWA可以阻止通訊竊聽,而且能保證內容不被篡改。
  • 可被發現:歸功於W3C提供的清單文件[6],以及服務工作線程的註冊範圍機制,PWA可被標識為「應用」,且搜尋引擎可以正常地索引PWA。
  • 可被組裝:類似推送通知這樣的功能在PWA上都可以輕鬆地被組裝。
  • 可被安裝:允許用戶直接「保留」PWA到他們的系統桌面,無需到應用商店完成麻煩的步驟。
  • 可被連結:只需輕鬆地分享URL便可連結至PWA中,無需複雜的安裝步驟。

參考文獻[編輯]

  1. ^ Garrett, Jesse James. Ajax: A New Approach to Web Applications. [February 18, 2005]. 
  2. ^ Marcotte, Ethan. Responsive Web Design. [May 25, 2010]. 
  3. ^ Russell, Alex. Progressive Web Apps: Escaping Tabs Without Losing Our Soul. [June 15, 2015]. 
  4. ^ Your First Progressive Web App | Web Fundamentals - Google Developers. [2016-07-17]. 
  5. ^ Google Developers. Progressive Web App. [June 15, 2015]. 
  6. ^ W3C “Web App Manifest”, Working Draft, retrieved 12 September 2016