2020-05-04 11:26:01分類:Web應用開發12283
在本文中,我們將介紹各種類型的Web應用程序,以幫助您確定哪種架構最適合您的下一個項目。
隨著Web應用程序開發技術的發展,在線體驗的標準和要求也在不斷發展。視覺呈現的變化現在是最明確的,但由于Web架構的轉變,它們才成為可能。
跟上各種類型的Web應用程序的所有縮寫可能非常困難。畢竟,網絡應用程序的進步也不是一個簡單的過程:新的類型和方法不一定會與現有的類型和方法產生很大的差異,而是隨著時間的推移穩步引起改進。
盡管如此,游戲的名稱通常會將選擇范圍縮小到適合個人業務需求的網絡應用類型。希望我們的分類可以幫助您做到這一點。如果您不確定所描述的應用類型的可能用例,請隨時參閱本文,深入研究企業Web應用,Web門戶和其他類型的Web應用的功能。
靜態Web應用程序
在技術實現方面,所有Web應用程序首先是靜態的或動態的。然而,雖然“動態”是一大群子類型,但“靜態”可以被視為一種架構類型。
“靜態”一詞來自這些網絡應用程序缺乏靈活性。靜態Web應用程序的頁面由服務器生成,幾乎沒有(沒有使用JavaScript代碼)交互性。通常,不存在個性化空間,任何可能的更改僅在完整頁面重新加載后生效。
靜態網頁通常難以維護,并且它們發送和接收的過多數據會產生性能不佳的風險。毋庸置疑,它們并不適合移動環境。盡管如此,當共享非常簡潔的信息并且不需要交互時,靜態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應用程序類型的選擇應該始終只是逐案處理的結果。