1. 程式人生 > 其它 >SAP Spartacus - Progressive Web Applications,漸進式 Web 應用程式

SAP Spartacus - Progressive Web Applications,漸進式 Web 應用程式

原文

Spartacus 是一種基於 Angular 的 JavaScript 解決方案,主要在瀏覽器中執行。它是漸進式 Web 應用程式 (PWA) 之一,反過來又代表了響應式網站和應用程式的共生關係。這究竟是什麼意思,SAP Spartacus 的優缺點是什麼?

漸進式 Web 應用程式 (PWA)、本機應用程式和標準瀏覽器訪問之間有什麼區別?各自的優缺點是什麼?

讓我們從通常的訪問方法開始——“正常訪問”伺服器通過瀏覽器呈現的 HTML 頁面:如果瀏覽器查詢一個頁面,伺服器會向相應的 HTML 頁面提供任何樣式表(CSS)和 JavaScript。接收到內容後,瀏覽器會顯示完整的頁面並執行任何 JavaScript。頁面內的任何導航都會導致所有內容重新載入。

本機應用程式從根本上不同於網頁。它們通常使用依賴於裝置的框架(iOS 的 Android 或 Swift)來實現,並以終端使用者裝置上的作業系統為基礎。應用程式通常通過 API 介面與後端通訊,以在其記憶體中重新載入和儲存資料。

對於客戶而言,原生應用程式的實現意味著除了網站之外,還必須為裝置開發單獨的應用程式。這意味著不能使用相同的程式碼。但是,本機應用程式為使用者提供了移動裝置上的最佳使用者體驗。它們可以很好地離線構建,並提供對裝置功能的完全訪問,例如 GPS、相機等。

另一方面,單頁應用程式 (SPA) 或其擴充套件 (PWA) 仍然是網頁。與通常的訪問不同的是,該頁面實際上僅由 JavaScript 組成,並且——顧名思義——由單個 HTML 頁面組成。

因此,當瀏覽器第一次請求時,伺服器總是提供相同的頁面。通常更廣泛的 JavaScript 然後表示內容並動態交換頁面上的元素。也就是說:之後伺服器只加載所需的資料——取決於哪個 URL 以及使用者請求的資料。伺服器已經查詢過的任何內容都在本地快取,並在需要再次使用時出現。

這樣的應用程式讓使用者感覺更加流暢,因為它不會重新載入頁面。此外,可以非常具體地控制必須載入哪些資料。 PWA 通常還可以訪問各種裝置功能。然而,JavaScript 的大量使用對搜尋引擎和舊裝置來說是一個障礙。因此,經常使用伺服器端渲染:將 JavaScript 在伺服器上轉換為 HTML,並與通常的訪問方法一起使用。然而,一旦頁面被載入,所有訪問都發生而無需重新載入頁面。

還必須首先由商店客戶安裝 PWA。與無需通過標準瀏覽器的應用程式即可訪問的電子商店相比,這不是一個額外的障礙嗎?作為客戶,我會覺得這更方便。

PWA 主要是一個網站,不需要安裝。但是,它可以像應用程式一樣儲存為裝置上的圖示。由於其類似網站的性質,與經典應用程式不同,它不需要更新。

通過本機應用程式訪問現在正在逐步淘汰,不是嗎?

這取決於相關的應用程式。但是,對於許多公司而言,開發額外的原生應用程式(適用於 Android、iOS、Windows 和各種裝置版本)會帶來過多的財務和組織負擔。

PWA 對 SAP Commerce 企業客戶的具體好處是什麼?

SAP 商務系統是無頭操作的,便於從其他系統訪問。使用 PWA,可以非常具體地載入內容,這也可以讓 Google 更好地評估效能。網站和裝置只需要一個應用程式。此外,使用更新的前端框架,增加了對員工的吸引力。

PWA 對最終客戶有什麼好處?

PWA 對最終客戶的好處是顯而易見的:更流暢、更快速的使用者體驗,並且根據實現,可以更好地適應介面以適應裝置的大小。

從加速器遷移到 PWA 的成本有多高?我應該預計多少時間和成本?

這變化很大,取決於初始情況。但是,所需的工作並不取決於部件的數量,而是取決於現有的程式碼結構和頁面結構及其複雜性。

Angular 有多安全?

在 PWA、SPA 和現代框架中,應用與傳統網站相同的安全方面。但是,Angular 和其他框架提供的功能可以更輕鬆地實現這些方面。還必須確保伺服器上的安全性 - 並且無需在客戶端中儲存敏感資料。

Spartacus 對 SAP Commerce 客戶意味著什麼?

由於 PWA(即 Spartacus)的複雜性要高得多,它需要不同且更深入的 JavaScript 知識和最先進的前端框架。是否需要伺服器端渲染並且 SAP Commerce 是否在本地執行?然後,例如,需要額外的基礎設施以及定製的開發和部署流程。

這對我的升級策略意味著什麼?新的發展是否應該與 Spartacus 一起實施?

在我看來,你應該考慮用 Spartacus 來代替。但是,根據框架條件和要求,可能需要採取不同的路徑。

SAP Spartacus 相對年輕,有幾個方面可能已經以過於簡陋的方式解決了。必須考慮諸如伺服器端渲染之類的事情。特別是如果遷移到雲無法(還)進行。如果您將解決方案靠近加速器或標準,則切換到 Spartacus 可能是有意義的。

過渡到 SAP Spartacus 對我的組織意味著什麼?

Spartacus 基於 PWA(漸進式 Web 應用程式)的原理和 Angular 技術。許多公司使用基於 jQuery 或類似的相對簡單的 JavaScript 在加速器中工作。 PWA 代表著複雜性的顯著增加,因為它還具有經典的應用程式元素,例如路由、安全性、永續性和非同步性。因此前端開發人員需要更好的 JavaScript 和應用程式開發技能。

SAP Commerce (Hybris) 的開發過程和介面也不同,需要根據程式碼質量進行重構。如果您想在本地環境中執行 Spartacus,則必須根據您的要求實施伺服器端渲染和所需的基礎架構。這同樣適用於相關的部署過程。 SAP 已經在雲中為此提供了支援。