Web應用程序的類型:從靜態Web頁面到漸進式Web應用程序

2020-05-04 11:26:01分類:Web應用開發1515

  在本文中,我們將介紹各種類型的Web應用程序,以幫助您確定哪種架構最適合您的下一個項目。

  隨著Web應用程序開發技術的發展,在線體驗的標准和要求也在不斷發展。視覺呈現的變化現在是最明確的,但由于Web架構的轉變,它們才成爲可能。

  跟上各種類型的Web應用程序的所有縮寫可能非常困難。畢竟,網絡應用程序的進步也不是一個簡單的過程:新的類型和方法不一定會與現有的類型和方法産生很大的差異,而是隨著時間的推移穩步引起改進。

  盡管如此,遊戲的名稱通常會將選擇範圍縮小到適合個人業務需求的網絡應用類型。希望我們的分類可以幫助您做到這一點。如果您不確定所描述的應用類型的可能用例,請隨時參閱本文,深入研究企業Web應用,Web門戶和其他類型的Web應用的功能。

  靜態Web應用程序

  在技術實現方面,所有Web應用程序首先是靜態的或動態的。然而,雖然“動態”是一大群子類型,但“靜態”可以被視爲一種架構類型。

  “靜態”一詞來自這些網絡應用程序缺乏靈活性。靜態Web應用程序的頁面由服務器生成,幾乎沒有(沒有使用JavaScript代碼)交互性。通常,不存在個性化空間,任何可能的更改僅在完整頁面重新加載後生效。

  靜態網頁通常難以維護,並且它們發送和接收的過多數據會産生性能不佳的風險。毋庸置疑,它們並不適合移動環境。盡管如此,當共享非常簡潔的信息並且不需要交互時,靜態Web應用程序可以是實際操作選擇。


Web應用程序的類型:從靜態Web頁面到漸進式Web應用程序
 

  動態Web應用程序

  任何動態Web應用程序都基于框架 - 控制网页构建和便于维护的Web应用程序软件。这些Web应用程序在用户屏幕上显示的方式不是预先确定的,而是由应用程序逻辑在app的服务器端或客户端实现的动态形状。

  動態Web應用程序的工作方式不同,其用例决定了它们的开发方法和架构。

  多頁面應用程序(MPA)

  在多頁面Web應用程序中,邏輯幾乎完全在後端。這意味著,要使任何更改生效,來自客戶端的所有請求都將轉到服務器並返回。除了使用框架之外,這個原則幾乎與過去的靜態Web應用程序相同。

  然而,現在,MPA利用AJAX技術,無需完整頁面重新加載即可實現即時更改。如果設計爲響應式,此類網絡應用甚至可以適應移動環境。此外,由于用戶無法訪問邏輯,MPA非常安全,因此廣泛用于Web門戶和企業Web應用程序。

  富Internet應用程序(RIA)

  最初,RIA試圖克服浏覽器限制,並嚴重依賴客戶端插件,如Flash,Shockwave和Silverlight。由用戶安裝和定期維護,這些插件應該解釋Web應用程序頁面的一些高度交互的部分,或者有時,Web應用程序的核心。

  問題在于插件的漏洞以及它們造成的一些不便:如果插件有點過時,Web應用程序的某些部分,或者有時整個應用程序,都沒有機會正常運行。最終,在引入HTML5之後放棄了許多插件(當與JavaScript結合使用時,通常會在功能方面與Flash進行比較),因此RIA沒有保留其初始形式,並且大部分已經變爲其他類型的Web應用程序現在。

  JavaScript-Powered Web Apps

  隨著諸如Angular,React,Meteor和Ember等前端JavaScript框架的出現,Web應用程序的邏輯已經開始向客戶端轉移,從而允許比偶爾嵌入的AJAX更好的靈活性。客戶端邏輯已經開始接管服務器端處理用戶請求和呈現響應的責任。

  使用JavaScript框架創建的Web應用程序顯示出良好的性能,提供不同級別的用戶交互,並且是移動和搜索引擎優化的。此類Web應用程序廣泛用于各種行業,並用作電子商店,客戶端門戶和商業Web應用程序。

  單頁應用(SPA)

  由于邏輯的客戶端實現,SPA成功實現了他們的名字承諾:他們確實讓用戶可以從一個頁面自由地與Web應用程序進行交互。而且,由于請求和響應在少量數據中進行通信並且幾乎立即發生,因此交互更加快捷。

  通常,任何Web應用程序在成爲SPA後都可以顯著提高。然而,由于通用URL,單頁應用程序與SEO規則不太兼容,因此將此類型用于電子商務可能會適得其反。然而,社交網絡,在線視頻/音頻播放器和電子郵件服務通常會受益于此類Web應用程序及其敏捷性。

  漸進式網絡應用程序(PWA)

  有人说PWA首先是一个发达的SPA,虽然理论上并不一定如此,但实际上这一点仍然适用。问题在于,渐进式网络应用程序不是关于架构中的新原则,而是提高任何Web应用程序的性能和移动适应性的功能。通过HTTP / 2进行兑现,主屏幕安装和更好的数据传输是关键的增强功能。

  与SPA不同,MPA或静态网络应用程序根本无法充分利用所有这些功能; 就其本身而言,MPA和静态Web应用程序在性能方面落后于SPA。此外,PWA理想之一是改善移动Web体验并使其可用于Internet连接速度慢或不良的用户。事实上,即使是具有响应式设计的MPA也难以进行优化以至于“渐进式”。

  尾注

  除了富Internet应用程序之外,任何类型的Web应用程序都不再相关是错误的。无论任何Web应用程序类型的可能性如何,它们都非常适合特定的解決方案。这就是为什么Web应用程序类型的选择应该始终只是逐案处理的结果。

上一篇:下一篇: