vue-前端渲染和后端渲染的区别
说前端渲染和后端渲染前,渲染这个概念可以理解成:将html+css代码进⾏解析,变成页⾯上⾁眼看见的图形界⾯;其实渲染整个过程还是挺复杂,只要上述简单理解即可。
要开始说前端渲染和后端渲染了,那就得从早期的⽹页开发到⽬前流⾏的开发阶段的演变过程说起,主要分为3个阶段:
1. 后端时代(前后端不分离)
2. 前后端分离时代
3. 单页⾯富应⽤时代
⼀. 后端时代
相信后的⼩伙伴还学过JSP呢,现在想想不知道多久没碰这东西了。但在早期呢确实是⽤JSP做视图的展⽰的,看下图:
看完这个图后,我再解释⼀下。在早期页⾯的⽣成,他是通过模板引擎来做到的,最典型的就是JSP了。
页⾯上的动态数据获取是由服务端Java来实现的,最终在服务端渲染出了html,将其返回给页⾯。因此这种⽅式也叫做后端渲染,html的最终⽣成是在服务端,浏览器只是拿到这个页⾯⽽已。
那什么是后端路由呢?我们拿springmvc的流程来举例⼦,后端路由相当是HandlerMapping处理器映射器,请求URL过来,由映射器进⾏正则匹配然后到处理器
⼆.前后端分离时代
在后端时代还在⽤JSP时,那时候弊端太多了,典型的是耦合度太⾼,后端⼈员任务重,前后端⼈员沟通不⽅便...
前后端分离 出现后,前后端开发进⾏⼀定的解耦,仅仅是降低耦合度,并不是0耦合。那是因为出现Ajax技术,才实现了前后端分离的萌芽,画个图吧:
说这幅图前,还普及⼀下⼀个知识,现在前后都分离常见有两种模式:
1. 前端代码和后端代码都在同⼀个项⽬⽬录⾥⾯,该项⽬部署到⼀台服务器上
2. 前端代码和后端代码是在不同的项⽬⽬录⾥⾯,两个项⽬是分别独⽴运⾏的,互不相关,可部署在不同的服务器⾥。⽐如上⾯画的这个图就是属于该情况。⼀般项⽬的前端代码放在静态资源服务器上,后端代码放在API服务器或者说Web服务器上
说完这个⼩常识后,再来讲下这幅图。浏览器起初拿到的页⾯是不完整的,是没有数据渲染过的,因此还得借助ajax去请求api服务器获取数据,最终渲染出真正的⼀个html页⾯。浏览器ajax请求获取数据后,并浏览器⾃⾝渲染的过程,就叫做前端渲染,因为这个⼯作呢不再是由服务端来做了,已经交付给浏览器负责,说⽩点即JavaSript渲染,⽽不再是Java了
三.单页⾯富应⽤时代
单页⾯富应⽤在vue中的体现可以说是淋漓尽致了。但不说vue啊,说什么是单页⾯富应⽤?
单页⾯富应⽤是说在静态资源服务器上,只有⼀个html页⾯,⼀套css代码,⼀套JS代码;浏览器去拿到上述的全部资源,进⾏部分展⽰和使⽤,如果通过请求具体的其他URL,在同⼀个页⾯中进⾏另有⼀部分的展⽰和使⽤。
可能说得有点抽象,也不画图了,因为这个没啥可画的。还是细说⼀下。
1. 浏览器发送请求到静态资源服务器
2. 静态服务器返回⼀个html页⾯,⼀套css代码,⼀套JS代码,即全部的资源前端跟后端哪个就业难
3. 浏览器拿到全部的资源后,并不是全部使⽤上的。⽐如访问⾸页,那就从全部的资源中展⽰⾸页相
关的html+css+js,当去访问订单,那就在同⼀个页⾯⾥⾯不刷新的情况下,展⽰订单相关的html+css+js
我们发现同⼀个页⾯⾥⾯,没有再次向静态服务器发送页⾯请求的情况下,做到了页⾯的变化。这取决于两点:
》开始时已经把全部资源获取了
》前端路由。正是因为有前端路由,我们才可以通过触发某个事件,在同⼀个页⾯内进⾏局部的页⾯变化。如果学过vue的话都知道,实际上是同⼀个页⾯⾥单单切换了其中的组件
单页⾯富应⽤有⼀个最⼤的好处是:只请求⼀次静态服务器,不需要多次请求页⾯了。不过对于前端⼈员来讲呢,实际上真不是⼀个html页⾯,本来写多少页⾯还是多少
做个总结:单页⾯富应⽤ 是在 前后端分离基本基础上,加了前端路由这个东西。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论