前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue学习笔记1-什么是Vue

Vue学习笔记1-什么是Vue

作者头像
摘繁华
发布2022-08-31 14:27:18
4640
发布2022-08-31 14:27:18
举报
文章被收录于专栏:摘繁华

Vue学习笔记1-什么是Vue

一、什么是 Vue?

渐进式 JavaScript 框架,一款用于构建 Web 界面,易学易用,性能出色且功能丰富的框架。

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面,无论任务是简单还是复杂。

以前,我们是使用 HTML、CSS、JS 去完成我们的项目。如果说这个项目比较复杂的话,用 JS 来写是可以写的,没有问题,但是呢,会比较困难,并且任务量会比较大,所以呢,就出现了 vue 这个框架来帮助我们在开发项目的过程中,更加的简单,更加的方便。


二、渐进式框架

Vue 是一个框架和生态,功能覆盖了大部分前端开发常见的需求。但 Web 世界又是十分多样化的,我们在 Web 上构建的东西可能在形式和规模上有很大不同。考虑到这一点,Vue 被设计成具有灵活性和可逐步集成的特点。根据你的需求场景,Vue 可以按不同的方式使用:

  • 增强静态的 HTML 而无需构建步骤
  • 在任何页面中作为 Web Components 嵌入
  • 单页应用 (SPA)
  • 全栈 / 服务端渲染 (SSR)
  • Jamstack / 静态站点生成 (SSG)
  • 目标为桌面端、移动端、WebGL,甚至是命令行终端

什么是渐进式? 前端,主要是构建用户的界面。以前我们使用 JS 来进行开发,现在一下子换成 vue 了,这个工程量无疑是非常大的,我们会怎么做呢?在项目中有很多页面,引入 vue 框架,我们将页面一点一点的替换掉之前用原生 JS 写的内容,这个时候,我们整个项目就会既包含之前的代码,又包含 vue 写的,这样一个页面一个页面的替换掉,将 vue 作为我们应用的一部分嵌套进去,这就是渐进式。

什么是第三方库? 简单来说就是,别人写的东西我们能拿过来直接用。比如说,轮播图。轮播图很常用,我们在什么地方都可以用到。以前使用原生 JS 来写一个轮播图,那可能会有点麻烦,但是在 vue 里,我们使用第三方库,比如说ElementUI,里面已经包含了我们常用的轮播图等组件,直接拿过来跟我的应用进行结合,这样就会更加的方便,也更加易于维护。

什么是单页面应用? 比如 vue 的官方文档,我们正常阅读时,切换会非常快,为什么?他们都在同一个页面上,我们点击按钮他并没有跳转,只是修改了路径,通过 JS 修改了页面的内容,即 DOM 里面的内容,让我们看上去进行了切换,实际上并没有,所以很大程度提升了用户的体验。以前,我们用 JS 发送请求,若响应比较慢,可能会出现白屏的效果,而单页面应用,没有重新发起请求,所以就没有这个问题,能很快速地切换。

摘自 写网页的叮叮


三、服务端渲染

首先,说到服务端渲染我们要先对渲染这个概念有一个大概的了解,就是将数据和模版组装成html。

客户端渲染(CSR)VS服务端渲染(SSR)

那么,为了更好的理解服务端渲染,我们也很有必要去了解一下客户端渲染。将客户端渲染与服务端渲染同时进行学习理解。

1.客户端渲染
1.1概念

解释一:客户端渲染模式下,服务端把渲染的静态文件给到客户端,客户端拿到服务端发送过来的文件自己跑一遍js,根据JS运行结果,生成相应DOM,然后渲染给用户。

解释二:html 仅仅作为静态文件,客户端在请求时,服务端不做任何处理,直接以原文件的形式返回给客户端客户端,然后根据 html 上的 JavaScript,生成 DOM 插入 html。

延伸:前端渲染的方式起源于JavaScript的兴起,ajax的大热更是让前端渲染更加成熟,前端渲染真正意义上的实现了前后端分离,前端只专注于UI的开发,后端只专注于逻辑的开发,前后端交互只通过约定好的API来交互,后端提供json数据,前端循环json生成DOM插入到页面中去。

1.2.利弊

好处: 网络传输数据量小、减少了服务器压力、前后端分离、局部刷新,无需每次请求完整页面、交互好可实现各种效果

坏处:不利于SEO、爬虫看不到完整的程序源码、首屏渲染慢(渲染前需要下载一堆js和css等)

2.服务端渲染
2.1.概念

解释一:服务端在返回 html 之前,在特定的区域,符号里用数据填充,再给客户端,客户端只负责解析 HTML 。

解释二:服务端渲染的模式下,当用户第一次请求页面时,由服务器把需要的组件或页面渲染成 HTML 字符串,然后把它返回给客户端。客户端拿到手的,是可以直接渲染然后呈现给用户的 HTML 内容,不需要为了生成 DOM 内容自己再去跑一遍 JS 代码。使用服务端渲染的网站,可以说是“所见即所得”,页面上呈现的内容,我们在 html 源文件里也能找到。

2.2.利弊

好处:首屏渲染快、利于SEO、可以生成缓存片段,生成静态化文件、节能(对比客户端渲染的耗电)

坏处:用户体验较差、不容易维护,通常前端改了部分html或者css,后端也需要修改。

3.对比

其实前后端的渲染本质是一样的,都是字符串的拼接,将数据渲染进一些固定格式的html代码中形成最终的html展示在用户页面上。 因为字符串的拼接必然会损耗一些性能资源。 如果在服务器端渲染,那么消耗的就是server端的性能。 如果是在客户端渲染,常见的手段,比如是直接生成DOM插入到html 中,或者是使用一些前端的模板引擎等。他们初次渲染的原理大多是将原html中的数据标记(例如)替换。

为什么使用服务端渲染,它解决的是什么问题

简单总结起来就是两点:

首屏加载快 相比于加载单页应用,我只需要加载当前页面的内容,而不需要像 React 或者 Vue 一样加载全部的 js 文件 SEO 优化 对于单页应用,搜索引擎并不能收录到 ajax 爬取数据之后然后再动态 js 渲染出来的页面。

为了更便于理解,下面几段话摘自掘金小册:

事实上,很多网站是出于效益的考虑才启用服务端渲染,性能倒是在其次。 假设 A 网站页面中有一个关键字叫“前端性能优化”,这个关键字是 JS 代码跑过一遍后添加到 HTML 页面中的。那么客户端渲染模式下,我们在搜索引擎搜索这个关键字,是找不到 A 网站的——搜索引擎只会查找现成的内容,不会帮你跑 JS 代码。A 网站的运营方见此情形,感到很头大:搜索引擎搜不出来,用户找不到我们,谁还会用我的网站呢?为了把“现成的内容”拿给搜索引擎看,A 网站不得不启用服务端渲染。 但性能在其次,不代表性能不重要。服务端渲染解决了一个非常关键的性能问题——首屏加载速度过慢。在客户端渲染模式下,我们除了加载 HTML,还要等渲染所需的这部分 JS 加载完,之后还得把这部分 JS 在浏览器上再跑一遍。这一切都是发生在用户点击了我们的链接之后的事情,在这个过程结束之前,用户始终见不到我们网页的庐山真面目,也就是说用户一直在等!相比之下,服务端渲染模式下,服务器给到客户端的已经是一个直接可以拿来呈现给用户的网页,中间环节早在服务端就帮我们做掉了,用户岂不“美滋滋”?

什么情况下使用服务端渲染

通过服务端渲染的概念以及它的两个特点:首屏加载速度快SEO优化。我们知道,服务端渲染其实就是由浏览器做的一些事情,我们放到了服务端去做,那么对于掘金、简书、CSDN、知乎等网站的搭建,这种在网上一搜搜出一堆东西的网站,SEO做的很好,应该多少都用到服务端渲染了吧?当然,做服务端渲染成本是高昂的。vue全家桶或者react全家桶,都是推荐通过服务端渲染来实现路由的。服务端渲染并非完全之策(服务器稀少而宝贵),关于首屏渲染体验以及SEO的优化方案很多,在不使用服务端渲染这个操作下,我们最好的处理方式就是找寻替代优化方案。关于在server端还是在browser端渲染的选择,更多的是要看业务场景。

摘自 六个周

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Vue学习笔记1-什么是Vue
    • 一、什么是 Vue?
      • 二、渐进式框架
        • 三、服务端渲染
          • 客户端渲染(CSR)VS服务端渲染(SSR)
          • 为什么使用服务端渲染,它解决的是什么问题
          • 什么情况下使用服务端渲染
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档