端到端应用
端到端的应用,指的是客户端(浏览器)和服务端(Web服务器)的应用,前台只是展示页面,处理数据、处理业务和页面的渲染都是由后台来完成。

端到端应用的特点
- 浏览器请求的地址都是由服务器来处理
- 使用模板技术,服务器动态语言(JSP、PHP、ASP…)代码和 HTML 代码混编
- 服务器返回的就是完整的可展示的 HTML 内容
- 每个页面独立的引入资源文件(JS、CSS、图片)
前后台分离应用
前后台分离,指的是前台来完成页面的渲染,后台只负责处理数据和业务。

前后台分离应用的特点
- 前台应用和后台应用可以分开部署
- 前台服务端不返回 HTML 页面内容,只返回一个入口或者启动页面
- 前台通过 XHR 请求 RESTFul API 取得数据,然后渲染页面
- 页面的切换使用虚拟路由技术,使用 history API 或者锚点实现;页面的的切换不会发生 reload
- NodeJS 构建、部署项目, 流行的前端框架:Angular、React、Vue
如何选择
端到端应用优缺点
- 学习成本相对较低
- 前台代码和后台代码混合在一起,开发人员需要同时学习后台和前台技术
- 每一个 URL 资源对应一个页面,导致项目结构复杂混乱
- 服务器压力相对较大,既要处理页面的渲染又要处理业务
前后台分离应用优缺点
- 分担后台开发人员的开发压力,专注于后台业务的开发
- 前台可以拉出单独的项目,专注于 UI 交互,按照软件周期交付
- 引入虚拟路由,前台也有 MVC 的概念,适合大型项目
- 前端有一套完整的技术栈,学习成本较大
选择建议
- 页面静态化,网站有 SEO 的需求场景,选端到端
- 业务系统、后台管理系统,选前后台分离