漸進式Web應用(PWA)入門教程(上)

最近關於漸進式Web應用有好多討論,有一些人還在質疑漸進式Web應用是否就是移動端未來。

但在這篇文章中我並不會將漸進式APP和原生的APP進行比較,但有一點是可以肯定的,這兩種APP的目標都是使用戶體驗變得更好。

移動端Web應用有很多優秀的概念讓人應接不暇,但好在編寫一個漸進式Web應用不是一個很困難的事情。在這篇文章裡將向你介紹如何把一個普通的網站轉換成漸進式Web應用。你可以按照這篇文章一步一步地做,做完之後你的網站將可以實現離線訪問,並且可以在桌面上創建該網站的圖標。那麼下面即將開始入門教程。

什麼是漸進式Web應用?

漸進式Web應用是一種全新的Web技術,讓Web應用和原生APP的體驗相近或一致。

漸進式Web應用它可以橫跨Web技術及Native APP開發的解決方案,對於開發者的優勢如下:

  1. 你只需要關心W3C的Web標準,不用關心各種Native APP的代碼。

  2. 用戶可以在安裝應用之前先試用。

  3. 在漸進式Web應用中,你不需要使用各種應用商店來分發應用,也不用關心應用發佈時奇怪的審核標準以及應用內購的平臺抽成。另外,應用程序更新是自動進行的,無需用戶交互,所以整體的使用體驗對於用戶來講更為的平滑。

  4. 漸進式Web應用的“安裝”過程很快,只需要在主屏幕上添加一個圖標即可。

  5. 漸進式Web應用啟動時可以顯示一個好看的啟動畫面。

  6. 你可以在漸進式Web應用中提供具有全屏體驗的應用。

  7. 通過系統通知等形式提高用戶的粘性。

  8. 漸進式Web應用將會在本地緩存必要的文件,所以漸進式Web應用會比普通的Web應用的性能更好。

  9. 輕量級安裝——你只需要緩存幾百KB的數據即可。

  10. 所有的數據傳輸必須使用安全的HTTPS連接

  11. 漸進式Web應用可以離線緩存數據,並且會在重新連接互聯網時重新同步數據。

漸進式Web應用發展的現狀

但就目前來講,PWA是Google主推的一項技術標準,FireFox,Chrome以及一些基於Blink的瀏覽器已經支持漸進式Web應用了,Edge上對漸進式Web應用的支持還在開發。Apple公司也表示會考慮在自己Safari支持PWA。然而這項功能已經進入了WebKit內核的五年計劃中。長期來看,對瀏覽器兼容性的支持方面應該已經不算太大問題了。況且在現階段,在不支持漸進式Web應用的瀏覽器中,你的應用也只是無法使用漸進式Web應用的離線功能而已,除此之外的功能均可以正常使用。

示例代碼

大多數教程都講述的是如何在Chrome上從零開始製作一個類似原生界面的應用。然而在這篇教程中,我們並不打算做一個單頁面應用程序,所以在這我們也不必瞭解諸如Material Design等知識。那麼下面我們就直接看示例吧。

你可以從GitHub中獲取本教程對應的示例代碼。

本示例中提供了一個有四個網頁的網站,一個CSS文件和一個JavaScript文件。這個網站可以在所有的現代瀏覽器上正常工作(IE10+)。如果你的瀏覽器支持漸進式Web應用,用戶可以在離線狀態下將會直接訪問緩存中的頁面。

要想運行此示例,請確保你已經安裝了Node.js。並請打開命令行,使用以下命令來運行該示例:

node ./server.js [port]

以上命令中,[port]是可選部分,默認為8888。使用 Ctrl + C 即可停止Web服務器。

打開基於Blink內核的瀏覽器(Opera,Vivaldi,Chrome),然後在地址欄中輸入http://localhost:8888/(注意端口號是否正確),即可訪問該示例。你可以打開開發者工具(F12 或者 Cmd/Ctrl + Shift + I)來查看控制檯信息。

漸進式Web應用(PWA)入門教程(上)

查看首頁,也可以在頁面上點擊一下,然後使用以下方法進入離線模式:

選中Network標籤或者Application -> Service Workers 標籤下的“離線”選項。重新訪問之前訪問過的網頁,之前網頁仍然會加載:

漸進式Web應用(PWA)入門教程(上)

連接移動端安裝

除了在PC瀏覽器訪問外,你也可以在移動設備上訪問該示例。使用USB線纜將你的移動設備連接到電腦上,然後從右上角三個點菜單中打開More tools - Remote devices標籤

漸進式Web應用(PWA)入門教程(上)

點擊左側的Settings菜單,然後添加一條端口映射(Port Forwarding)的規則,將8888映射為localhost:8888,現在你可以直接在手機打開

Chrome然後訪問http://localhost:8888

你可以使用瀏覽器的“添加到主屏幕”功能將當前網頁添加到主屏幕,在你訪問了幾個頁面之後,瀏覽器會將這個Web應用“安裝”到你的設備上。瀏覽幾個頁面,關閉Chrome並將設備與電腦斷開連接,點擊桌面上生成的圖標,你會看到一個Splash頁面,並且你可以繼續瀏覽之前瀏覽過的頁面。

漸進式Web應用(PWA)入門教程(上)

小結

通過本節對漸進式Web應用的介紹,相信大家對PWA是什麼已經有了基本的認識。PWA有無需擔心有無網絡的特點,並具有獨立入口與獨立的保護機制。新標準的推出很可能會帶著 Web 應用在移動設備上浴火重生。所以滿足 PWA 模型的前端控件,如純前端表格控件SpreadJS,將逐漸成為移動操作系統的一等公民,並將向Native APP發起挑戰。

在下節中我們將帶你一起去看看,PWA的原理是什麼,以及它究竟是如何工作的,敬請期待。

還沒關注的大家關注一下唄,以後每天都會有更新哦!


分享到:


相關文章: