Web开发模式的探讨
Web开发模式有俩种:
基于服务器端渲染的传统Web开发模式
基于前后端分离的Web开发模式
想必我们都不陌生这俩个概念,前后端分离的开发模式也是非常的火爆,我们今天来探讨一下,这俩个开发模式各自的缺点与适用情景
目录
一.基于服务端渲染的Web开发模式
二.前后端分离的Web开发
三.如何选择Web开发模式
一.基于服务端渲染的Web开发模式
顾名思义,就是服务器发送给客户端的HTML页面,是在服务器中通过字符串的拼接动态生成的,因为所有的工作都是服务器完成的,所以我们客户端是不需要使用Ajax这样的技术额外的去请求页面的数据
这样的话,前端的耗时就是比较少的,因为服务器端负责动态生成HTML内容,浏览器直接渲染就可以了(如果是移动端的话会更加的省电),服务端渲染还有利于SEO,因为服务器端响应的是一个完整的HTML页面内容,爬虫是更容易爬取信息的
不过服务器端渲染的Web开发模式缺点也是非常的明显,因为是由服务器端来渲染整个页面完成内容拼接,但是请求过多的话,会对服务器造成不小的压力,并且开发效率较低,是不利于前后端的分离的,因为如果我们使用服务器端渲染的话,是没有办法进行分工合作的,如果项目的前后端复杂度很高,那么使用服务器端渲染的Web开发效率不高
二.前后端分离的Web开发
这种开发模式是需要依赖Ajax技术的,后端只负责API接口的开发,前端则使用Ajax技术来调用接口
这样的话,分工明确、开发体验是比较好的,前端可以专注于UI页面的开发,后端专注于API接口开发,前端也会有更多的选择
接下来说说用户方面:前后端分离使用户体验好,根本原因还是因为Ajax的应用(Ajax可以实现页面的局部刷新)
那么服务器端方面呢:如果使用服务器端渲染开发Web的话,服务器压力很大,但是如果使用前后端分离开发Web,那么服务器压力会减轻很多很多,因为页面最终是在用户浏览器中生成的
当然,没有一种技术或者概念是完全完美的
前后端分离Web开发是不利于SEO的,完整的HTML页面是从客户端动态拼接完成的,并不是在服务器,所以爬虫是没有办法爬取页面有效信息的
【缺点可以解决】:我们可以利用VUE、React、Angular等等这些前端框架的SSR简单重复序列标记技术可以较好的解决SEO问题
tips:SSR技术 => server side render => 以PCR技术为核心的DNA分子标记技术
了解更多:
百度安全验证
三.如何选择Web开发模式
我们之前说前后端分离是怎么怎么的好,但是服务器端渲染就百无一用了吗?
并不是,任何事物的存在都会有他的意义的
当我们开发一个企业级的网站或者网站首页时,主要功能应该是展示一些企业文化或者企业相关内容,并不需要大量的复杂的交互,并且它的需要一个良好的SEO的,那么这时我们选择使用服务器端渲染
如果我们开发一个后台的管理项目,比如学生管理系统、企业人员管理系统等等这样需要大量且高强度交互的Web项目时,我们没有必要去考虑一个很好地SEO,那么我们就可以选用前后端分离的开发模式
不过还有一种开发类型场景:我们要开发一个企业级功能性网站,客户要求这个网站必须要近乎完美,那么这时我们单一的去选择前后端分离或者服务器端渲染都是无法完成这个要求的,这时就需要将这俩个开发模式进行结合
怎么结合呢?
如果想要兼顾首页面的渲染速度、用户体验,减小服务器压力,并且还要提高这么一个开发效率,那么我们可以在首页开发使用服务器端渲染、在其他一些交互强度大且繁多的页面或者系统我们可以使用前后端分离的开发模式
总之:任何服务都不会也不应该是单一的技术选型方案,一个优秀的开发者或者团队应该能根据主客观情况灵活选择技术解决方案
Web开发模式的探讨相关推荐
- Web开发模式【Mode I 和Mode II的介绍、应用案例】
开发模式的介绍 在Web开发模式中,有两个主要的开发结构,称为模式一(Mode I)和模式二(Mode II) 首先我们来理清一些概念吧: DAO(Data Access Object):主要对数据的 ...
- web开发模式+三层架构与MVC
一.MCV模式与三层架构 三层架构包括UI.BLL.DAL三层,MVC三层指的是model.view.controller,这两个是有区别的. 三层架构主要注重数据的处理流程,DAL中数据获取与存储, ...
- 用框架名唬人谁都会,那你知道Web开发模式吗?——莫问前程莫装逼
前言:这两天总结了一些Servlet和JSP里面的知识,写了几篇博客,果然有种"温故而知新"的感觉,学完这些,继续前行,开始整合框架里的知识,框架虽好,可底层原理该掌握的也得掌握, ...
- App原生、混合、纯WEB开发模式的优劣分析
什么叫做原生App? 什么是混合app? 什么是Web App开发? Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS.Android等不同的手机操作系统 ...
- HTML5 将改变Web开发模式
HTML5是用于取代1999年所制定的 HTML 4.01 和 XHTML 1.0 标准的 HTML 标准版本,现在仍处于发展阶段,但大部分浏览器已经支持某些 HTML5 技术.HTML 5有两大特点 ...
- Web开发模式(MVC设计模式)
1.MVC:(Model-View-Controller)操作流程 显示层View:主要负责接收Servlet传递的内容,并调用JavaBean把内容显示给用户. 控制层Controller:负责所有 ...
- web中hasmoreelements_Web开发模式【Mode I 和Mode II的介绍、应用案例】
开发模式的介绍 在Web开发模式中,有两个主要的开发结构,称为模式一(Mode I)和模式二(Mode II). 首先我们来理清一些概念吧:DAO(Data Access Object):主要对数据的 ...
- 五、Web应用开发模式
web应用开发模式 web应用的开发主要有两种模式: 前后端不分离 前后端分离 前后端不分离 在互联网早期,web应用开发采用前后端不分离的方式. 它是以后端直接渲染模板完成响应的一种开发模式. 以前 ...
- node.js服务端笔记文档学会写接口,学习分类:path、包、模块化、fs、express、中间件、jwt、开发模式、cors。
node.js 学习笔记 node.js服务端笔记文档学会写接口,path.包.模块化.fs.express.中间件.JWT.开发模式.cors. gitee:代码接口笔记 1什么是node.js n ...
最新文章
- PyTorch学习笔记——softmax和log_softmax的区别、CrossEntropyLoss() 与 NLLLoss() 的区别、log似然代价函数...
- 系统利益相关者描述案例
- 怎么把快捷键改成eclipse_Java IDE超好用的10个快捷键
- 计算机网络华为模拟器,资源分享之计算机网络虚拟实践
- docker安装wget_Docker: docker pull, wget, curl, git clone 等如何更快?
- 缓存大小_CPU中的L1,L2和L3缓存之间的区别:缓存是如何工作的?
- 像我这种背景的人跑到微软来干什么?
- Count the Colors ZOJ - 1610
- 《数据中心项目规范(征求意见稿)》
- C++中局部变量可以和全局变量重名吗?
- java线程不能重复_Java中多线程重复启动
- leetcode 643. 子数组最大平均数 I(滑动窗口)
- 腾讯面试题: 百度搜索为什么那么快? | 原力计划
- 2013蓝桥杯C++B:第39阶台阶(递归法);前缀判断
- android实战技巧,实战技巧:Android异步指南
- 教你成为质量管理高手GJB
- Opencv 下载驿站
- 关于html5小游戏的书,HTML5小游戏:書道 - 书法之境 道之升华
- 获取文件哈希值_迅雷是如何通过磁力链接获取资源的?
- 立创eda学习笔记三十:布局传递
热门文章
- idea如何配置或者创建mybatis的xml文件 idea如何配置或者创建mybatis的配置文件
- 物流货运平台大数据风控解决方案
- CAD偏移曲线(com接口c#语言)
- keras使用plot_model绘制网络模型图
- matlab主成分分析散点图_主成分分析(PCA)及其在MATLAB中的实现
- linux androidx86双系统,实用教程:PC实现Windows/原生安卓双系统
- 音频频谱 via FFT
- 分布式id php,PHP生成类MongoId的分布式主键
- Android UnitTest
- MySQL对数据表进行分组查询(GROUP BY)