SAP Spartacus使用到的技术栈
前面說到,Spartacus是基于現代Web開發技術打造而成的一個Storefront開發框架,因此涉及到的技術棧都是目前前端開發普遍使用的一些比較成熟的技術。
-
Angular:由Google維護的一款web前端開發框架,采用了大量有十幾二十年歷史的成熟技術,比如依賴注入、接口、注解等等,同時也是一款與時俱進的框架,比如對TypeScript的支持,跟RxJS的深度整合,對PWA第一時間的支持等等。Spartacus1.0基于Angular 9.
-
TypeScript: Angular的開發語言是TypeScript,ES5, ES6是JavaScript發展過程中出現的兩個版本,而TypeScript不僅是ES6的超集,而且是一門靜態類型語言。rollbar 是一個異常監控平臺,2018 年發布了一份前端項目中Top10的錯誤類型報告,其中前7位都和類型錯誤有關。而TypeScript的編譯器類型檢查就能避免不少的類型錯誤。TypeScript通過強類型接口,在服務實現者和服務調用者之間創建了一種契約,這在像Spartacus這種開發者來自世界各地不同公司和組織的開源項目中非常重要。
-
Rxjs: Reactive Extension JavaScript,是一種響應式編程實踐,Angular是RxJS這個庫的重度使用者。Rxjs的核心是Observable(可觀察對象),封裝了Spartacus從Commerce讀取業務數據的異步操作。通過Rxjs提供的施加在可觀察對象上的各種操作符,Spartacus可以靈活地控制異步讀取Commerce業務數據的時序。
-
Ngrx: Angular里一種優雅的管理應用狀態的庫。Angular和其他主流的前端框架一樣遵循組件化開發的標準,組件之間通信基本都是單向數據流:父組件通過屬性綁定把數據傳遞給子組件,子組件如果想要修改傳入的數據,必須通過事件回調同父組件通信。NgRx作為第三方,能夠統一管理組件的狀態,降低了Spartacus這類復雜前端應用組件間狀態管理的復雜度和出錯的可能。
-
SASS:CSS的擴展語言,在CSS基礎上增添了定義變量,支持代碼塊嵌套,繼承,命名空間,父級引用等,大大提高了css的開發效率??梢哉fSpartacus能支持從頁面整體顏色風格到控件外觀細粒度的微調,sass功不可沒。
-
Jasmine:前端單元測試框架。
-
Cypress:端到端自動化測試框架。
我們通過完善的單元測試和端到端自動化測試,保障了Spartacus這種開源項目的代碼質量。
最后,我們開發出的Spartacus,經過打包后,以庫的形式發布到npmjs.com上去。
總結
以上是生活随笔為你收集整理的SAP Spartacus使用到的技术栈的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 浮窗开发之窗口层级
- 下一篇: Spartacus同SAP Commer