如果区分项目:
- 单页应用: 所有内容有 js 生成, 数据依靠 js 发请求获取
- 所有内容都在前端生成
- JS 承担更多的业务逻辑, 后端只提供 API
- 路由也有前端承担
- 类库
- BACKBONG.JS
- React
- Vue
- Angular
- 架构工具
- npm
- bower: 用的不太多了
- jspm
- 模块化工具
- webpack
- rollup
- browserify
- 静态文件: 可以直接在 JS 代码中进行引用, 并且交由模块化工具转化成线上可用的静态资源, 并且可以制定转化过程使用不同的需求场景
- 多页应用: 创建不同的页面, 每个页面的跳转都要发起新的请求
- 多有内容都由服务端用模板生成
- 通常前端做好后, 后端改为模板样式(如 jsp)
- 每次页面跳转都要经过服务端
- js 更多只是做做动画
- 常用类库
- jQuery: 对原生 DOM API 做了封装/升级, 并考虑了浏览器兼容的问题
- mootools: 和 jQuery 类似, 修改了原生 js 的原型, 扩展封装了更多的类
- YUI: 老牌框架, 现在用的很少了
- 架构工具
- 无特定前端工具, 跟后端配合
- GRUNT: 硬盘读写效率低
- GULP
- 模块化工具:
- seajs
- requirejs
- 多有内容都由服务端用模板生成
- 其他考虑因素
- 浏览器兼容性
- toB( business) 还是 toC(customer)
- 移动端还是 PC 端
- 分辨率
- 流量
- 网速等