产品前端架构

前后端分离,是架构微服务化的必然产物。


前后端交互  < 网络基础概念URL )  /    计算机网络( Http、Https、Ajax、WebSocket) >


它的出现,实现了前后端之间的解耦,使得前后端开发人员可以更加专注、高效的做自己擅长的事情。



  • 需求分析:产品经理 _ 分析应用程序需要实现哪些功能、应对哪些业务,形成产品需求文档( “讲故事” )
    • 交互原型:然后,根据需求分析的结果,规划应用程序的原型,可以理解为“打草稿”
  • UI 设计:UI 设计师 _ 将“草稿”转化为设计稿,并提供相应的产物( 设计稿  or  静态网页 )
  • 技术选型:根据业务场景选择对应的技术栈( 前端 / 后端 / 数据库 )        // 考虑因素:人、业务
    • 数据库设计:根据需求和原型,分析有哪些类型的数据需要存储,从而得到所需的数据库的基本结构

Vue2Vue3 ) /    React    —    微前端( 基于 qiankun )

微信公众号    -    微信小程序    -    移动App

Node.js    /    ...    /    MySQL    /    Redis    /    MongoDB

canvas   -   Web3D( WebGL  /  Threejs / 3D建模 ) -   数据可视化echarts  /  D3


开发实践:前端工程化

接口设计 < Restful API >        |        版本管理 < svn > < git >


  • 项目构建 _ 俗称搭架构:制定项目约束规范、创建项目基本结构、编写基础的公共模块代码和组织代码

Vue CLI    _    webpack    _    babel    _    ES6 模块化

ESLint  /  Prettier    -    TypeScript

 

  • 迭代开发:开发者的日常,基于项目架构( 条条框框 )完成各项业务功能

Mock 数据( Rap2    /    mock.js    /    自己写 Nodejs 服务 )

Swagger    /    Postman

 

  • 集中测试:将所有功能模块整合在一起,集中测试业务功能是否有 bug、是否满足需求

前端性能优化    -    单元测试    -    JMeter

 

  • ( 自动化 )部署上线:从开发环境向生产环境转换,即,把应用程序部署到服务器上

Linux < 云服务器 >    -    Docker < 前端运维 >

持续集成与持续部署Gitlab  &  Jenkins  —  Nginx  /  Traefik )