b站codesheep说的前后端分离
不能只从技术栈去解释什么是前后端分离。
例如回答:某样技术,某个框架。什么Ajax异步请求,vue react 组件化框架。接口规范,API接口数据的约定。
1.从源头上说起,如何产生
前端由后端兼顾。例如JSP就是一个典型的前后端,耦合在一起的 ,套模板。
页面不复杂,到后来信息多,前端页面复杂起来。
2.高内聚,低耦合。
而vue react 是解耦具体的实现。
前后端分离是工程化,项目管理的问题。
3.技术层面
前端工程化框架,大家都遵守一套体系去进行约束性的开发。代码的复用。例如一些UI框架。
工具化,包管理器。
可演进,可迭代
4.实施
设计,开发,测试,部署。
设计定接口
独立开发,模拟数据
一套接口,多端使用
开发
前端:前端页面,跳转,展示,输入,传参,数据响应。
后端:保证数据接口的提供,数据格式,检验,异常情况,数据一致性的问题还有一些权限问题。
部署上线
前端塞到后端的项目里面,实际上是后端部署。
持续发布Jenkins,一键部署
前端也应该有。
问题来了:
- 什么是JSP
- 就是模板引擎,使用java语言编程,写在HTML页面?
- 正解:它使用JSP标签在HTML网页中插入Java代码。
- 前端一键部署,持续发布
视频中的自动化部署,就是本地推送到远程代码仓库(第三方github,由GitHub与服务器链接,服务器拉取代码)这个过程
构建打包依旧是由本地操作。
打包构建+部署 是两个步骤。
而这个博客和Netflix 的自动化部署是,充当了服务器+GitHub的角色。
(拉GitHub代码,包括代码发生变化时,到它哪里部署)
写的比较好的内容
1)SPA项目。这类项目中不存在HTML模板的概念,所有的HTML实体内容均由JavaScript在浏览器下生成。所以SPA项目中可以将html文件作为静态文件处理。
2)HTML模板由服务器端部署的项目。这类项目最终的HTML模板需要与服务器端代码一同打包部署。由于静态文件必须由HTML引入,为了避免“套模板”,开发阶段前端工程师直接编写HTML模板更有利于快速开发和问题定位。
3)大前端项目。这类项目中前端工程师负责与客户端相关的所有文件,包括静态文件与HTML模板,这是最理想的模式。