pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:2826
发帖:230 篇
来自:保密
注册:2023-12-09 09:36:49
造访:2026-05-05 13:56:22
随着社会的发展,技术也在不断更新,由后端主导的web开发,不再受限于由后端主导,前端必须建立自己的web服务器,比如:nodejs,前端服务器,解决传参 收参,路由一系列问题,后端只需要将接口写好,前端通过接口调数据,这样,实现前端和后端的分离,在这些技术变化的后面,也是一次又一次尝试,技术的变更。在这里,简单说一下技术变革的一个过程。
首先,混合开发,由后端主导,前端写的代码,会交给后端,后端将自己写的代码与前端代码混合在一起,这样的话,前端代码和后端代码融合在一个文件中,前端代码会被破坏,分工也不明确,代码多,很难排错,花费时间长,效率不高;
在这样的情况下,出现一种mvc开发模式,前后端分离,前端代码不会被破坏,而是在视图环节参与进去,后端把接口写好,我们可以直接调数据,进行业务逻辑,是通过模板引擎渲染界面,不是以前的静态页面,是有真实的数据,显示什么页面,也是路由决定,这样的话,分工明确,实现前后端分离,在这个阶段,我们还是用的后端服务器,路由,传参,收参还需要借助后端服务器完成。
于是,第三种开发模式就流行起来,也是当代市场上最新的思维方法,完全的前后端分离。前端通过建立自己的web服务器,解决一系列的路由 传参 收参问题,实现前后端完全分离,不再受限于后端主导。

2024-02-23 10:55:22

IP:已设置保密
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:2826
发帖:230 篇
来自:保密
注册:2023-12-09 09:36:49
造访:2026-05-05 13:56:22
深究Web开发模式
一、Web开发模式
目前主流的Web开发模式,大致分类两种:
基于服务器端渲染的传统Web开发模式
基于前后端分离的新型Web开发模式
二、服务端渲染开发模式
1、介绍
服务器端渲染开发模式是指:服务器端通过字符串拼接,动态生成html结构和数据,交由客户端浏览器直接渲染的方式。因此,客户端不需要使用Ajax这样前后端交互的技术额外请求页面数据。
2、优点
前端耗时少。因为服务器端负责动态生成HTML内容,浏览器只需要直接渲染页面即可。尤其是移动端,更省电。
有利于SEO。因为服务器端响应的是完整的HTML内容,所有爬虫更容易爬取获得数据,更有利于SEO。
3、缺点
占用服务器端资源。由于是服务器端负责完成HTML页面内容的拼接,所有,如果请求次数较多,会对服务器造成一定的访问压力。
不利于前后端分离,开发效率低。如果使用服务器端渲染的开发模式,则无法进行分工合作,尤其对于前端复杂度较高的项目,不利于项目的高效开发。
三、前后端分离开发模式
1、介绍
前后端分离的开发模式是指:前端写前端的页面,后端写后端的接口,互不影响,当后端接口写完后,前端开发人员使用Ajax这样的前后端交互技术再向服务器对应的接口额外请求页面对应的数据,并渲染到页面中,其主要依赖于Ajax技术的广泛应用。
简言之,前后端分离的Web开发模式,就是后端只负责写API接口,前端使用Ajax技术调用接口获取数据的开发模式。
2、优点
开发体验度好。前端专注于UI页面的设计,后端专注于API接口的开发,且前端有更多的选择性。
用户体验到好。Ajax技术的广泛应用,极大的提高了用户的体验度,可以轻松实现页面的局部刷新。
减少了服务器端的渲染压力。因为页面UI是由前端开发人员设计的,页面的效果最终是要在每个用户的浏览器中生成的,所有服务器端的开发人员不必考虑那么多,并且无形之中服务器的压力也减少了很多。
3、缺点
不利于SEO。因为完整的HTML页面需要在客户端动态拼接完成,所有爬虫无法轻松、高效的爬取到页面的有效信息。不过我们可以使用Vue、React等前端框架的 SSR server side render 技术很好的解决SEO问题。
搜索引擎的基础爬虫的原理就是抓取你的url地址,然后获取你的html源代码并解析。 而你的页面通常用了Jquery等js的数据绑定机制来展示页面数据,爬虫获取到的html是你的模型页面而不是最终数据的渲染页面,所以说用js来渲染数据对seo并不友好。
四、如何选择开发模式
在Web开发中存在着一句网络用语:“不谈业务场景而盲目选择使用何种开发模式都是耍流氓”。可以看出选择开何种发模式要根据自身业务所处的场景而定夺,而并非让开发模式去选择业务。
企业级的网站或者美工网站,其主要功能就是展示,而并没有复杂的前后端交互,并且需要良好的SEO,那么这个时候我们就需要使用服务器端渲染的开发默认,而使用前后端分离则比较大材小用。
类似于后台管理项目,前后台交互性比较强,不需要考虑SEO,那么我们这个时候就需要使用前后端分离的开发模式,而使用服务端渲染则会大大增加我们服务器的压力,所有不建议使用。
另外,具体使用何种开发模式并非绝对,如果为了同时兼顾首页的渲染速度和前后端分离的开发效率,我们可以采用首屏服务器端渲染,其他页面前后端分离的开发模式。
所有说,人是活的,开发模式、技术等都是死东西,我们要在合适的地方使用合适的技术和合适的模式,并且加以融会贯通,这才是最合适的开发模式,以提升开发效率为目的才是我们的最终目的。

2024-02-23 10:56:38

IP:已设置保密
pojin (ID: 1)
头衔:论坛坛主
等级:究级天王[荣誉]
积分:2826
发帖:230 篇
来自:保密
注册:2023-12-09 09:36:49
造访:2026-05-05 13:56:22
MVC开发模式
MVC具体含义是:model+view+control,即模型+视图+控制。
Model模型层:
它常常使用JavaBean来编写,它接受视图层请求的数据,然后进行相应的业务处理并返回最终的处理结果,它负担的责任最为核心,并利用JavaBean具有的特性实现了代码的重用和扩展以及给维护带来了方便。
View视图层:
代表和用户交互的界面,可以通过html、xml、applet小java程序等实现,它仅仅负责数据的采集和处理(显示)。在JSP中它由JSP页面单独实现。
Control控制层:
控制层是从用户端接收请求,然后将请求传递给模型层并告诉模型层应该调用什么功能模块来处理该请求,它将协调视图层和模型层之间的工作,起到中间枢纽的作用,它一般交由Serclet来实现。
优点:
(1)各层各负其责,互不干涉。各自更新之后对其它层没有任何干扰;
(2)MVC开发模式有利于责任分工,让专门人员分别从事专门层的设计,提高工作效率和质量;
(3)组件可以得到很好的重用,由于分工明确,各层的组件可以独立成一个可以重用的组件。

2024-02-23 11:01:29

IP:已设置保密