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