软件设计分层

◇应用在整个系统内,如与后台服务如何通信,与第三方系统如何集成。

◇设计前端首要条件:了解前端系统与其他系统之间的关系。

◇ 关系包括:业务关系和协作机制。

设计后端:只需要规定与后台数据传递机制。

包括:api设计规则,访问授权的一个开放标准(OAuth)跳转token的验证,数据传递cookie等

前后端设计思想

◇前端与后端分离架构设计

◇前后端分离架构其实是如何实施技术决策,用户鉴权、api接口管理和设计、API文档管理、Mock的使用、BFF(服务于前端的后端,nodejs),是否需要服务端渲染等。

BFF,即 Backend For Frontend(服务于前端的后端),也就是服务器设计 API 时会考虑前端的使用,并在服务端直接进行业务逻辑的处理,又称为用户体验适配器。BFF 只是一种逻辑分层,而非一种技术,虽然 BFF 是一个新名词,但它的理念由来已久。

微前端

◇在一个系统内微前端是应用间的架构方案。

◇在多个应用之间,微前端则是一种系统间架构方案。

◇微前端是将多个前端应用以某种形式结合在一起进行应用。

◇主要解决问题:解决单体应用在一个相对长的时间的跨度下,由于参与人员、团队的增多、变迁,从一个普通应用演变成一个巨石应用后带来的不可维护问题。

◇单实例:即同一时刻,只有一个子应用被展示,子应用具备一个完整的使命周期。

◇ 多实例:通常基于url的变化来做子应用的切换。同一时刻可展示多个子应用。

通常使用web Components 方案来做子应用封装,子应用更像是一个业务组件而不是应用。

应用级架构

应用级架构可以看做是系统级架构的细化

单个应用与其他外部用用的关系,微服务架构下多个应用的协作,数据交换等。

应用形式:

◇脚手架

◇模式库

◇设计系统

模块级架构

◇开始编写业务代码之前进行设计(迭代)

代码级架构

◇规范与原则

实操

◇开发流程

◇代码质量以及改善

◇规范而非默契

开发注意事项:

◇可维护性、可扩展性

◇追求简单,去除抽象

你可能感兴趣的:(微前端,javascript)