我所理解的前端

259 阅读4分钟

前端是什么?

我所理解的前端就是你在浏览器,手机,各种平台,用户所有的操作界面都是前端写出来的,负责数据的渲染,用户的操作体验设计,总的来说,用户看到的东西,都是前端用代码写出来的。

前端后端的区别?

前端:针对浏览器开发,代码在浏览器中运行 后端:针对服务器开发,代码在服务器中运行

后端主要是数据的处理,服务器里面数据的增删改查,前端负责数据的展示和用户对数据如何操作

前端的构成?

前端的代码在浏览器中运行,在浏览器中运行的代码无外乎就三种,HTML,CSS,JS。

HTML(超文本标记语言):就是用户界面的骨架,用户界面的每个元素就是html构成的。

CSS(层叠样式表):就是修饰html的,给html元素加上各种样式,颜色,字体,大小,间距,以及各种动画效果,主要是修饰性。

JS(JavaScript网页脚本语言):是一种具有函数优先的轻量型,解释型编程语言,随着浏览器的出现而问世,是一门计算机语言,刚开始主要是做页面的数据校验,现在页面的构建,逻辑的处理都是使用js,是前端的灵魂。

前端发展历史?

js作为前端的灵魂所在,作为一门计算机语言,他是怎么诞生,又是怎么发展的呢?

1990年欧洲核子研究所发明www 万维网 当时的网页只能在操作系统的终端浏览,只能使用命令行操作 1992年底,美国超级电脑中心,开发出了第一个浏览器,Mosaic 网景浏览器的前身 1995年,Netscape和sun公司,发明网页脚本行语言 js javaScript和java并没有什么关系,只是当时借助java的声势发展 1997年,ECMA规定了浏览器语言的标准EcmaScript 就是javaScript 1999年,js3.0发布,成为全行业的标准,奠定了js的基础,我们现在开发和学习的就是js3.0 2000年,ECMA4.0开始开发,但是太激进没有发布, 2015年6月,ECMA6.0正式发布,被称为ES6 集过去十五年的精华于一身

web开发技术演进

web1.0静态网页纯内容展示 web2.0 动态网页,富交互,前端数据处理

Ajax

2005年,Ajax出现,前后端分离,通过js以XML格式,来回传内容,达到异步更新网页内容的技术 进入web2.0时代

MVC(软件架构模式)

M(model):模型》数据模型 V(view):视图》用户界面 C(controller):控制器》业务逻辑

MVC就是通过用户界面发送指令给控制器,控制器改变数据模型,然后数据模型把数据反馈给用户界面,就是 V=》C=》M=》V 最核心的一点就是所有的数据通信都是单向的

MVVM(软件架构模式)

M(model):数据模型 V(view):用户界面 VM(ViewModel):页面和数据的双向绑定 MVVM从MVC演变而来,只是去掉了Controller控制器,增加了双向绑定,并且核心就是数据和页面的双向绑定,代表框架就是Angular vue 但是react并不是MVVM框架的思想

SPA (single-page application 单页面应用)

所有的页面只在第一次请求页面的时候加载出来,后面的更新数据和页面,只通过Ajax请求获取数据而已,Ajax也可以返回后端拼接好的HTML,CSS,JS组合成为新的页面

优点: 1:页面切换速度快 2:减少服务器的渲染和逻辑上的压力 3:只需要后端提供api接口

缺点 1:首屏加载慢, 2:不能seo搜索优化

SSR(server side render 服务端渲染)

服务端完成页面的HTML的拼接技术,然后发送给浏览器,为其绑定状态和事件,目前常用的框架next.js (基于react)nuxt.js(基于vue)

优点: 1:可以将关键词渲染到HTML结构中。 2:首屏速度更快。

缺点:

  1. 常用的浏览器API可能不能用,比如window,doucument,alert,显示没有这些方法
  2. 可能会有某些原因,导致服务器想要渲染的数据和浏览器的渲染数据不一样

node(服务器上的js运行环境)

基于谷歌浏览器v8引擎的服务器js运行环境

重点理解

从输入url浏览器地址,到完成浏览器的渲染,中间发生了什么?

  • 1:浏览器的地址输入URL并且回车。
  • 2:浏览器查找当前的URL是否有缓存,并且比较是否过期。
  • 3:DNS解析URL对应的IP。
  • 4:根据IP建立TCP连接三次握手。
  • 5:发送http请求。
  • 6:服务器处理请求,浏览器接受http响应。
  • 7:浏览器解析并渲染页面。
  • 8:关闭TCP连接(四次挥手)

参考文章:前端简史

参考文章:SPA和SSR区别

浏览器的地址发生了啥?