Modern.js 名词解释

仔细看了遍《Modern.js: Hello World》,整理了下之前没理解的名词。

  1. 应用/产品开发者,全栈开发
  2. MWA,Modern Web Application,既指 Modern.js 开发的应用,又指现代 Web 应用
  3. Frontend Focused,一种应用研发方式,聚焦前端,更贴近用户,其他研发方式比如 Product Focused、Technology Focused, Business Model Focused 等
  4. 一体化,在前端项目中写 BFF 等,增加 api 目录,存储 BFF 函数
  5. 差异化分发,产出两套产物,现代浏览器用 es6,传统浏览器用 es5,基于 User Agent 区分输出
  6. 以客户端为中心的 Web 开发,建立客户端思维,把在服务端做的事挪到客户端做,比如基于 cookie 的权限校验
  7. MEAN/MERN,每个字母分别表示 MongoDB、Express、Angular/React、Node.js,特定时期的前端项目类型
  8. 老一代 JAMStack,JAM 分别是 J(CSR)、A(BFF) 和 M(Static Web Hosting),产出静态文件、依赖外部服务,无法 SSR,不足以承担完整的应用开发,基于 CRA 的项目多数属于此类(老一代 JAMStack 好像不叫 JAMStack)
  9. 新一代 JAMStack,老一代 JAMStack 的改进版,支持 SSR,BFF API 包含在项目中,产物对 Serverless 平台友好
  10. SPR,Serverless Pre-Rendering,有缓存机制的 SSR
  11. SSG,Static Site Generation,在编译时运行的 SSR
  12. 前端三剑客,从 Dreamweaver、Fireworks、Flash 到 HTML、CSS、JS 到 View Framework、Node.js CLI、Node.js Framework,再到 Meta Framework、Frontend Paas、Low Code,目前是第四代
  13. Meta Framework,元框架,包含对 View Framework、Node.js Cli 和 Node.js Framework 的整合,「元」我理解这里是主要是解决插件的能力,可以适配不同的垂直场景(大家都爱用 Meta,cc 小扎)
  14. 基于「前端技术」的成熟 GUI 软件研发体系,DX 优先,然后充分抽象(没太理解这个推导逻辑)
  15. 充分抽象,指让库和工具用框架的语言输出,可能是接口、配置、约定式的文件或目录
  16. 低码化,包含两个方向,一是和研发工具结合,实现项目配置的 GUI 可视化操作,二是低码搭建
  17. 动静一体,静指 CSR、动指 SSR、SPR、SSG,一体指可以混用,比如 SSR 混 CSR,CSR 混 SSR
  18. 三位一体,通过增删目录在 JAMstack、Node.js App、纯 REST API 项目之间转换
  19. Ducks Modular Redux,把 Reducer、Action、Effect 等模块化的一种方法
  20. 微生成器,小型脚手架 + 项目功能的开启和关闭
  21. 产品级的 Server,提供生产环境运行项目的方式,比如自动 Polyfill 服务
  22. Visual Testing,Storybook