Angular移動工具集要讓Web應用有原生的感覺

weixin_34253539發表於2016-05-12

決定為哪個平臺構建應用一直是個挑戰。開發人員應該把時間和金錢花在原生實現上,還是完全專注於Web,或者是某種組合?新增加的Angular移動工具集(AMT)使用新的Web平臺API讓Web應用有了更多原生的感覺,希望可以為做這種決定的人減輕一點壓力。

\\

在ng-conf 2016大會上,Jeff Cross和Alex Rickabaugh花時間介紹了AMT以及它如何幫助開發人員讓Web應用的行為更像原生應用。Cross做了總結:

\\
\

“Progressive Web Apps”是以一些已經在某些Web瀏覽器中實現了的新興Web標準為基礎的最佳實踐和技術。對於一些普通的Web應用,你使用新的平臺API新增新的功能,讓它們更加強大。它們可以在任何平臺上工作,但最好是工作在它們可以更多地利用新的技術和API的平臺上。

\
\\

這些技術的主要目標是讓應用可以立即載入、離線工作、可安裝,並提供通知功能。通常,原生應用預設就具備這些特性,但在Web上實現這些特性並不容易。在這四個特性中,Cross和Rickabaugh重點介紹了前三個以及對應每一個特性的技術:

\\
  • App Shell(立即載入) \\
  • Service Worker(離線) \\
  • Web App Manifest(可安裝)\

Cross說,App Shell是指“包含動態內容的靜態UI,通常由一個工具欄和某種導航……供所有應用程式檢視使用的東西。”在離線編譯過程中,AMT部分地依賴Angular Universal生成靜態內容。

\\

原生應用的其中一個好處是,一旦安裝,即使沒有網路,也總是可以保證最低限度的使用。AMT依賴Service Worker在後臺下載應用程式碼,因此,應用可以離線工作。一個意外的結果是,在後續載入時,應用的啟動速度更快,因為它已經有了程式碼,省去了網路和下載呼叫。

\\

使用App Shell和Service Worker可以將首次同示例應用互動的時間從2356毫秒減少到128毫秒。

\\

最後,Rickabaugh說,Web App Manifest是“一個標準,允許你指定應用程式的後設資料。”其用途是允許將Web應用“安裝”在裝置上。執行這些應用中的任何一個,其外觀和感覺都跟原生應用一樣,因為瀏覽器邊框可以隱藏。

\\

最大的問題是有關progressive web apps的這三項技術中有兩項在Safari或Edge瀏覽器中無效。

\\

App Shell之所以有效是因為它在應用載入前會渲染成HTML傳給客戶端。Service Worker是一項尚處於發展中的Web平臺開發技術,隨著時間推移,會有更多的瀏覽器支援。Web App Manifest只在Android上有效。iOS目前有自己的方式讓應用出現在使用者的主介面上,而不需要瀏覽器邊框。

\\

感興趣的讀者可以在YouTube上觀看完整視訊

\\

檢視英文原文Angular Mobile Toolkit Tries to Make Web Apps Feel Native

相關文章