- 原文地址:The easy way to turn a website into a Progressive Web App
- 原文做者:Alexandre Plennevaux
- 譯文出自:掘金翻譯計劃
- 本文永久連接:github.com/xitu/gold-m…
- 譯者:bambooom
- 校對者:MechanicianW tvChan
基本上來講,PWA 是一個網站,當用手機訪問時,網站能夠保存在手機,而且體驗就像一個原生應用程序同樣。它會有一個加載顯示,你能夠刪除 Chrome 的界面,若是網絡鏈接斷開,它仍然能夠正常顯示內容。最重要的是它提升了用戶的參與度:在 Android 上的 Chrome 瀏覽器(不肯定其餘移動端瀏覽器上行爲是否一致)若是檢測到網站是 PWA,它會提示用戶使用你選擇的圖標將其保存在設備的主屏幕上。javascript
PWA 對客戶端上的業務有好處。 中國的亞馬遜,阿里巴巴注意到因爲瀏覽器「安裝」網站的提示,用戶的參與度提升了 48%(來源)。css
這說明 PWA 徹底值得爲之努力奮鬥!html
這極大可能要歸功於一種叫 Service Workers 的技術,它容許你在用戶系統中保存靜態資源(html、css、javascript、json…),同時還有一個 manifest.json
文件,指定網站如何像一個已安裝的應用同樣運行。前端
這些都是我用本教程裏描述的相同的方法作的網站:java
更多例子能夠在這裏看到:pwa.rocksandroid
將網站變成 PWA 可能聽上去很複雜(Service workers?是什麼?),但其實並不難。ios
最困難的部分就是 PWA 只能在安全域的網站上運行(也就是在 https:// 後,而不是 http://)。git
一般這些很難手動設置,可是若是你有本身的服務器,你可使用 letsencrypt 很簡單並自動化的完成這個步驟,而且徹底免費。github
realfavicongenerator.net 注重你的 PWA 的視覺層。它會生成上面提到的 manifest.json
文件,以及網站保存到任意移動設備上時所須要的各個版本的圖標文件,以及添加到頁面 <head>
標籤的一段 html 代碼。web
建議:雖然 RFG 將你的資源放在子文件夾中,但這會使得啓用 PWA 更困難。因此爲了簡單方便,將全部圖片等資源所有放在根目錄下便可。
Service workers 是一項 JavaScript 技術,對我疲倦而急躁的大腦來講很難理解。但幸運的是,一位聰明的德國女孩告訴我 Tal Atler,她但願推動「離線優先」的理念,因此她建立了一個 JavaScript 庫可以讓你的網站在掉線的時候依然輕鬆保持正常運做。謝謝你,Ola Gasidlo!
只須要快速瀏覽一下 UpUp 的教程就夠了。
編輯 RFG 生成的 manifest.json
文件,它至少應包含這些條目:"scope"、"start_url"、"short_name"、"display"。如下是一個示例:
{
"name": "My PWA Sample App",
"short_name" : "PWA",
"start_url": "index.html?utm_source=homescreen",
"scope" : "./",
"icons": [
{
"src": "./android-chrome-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "./android-chrome-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"theme_color": "#ffee00",
"background_color": "#ffee00",
"display": "standalone"
}
複製代碼
更多相關信息見此處:developers.google.com 。
這是一個我用 Github Pages 作的 PWA 的例子,我在 BeCode 時給個人後輩現場編寫的,你能夠用你的手機來訪問並測試,點擊這裏,它的代碼在這裏。
你能夠在下面這本書中找到全部有關 PWA 的信息:
以上就是全部內容,PWA 快樂!
掘金翻譯計劃 是一個翻譯優質互聯網技術文章的社區,文章來源爲 掘金 上的英文分享文章。內容覆蓋 Android、iOS、前端、後端、區塊鏈、產品、設計、人工智能等領域,想要查看更多優質譯文請持續關注 掘金翻譯計劃、官方微博、知乎專欄。