开源项目 Spartacus Storefront 随 Angular 版本升级而进行的迭代历史
Spartacus采用API的方式同Commerce交互,这使得Spartacus可以同Commerce分开部署,分别进行升级,比如目前已经发布的Spartacus 3.0,支持从Commerce 1905开始及其之后的所有版本。
Spartacus采用Angular开发,编译之后生成JavaScript代码,作为其运行时语言。这样一来,使用Spartacus的二次开发人员,不再需要像过去开发Accelerator那样,不再需要掌握前端JSP和后端Java的全栈开发技术栈。
Accelerator的可扩展性,是通过牺牲可升级性为代价换来的。同Accelerator只有源代码级别的修改这一单一的扩展方式相比,Spartacus实现扩展性的手段更加多元化。
(1) Spartacus的模块之一,ConfigModule,将业务逻辑和页面布局以及样式,通过配置的方式暴露出来。二次开发人员通过调整配置,可以更改Spartacus默认的行为和页面布局以及样式。
(2) Spartacus的页面布局由不同的Angular组件组成,这些Angular组件同Commerce的CMS组件具有一一对应关系。Spartacus允许二次开发人员增强甚至开发新的Angular组件,去替换Spartacus发布时使用的默认组件,以此来实现客户的页面定制化需求。
(3) 借助Angular强大的依赖注入机制,Spartacus允许开发人员像Commerce后台开发人员使用Java Spring框架那样,开发自己的service实现。通过Angular的Dependency Injection机制,注入自开发的service,从而达到定制化Spartacus的运行流程和逻辑的目的。
前面说到,Spartacus是基于现代Web开发技术打造而成的一个Storefront开发框架。因此,涉及到的技术栈都是目前前端开发普遍使用的一些比较成熟的技术。
Angular:由Google维护的一款web前端开发框架,借鉴了大量有十几二十年历史的成熟的后端开发理念,比如依赖注入、接口、注解等等,这些理念在开发 需要持续迭代和维护的大规模企业级前端应用时,显得特别有优势。Angular同时也是一款与时俱进的框架,比如对TypeScript的支持,跟RxJS的深度整合,对Progressive Web Application即 渐进式网页应用理念 第一时间的支持等等。
Spartacus 1.0基于Angular 9,而目前最新的Spartacus 3.0, 基于Angular 10. 上个月Google发布了最新的Angular 11,目前我们团队的架构师,正在评估Spartacus支持Angular 11的技术可行性。
- 点赞
- 收藏
- 关注作者
评论(0)