成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

單頁面應用(SPA)和漸進式Web應用(PWA)有哪些區別?

譯文
開發 前端
本文將和您討論單頁面應用(SPA)和漸進式Web應用(PWA)的基本工作原理,兩者之間的同異之處,并最終給出如何選用的建議。

【51CTO.com快譯】不知您是否已注意到,單頁面應用程序(Single-page applications,SPA)和漸進式Web應用程序(Progressive web apps,PWA)正在徹底地改變著企業Web服務的交付模式。這兩種新技術雖然看起來十分相似、甚至經常被人們所交替使用,但是實際上兩者有著本質上的區別。下面讓我們一起來深入研究它們各自的主要特性、以及在服務交付上的不同之處。

什么是單頁面應用程序? 

[[412462]]

顧名思義,SPA是在單個頁面內,動態地加載網站的各項內容。從本質上講,用戶與頁面交互的每一種內容和元素,都會在同一個頁面上完成。這意味著,您在瀏覽此類網站時,無需加載任何單獨的文檔對象模型(Document Object Models,DOM)。該方法的主要意圖是:通過加載用戶需要使用和查看的所有內容,讓它們保持在同一個頁面上,以獲取更好的使用體驗。

由此帶來的好處是,SPA可以避免那些在服務器上渲染各種頁面時,所產生的中斷問題。它在一定程度上消除了,一直以來困惑在Web開發界的一個問題:如何才能向用戶提供無縫的訪問體驗。當您在SPA上使用頁面導航服務時,可能會錯誤地認為自己訪問了不同的DOM。而實際上,您瀏覽的是由單個DOM所預加載的內容。若想將SPA分成單獨的內容部分,我們通常會涉及使用JavaScript視圖,為每個部分提供單一的URL。同時,數據鏈路連接器負責將各個部分鏈接到主DOM上,并允許您以異步的方式去訪問它們。

盡管目前已有Mintelm-spa等技術的興起,但是JavaScript仍然是制作SPA的最常用編程語言。JavaScript會使用async/await函數,讓用戶能夠異步加載動態和靜態的內容,而不會因為某個輸入而阻塞另一個請求的輸出。也就是說,SPA能夠在非阻塞的輸入輸出(I/O)系統上流暢運行。目前,諸如ReactJS、Vue.js、AngularJS、Ember.js、以及Backbone.js之類的JavaScript框架,都能夠支持SPA的快速開發。為了方便上手,您可以首先從鏈接--https://www.makeuseof.com/vue-js-beginners-overview/處,獲悉有關Vue.js的基本概念。

如今,諸如Netflix、YouTube、PayPal、Facebook、Instagram、Twitter、以及Pinterest之類的明星企業,都從交付速度的角度,相繼將其網站服務轉換成為了單頁面應用。

什么是漸進式Web應用程序?

[[412463]]

PWA是由Google于2015年推出的。其目標是通過構建出能夠以直接和漸進的方式,與其用戶交互的應用程序,實現在網絡連接不佳或中斷的情況下,保持用戶的使用體驗。

作為另一種Web應用程序或軟件,PWA在其功能中使用了各種標準的、新興的Web瀏覽器指南。與SPA的典型初始化內容加載不同,PWA架構主要是通過一些指南,來實現可擴展性、用戶適應性、超快速交付、可安裝性、以及原生性。總的說來,用戶可以流暢地與應用程序進行持續交互。

作為PWA的核心特征之一,可安裝性保證了用戶可以通過Web瀏覽器,即時地訪問到服務資源,而無需進行任何額外的安裝。當然,與任何其他網站一樣,PWA也需要被分配一個URL。漸進式Web應用程序的獨特之處在于,它們提供了瞬間傳送內容的后臺助手。據此,您不但可以快速、可靠地獲取Web應用頁面,而且可以隨時能夠交互和使用其內容和組件。

目前,以Spotify、Slack、以及Uber為首的明星公司,正在使用著由PWA開發的應用程序。

PWA通常擁有一套通用的架構規則,并且通過包含如下屬性,以保證應用的正常運行:

1. Service Worker

Service Worker可以通過介入頁面導航、以及用戶請求,來輕松地在PWA中交付出各種內容。由于緩存API可以存儲針對用戶離線請求的各種響應,因此它們能夠確保應用程序,即便處于沒有網絡連接的狀態下,也可以加載相關的緩存數據。

而通過使用promise對象,Service Worker可以根據用戶的最終請求(同樣即便處于離線狀態),交付出已經下載的內容。也就是說,Service Worker使得PWA具有非阻塞性。

2. 安全的上下文

Service Worker需要安全的連接通道(例如HTTPS),以確保所交付內容的機密性。當您發送請求時,Service Worker會在PWA和瀏覽器之間,通過建立一個安全通信,來作為安全的上下文(Secure Context),以防止PWA受到中間人的攻擊(MITM),而產生泄密事件。

3. Web應用的清單文件

作為一個JSON文件,Web清單可以通過定義PWA的基本特征,來詳細指明訪問、發現和使用PWA內容的各項先決條件。該文件通常包括應用程序的名稱、其URL、及其組件。此外,清單文件還會包含將Web應用程序,轉換為可安裝的應用,所需要的各項信息。

PWA和SPA之間有何相似之處?

雖然PWA和SPA的后臺邏輯不同,但它們仍然有著一些共同點。畢竟,它們都旨在通過提供響應式的界面,來改善用戶對于網站服務的訪問速度和體驗。就普通用戶而言,他們無法從單純的界面和交互方式,來分辨這兩類技術網站。而且兩者都需要向用戶提供一個可訪問的URL。

SPA和PWA之間的主要區別

[[412464]]

PWA和SPA在功能上的差異,主要體現在如下方面:

單頁面應用的主要特點

  • 它們只能通過瀏覽器被訪問到。
  • 盡管并不推薦,但是用戶仍可以通過不安全的網絡連接(例如HTTP),以獲取服務。
  • 它們原則上并不需要服務支持人員。
  • 由于SPA并不帶有JSON清單文件,因此它們是可卸載的。
  • 顧名思義,它們被限制在單頁面上。
  • 一旦失去網絡,它們將無法被訪問到。

漸進式Web應用的主要特點

  • 由于具有可安裝性,因此用戶可以通過瀏覽器訪問它們。
  • 所有PWA都需要Service Worker,并且它們必須通過安全的網絡連接(如HTTPS),來傳輸請求。
  • 其響應會被緩存,并通過promise對象進行傳遞。
  • 即使在沒有網絡連接的情況下,它們也可以被訪問到。
  • 它們的整體速度比SPA更快。
  • 由于帶有一個清單文件,因此它們具有可下載、可安裝、以及易于被訪問等特性。
  • PWA可能并非只有一個頁面。

如何根據交付需求選用SPA和PWA

總的說來,PWA的采用不但改善了一般用戶瀏覽網站的體驗,而且降低了企業級應用程序的跳轉頻率,進而為企業增加營收。另一方面,SPA則使得新媒體應用煥然一新,人們不但可以輕松地通過網絡實現彼此交互,而且不會遇到頁面加載緩慢等各種窘境。因此,您和您的團隊需要根據實際交付需求,為即將構建的應用服務,從中選擇合適的技術。

原文標題:What Are Single-Page Applications and Progressive Web Apps?,作者: IDOWU OMISOLA

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

責任編輯:華軒 來源: 51CTO
相關推薦

2023-09-28 07:34:33

2022-05-09 17:33:23

PWA漸進式Web應用程序離線優先

2014-12-16 13:51:55

華為eSpace UC統一通信

2021-02-02 10:22:48

Web應用程序架構

2017-11-20 17:40:52

谷歌web程序員

2021-01-13 13:49:29

漸進式網頁應用應用程序開發

2019-03-13 09:00:00

Web應用SPAJavaScript

2020-03-06 09:21:28

PWA原生應用Web

2012-12-24 09:55:24

Web應用云計算

2023-04-11 07:59:56

Kruise漸進式交付

2022-04-30 09:15:14

Edge瀏覽器微軟

2023-12-19 13:16:41

2022-08-22 10:40:40

Kubernete部署分析運行

2024-11-04 16:04:06

2021-09-18 05:36:41

Windows 11操作系統微軟

2010-04-27 13:41:42

云計算

2022-02-07 10:37:20

Vue UI組件庫框架

2021-04-05 18:50:53

谷歌Chrome瀏覽器

2021-01-27 07:48:14

微軟Edge瀏覽器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩中文字幕在线观看视频 | 国产成人精品免高潮在线观看 | 欧美国产免费 | 国产清纯白嫩初高生在线播放视频 | 亚洲高清在线观看 | 国产福利在线播放麻豆 | 国产成人精品一区二 | 青青久在线视频 | 亚洲日韩中文字幕一区 | 午夜综合 | 欧美日韩在线一区二区 | 久久久久免费精品国产 | 日韩av免费在线观看 | 欧美日韩在线一区二区 | 久久国产精品视频 | 国产成人精品一区二区在线 | 日本特黄a级高清免费大片 特黄色一级毛片 | 91精品国产色综合久久不卡蜜臀 | 国产一级一片免费播放 | 四虎影院在线观看av | 亚洲精品一区在线 | 久久av资源网 | 成年人网站国产 | 欧美日韩1区2区3区 欧美久久一区 | 久久精品毛片 | 国产91一区| 国产黄色大片 | 国产欧美综合在线 | 永久精品 | 亚洲精品在线看 | 久久r免费视频 | 欧美精品99 | 成人一区二区三区在线观看 | 在线中文字幕日韩 | 99久久久久| 欧美色性| 日韩高清国产一区在线 | 羞羞视频在线观看 | 免费视频二区 | 91.色| 最新中文字幕在线 |