一、前端与后端的区别
1.1 历史
早期所谓程序开发大多基于桌面应用开发(CS模式),没有所谓的前端与后端之分。
后来随着Web的发展就有了面向用户并围绕着浏览器延伸称之谓前端,另外,负责逻辑校验、数据库等称之谓后端。
1.2 前端功能
综上所述,前端以浏览器为呈现对象,负责与用户直接交互,同时会做一些轻量级校验,如必填项、数据类型等,由于直接面对用户,所以也承担主要页面友好的责任。
二、前端三要素
HTML
用于呈现整体页面的结构,是一种标识语言。
CSS
用于呈现页面的外面表现,它是一种规范化的约束
JavaScript
用于处理页面的行为,它是一种脚本语言。
三、VUE涉及的周边技术功能说明
UI
页面组件技术,常见的有ElementUI
Babel
JS编译技术,解决浏览器的兼容性
WebPack
前端打包器
Axios
后端通信框架,用于前后端交互的介质,是AJAX的升级版。
四、为什么是VUE
为什么后端要学习前端?
大多数后端认为后端不需要学习前端,就像大多数前端认为前端不需要学习后端一样,而这些人始终认同前后端是要分离的,所以需要专业前端与专业后端来协作。
在我看来前后端分离(MVVM模式)是一个先进的开发理念,并不要求前后端需要两个不同职责的人协同完成。
我们专注是的结果,而结果考虑投入产出比,而绝非专注于技术本身,这就是程序员、架构师、项目经理的区别。
为什么选择前端选择VUE?
技术方面:
综合了Angular的模块化和React 虚拟DOM的优点。
生态方面:
由于VUE是中国人开发的,生态在国内相对完善。
选择VUE2还是VUE3?
因人而异,个人认为二者虽有区别,但区别不至于完全不同,所以我个人是以VUE3。(后面我会专门介绍VUE2升级到VUE3)
五、BS开发模式介绍
MVC(Model、View、Controller)
前后端不分离的时候产物,由后端控制前端页面跳转,使用Thymeleaf、Freemarker等模板引擎,显然比jsp要方便的多。适合周期短、功能轻、前后端一个人撸(快速交付,快速收钱为王道)
缺点:前后端在一起耦合度高、不支持虚拟DOM(同步通信)
MVVC(Model、View、ViewModel)
前后端口分离(这里指折是技术分离),采用模版式开发双向数据绑定(异步通信)
缺点:代码无法复用,需要双向校验(这个要特别注意,也就是说前端来的代码需要后端做二次校验)