首页 > 其他分享 >前端页面渲染(文档+数据)不同模式

前端页面渲染(文档+数据)不同模式

时间:2024-04-22 11:00:11浏览次数:16  
标签:异步 渲染 用户 React 文档 SPA 页面

  一张可被用户访问的页面,可以被拆分为主文档(html)和 数据 两个部分,这两个部分既可以是组合在一起的(SSR),也可以是分离的(SPA、异步渲染)。比如一些活动搭建平台,可以增加一个数据网关,实现SSR,提升用户体验。

服务端渲染(Server-Side Rendering,SSR)

服务端渲染是一种在服务器上生成完整页面HTML的开发模式,然后直接发送到客户端。这对于SEO(搜索引擎优化)以及改进首次页面载入时间非常有利,因为用户可以尽快看到完整渲染的页面,而不必等待所有的JavaScript下载并执行。

例如,假如你有一个利用React开发的博客网站,为了提高文章页面的SEO和加载速度,你可能会使用Next.js这样的框架来实现SSR。当一个用户请求一篇文章页面的时候,服务器将会执行React代码,将文章渲染成HTML,连同必要的CSS和JavaScript一起发送回用户,这样用户就可以立即看到完整渲染的文章内容,搜索引擎也能够索引这些内容。

流行的SSR框架/库:

  • Next.js (React)
  • Nuxt.js (Vue)
  • Angular Universal (Angular)

总结来说,SPA为用户提供流畅的应用体验,异步渲染进一步优化了SPA的响应性和性能,而服务端渲染加强了SEO和初始加载性能。这些技术经常结合使用,为用户提供高质量的Web应用体验。

SPA(单页面应用程序)

单页面应用程序(SPA)是一种网页应用模式,其中的应用在浏览器加载时仅加载单个HTML页面,并在用户与应用交互时动态更新该页面的内容。SPA通过JavaScript异步与服务端通信拉取数据,然后使用客户端的模板和数据绑定技术来刷新页面上的部分区域,而不是加载新页面。

举个例子,假设有一个邮箱应用,这个应用是一个SPA。当用户点击一个邮件条目时,不会有页面刷新,而是通过JavaScript (使用XMLHttpRequest或Fetch API) 异步地从服务器请求这封邮件的内容,然后动态地在当前页面更新邮件详情显示区域。

流行的SPA框架/库:

  • Angular
  • React  —— React 是一个声明式,高效且灵活的用于构建用户界面的 JavaScript 库。使用 React 可以将一些简短、独立的代码片段组合成复杂的 UI 界面,这些代码片段被称作“组件”。
  • Vue.js

异步渲染(Async Rendering)

异步渲染通常指的是在客户端应用程序中进行非阻塞的UI更新。在传统的渲染过程中,UI渲染任务可能会阻塞 浏览器主线程,导致性能下降和用户界面延迟。异步渲染使UI更新可以分割成一些小的任务,这些任务可以分散到浏览器的空闲时间执行,从而保持应用的响应性和流畅度。

以React为例,React 16引入了一个新的特性叫作Fiber,它重新实现了核心算法,允许React进行任务分割和优先级调度。这意味着开发者可以利用React的Concurrent Mode,让优先级较低的更新(如从API获取数据后的状态更新)异步执行,而不会阻断用户交互操作(如键盘输入、鼠标点击)的立即响应。

标签:异步,渲染,用户,React,文档,SPA,页面
From: https://www.cnblogs.com/wxdlut/p/18150223

相关文章

  • 自动生成接口文档
    自动生成接口文档​ RESTframework可以自动帮我们生成接口文档。​ 接口文档以网页的形式呈现​ 自动接口文档能生成的是继承自APIView及其子类的视图使用步骤安装依赖​ RESTframework生成接口文档需要coreapi库的支持pipinstallcoreapi设置接口文档访问路径​ 需......
  • 数字孪生云渲染整体架构设计
    大家好,本文在我开发的多个项目的基础上,提出了应用于数字孪生的云渲染整体架构设计,分析了其中的关键点,感谢大家~数字孪生现状数字孪生是将物理世界映射到数字世界,1比1还原真实场景,具有场景大、数据大、还原真实场景等特点。数字孪生行业市场大,预计2025年可达到300亿元的市场规模......
  • threejs - 渲染第一个3D场景 - 旋转的正方体
    1.安装threejs&使用2.创建三要素 场景scene相机camera渲染器render 3.场景newTHREE.Scene()  相机分为2种 1.透视相机2.正交相机 渲染器的使用 把canvas标签渲染到body页面document.body.appendChild(renderer.doLement); // 渲染canvasre......
  • 注释和文档
    注释规范1.哪些地方需要注释?类方法重要的变量2.注释的作用和注意事项说明类、方法和变量的作用和用法。避免过度注释,不要对每一个变量都进行注释,这样会降低代码的可读性。3.注释单行注释//声明一个整数intnumber;number=10;//将10赋值给number多行注释/......
  • FFmpeg如何查询命令帮助文档
    FFmpeg如何查询命令帮助文档ffmpeg/ffplay/ffprobe区别ffmpeg:​ HyperfastAudioandVideoencoder​ 超快音视频编码器(类似爱剪辑)ffplay:​ Simplemediaplayer简单媒体播放器ffprobe:​ Simplemultimediastreamsanalyzer​ 简单多媒体流分析器ffmpeg命令查看......
  • Word查找替换通配符(软件著作权用代码文档需求)
    在提交软件著作权所需的代码文档时,需要去掉空行、注释等无关内容,使用Word可以很方便的处理:1、查找//开头的注释,并删除:勾选:通配符,查找://*^13,替换为:^p2、查找/*开头,*/结尾的注释,并删除:勾选:通配符,查找:(/\*)*(\*/),替换为:空3、查找包含制表符的多个空行,并删除:勾选:通配符,查找:(^13)^t......
  • opencascade官网文档学习之OCCT-Shape healing (3)分析 TopoDS_Shape
    Analysis分析Analysisofshapevalidity形状有效性分析ShapeAnalysis软件包提供了用于分析拓扑形状的工具。在执行修复工具之前,没有必要通过这些工具检查形状,因为这些工具用于在修复工具内部执行修复之前的分析。但是,如果您愿意,这些工具可以独立于修复工具用于检测某些形状问......
  • 微信小程序页面功能-----标签切换
    一、页面布局首先我们需要布局出标签切换的页面,下面不多描述直接上代码1、html部分<!--标签页标题--><viewclass="tob"><viewclass="tab-item">音乐推荐器</view><viewclass="tab-item">播放器</view><viewclass="tab-item&quo......
  • 原生js图片截取并渲染页面
    一、将海报大图截屏部分图片并渲染页面二、实现代码如下<!DOCTYPEhtml><htmllang="zh"> <head> <metacharset="UTF-8"> <metaname="viewport"content="width=device-width,initial-scale=1.0"> <title>Do......
  • 模拟在页面点击导入csv
    案例背景组件性能测试过程中,要导入大量自定义的数据。案例分析本案例中采用python的pandas库,模拟了生成导入csv文件,模拟在页面点击导入csv,使文件导入更高效。实现方案1****、在前端页面解析内部接口参数典型的导入流程至少包含上传文件和确认上传。上传文件在浏览......