第二章:理解Vue.js
Vue.js 是一个灵活而强大的开源框架,用于开发客户端应用程序,从服务器端开发的世界中借鉴设计原则,并将其应用到 HTML 元素中,创建一个基础,使构建丰富的 web 应用程序更容易。在这本书中,我解释了 Vue.js 是如何工作的,并演示了它所提供的不同特性。
这本书和Vue.js的发布时间表
Vue.js开发团队付出了很多努力来确保Vue.jsAPI尽可能少的变化,这是一个不断的中断更新流的刷新变化。对 Vue.js 有频繁的更新,但是你应该会发现它们通常不会阻止现有的应用程序的工作,这对你的项目和本书中的例子来说是个好消息。
即便如此,Vue.js 版本总是有可能会阻止一些示例按预期的方式工作。每次发生这种情况时,让读者购买这本书的新版本似乎都不公平或不合理,尤其是由于 Vue.js 的大多数功能即使在主要版本中也不太可能改变相反,我将在这本书 https://github.com/Apress/pro-vue-js-2 的 GitHub 存储库中发布更新。
这对我(和阿普拉斯)来说是一个正在进行的实验,这些更新可能采取的形式是不确定的——尤其是因为我不知道 Vue.js 的主要版本将包含什么,但它的目标是通过更新它所包含的例子来延长这本书的寿命。
我并没有承诺这些更新会是什么样子,它们需要什么形式,或者在把它们折叠成这本书的新版本之前我将生产多长时间。当新的 Vue.js 版本发布时,请保持开放的心态,并检查这本书的存储库。如果你对如何改进更新有什么想法,请发邮件给我 adam@adam-freeman.com,告诉我。
我应该使用 Vue.js 吗?
Vue.js 并不是每个问题的解决方案,知道什么时候应该使用 Vue.js 以及何时应该寻找替代方案是很重要的。Vue.js 提供了过去只对本地应用程序开发人员可用的功能,并使它完全在浏览器中可用。这给浏览带来了很多需求,浏览必须运行 Vue.js 应用程序、处理 HTML 元素、执行 JavaScript 代码、处理事件,以及执行启动 Vue.js应用程序所需的所有其他任务,就像您在第 2 章中看到的那样。
copy;Adam Freeman 2018
A. Freeman,Pro Vue.js 2, https://doi.org/10.1007/978-1-4842-3805-9_2
这类工作需要时间来执行,而时间的长短取决于 Vue 的复杂性。js 的应用程序,浏览器的质量,以及设备的处理能力。当你在台式机上使用最新的浏览器时,你不会注意到任何延迟,但功能不足的智能手机上的旧浏览器确实会减缓 Vue.js 应用程序的初始设置。
因此,我们的目标是尽可能少地执行这个设置,并在执行应用程序时尽可能多地提供给用户。这意味着要仔细考虑您构建的 web 应用程序。从广义上说,tliere 是两种网络应用程序:往返和单页。
了解往返行程的应用程序
很长一段时间以来,web 应用程序都是按照往返模式开发的。浏览器从服务器请求一个初始的 HTML 文档。用户交互——例如单击一个链接或提交一个表单——会导致浏览器请求并接收一个全新的 HTML 文档。在这类应用程序中,浏览器本质上是一个针对 HTML 内容的渲染引擎,并且所有的应用程序逻辑和数据都驻留在服务器上。浏览器通过动态生成 HTML 文档生成一系列无状态 HTTP 请求来处理这些请求。
目前的许多 web 开发仍然是用于往返应用程序,特别是业务线项目,尤其是因为它们对浏览器的要求很少,并且拥有尽可能广泛的客户端支持。但是往返应用程序有一些严重的缺点:它们让用户等待请求和加载下一个HTML 文档,它们需要一个大型服务器端基础设施来处理所有请求和管理所有应用程序状态,它们可能需要更多的带宽,因为每个 HTML 文档必须是独立的,这可能导致相同的内容包含在服务器的每个响应中。Vue.js 不太适合往返应用程序,因为浏览器必须为从服务器接收到的每个新的 HTML 文档执行初始设置过程。
了解一页纸的应用程序
单页应用程序(SPAs)采用了一种不同的方法。一个初始的 HTML 文档被发送到浏览器,但是用户交互导致 Ajax 请求将 HTML 的小片段或数据插入到现有的元素集中,并显示给用户。初始的 HTML 文档永远不会被重新加载或替换,当 Ajax 请求被异步执行时,用户可以继续与现有的 HTML 交互,即使这只是意味着看到一个“数据加载”消息。
单页应用程序非常适合 Vue.js 和其他客户端框架,包括角度和反应,因为浏览器必须执行的初始化应用程序的工作只执行一次,之后应用程序在浏览器中运行,响应用户交互并请求后台所需的数据或内容。
比较 vue.js 的反应和角度
Vue.js 有两个主要的竞争对手:React 和 Vue.js。它们之间存在不同之处,但在大多数情况下,所有这些框架都很优秀,它们都以类似的方式工作,所有它们都可以用来创建丰富而流畅的客户端应用程序。
一个关键的区别是,Vue.js 只关注于向用户呈现 HTML 内容,而不直接包含其他特性的功能,如异步 HTTP 请求或 URL 路由。但是这种差异在很大程度上是学术性的,因为这些特性是通过 Vue.js 开发团队认可甚至开发的包提供的,而且大多数 Vue.js 项目使用相同的包集。
这些框架之间的真正区别在于开发者的体验。例如,角度要求您使用类型标有效,而它只是 Vue.js 项目的一个选项。Vue.js 和 React 倾向于混合 HTML 和 JavaScript,这并不是每个人都喜欢的。
我的建议很简单:选择你最喜欢的框架,如果你不喜欢的话,然后切换到其他的框架。这似乎是一种不科学的方法,但可以做出不错的选择,您会发现,即使更改了使用的框架,许多核心概念也会在框架之间传递。
如果您想要仔细比较特性,请参阅 https://vuejs.org/v2/guide/comparison.html,它对 Vue.js 和其他框架进行了全面的比较,尽管它是由 Vue.js 团队编写的。但是不要卷入比较低级特性,因为所有这些框架都很好;它们都可以用来编写大型和复杂的项目,最好的框架总是适合你的个人发展风格,也是你最高效的框架。
理解服务器端渲染功能
服务器端呈现(称为 SSR)是另一个与 spa 相关的术语,旨在使 web 应用程序在用户第一次导航到 URL 时做出响应,并允许搜索引擎更好地索引 web 应用程序内容。
SSR 使用 Node.js 作为服务器端 JavaScript 运行时,在服务器上执行 web 应用程序,以生成呈现给用户的内容。此时,应用程序是一个往返应用程序,每次交互都会向服务器产生一个新的 HTTP 请求;它继续代表用户执行应用程序,并将生成的 HTML 发送回浏览器,以便显示给用户。同时,执行应用程序所需的代码和内容在后台下载,用于初始化应用程序,此时应用程序变成单页应用程序,用户交互由浏览器中运行的代码处理。
有一些软件包支持 Vue.js 应用程序的 SSR,但我在这本书中没有描述它们。服务器端呈现是复杂的,并且仅限于能够执行 JavaScript 的服务器,因为它们负责代表用户运行应用程序。应用程序必须注意不要依赖于需要浏览器的特性或 api,因为这些特性在服务器上不可用。在服务器端渲染和客户端渲染之间的无缝移动对用户来说也可能是困难和令人困惑的,特别是在存在问题时。这些困难和限制意味着 SSR 不适用于大多数 Vue.js 项目,应该谨慎处理。有关对 Vue.js 的 SSR 支持的详细信息,请参见 https://vuejs.org/v2/guide/ssr.html。
了解应用程序的复杂性
在决定 Vue.js 是否非常适合于一个项目时,应用程序的类型并不是唯一的考虑因素。项目的复杂性也很重要,我经常听到读者使用客户端框架开始了一个项目,比如 Vue.js、角或 Reract,而更简单的东西就足够了。像 Vue.js 样的框架需要大量的时间来掌握(正如这本书的大小所说明的),而这种努力是 f如果您只需要以编程方式验证表单或填充选择元素,则合理。
在围绕客户端框架的兴奋中,很容易忘记浏览器提供了一组可以直接使用的丰富 api,并且这些是 Vue.js所有特性所依赖的 api。如果您有一个简单且自包含的问题,那么您应该考虑直接使用浏览器 API,从文档对象模型(DOM)API 开始。您将看到这本书中的一些示例直接使用浏览器 api,但如果您是浏览器开发的新手,那么首先是 https://开发人员。莫。它包含了浏览器支持的所有 api 的良好文档。
浏览器 API 的缺点,特别是 DOMAPI,是使用它们可能会很尴尬,而旧的浏览器往往会以不同的方式实现特性。直接使用浏览器 api 的一个很好的替代方法,特别是如果你必须支持旧的浏览器,是 jQuery(https://jquery.org)简化了使用 HTML 元素的工作,并对处理事件、动画和异步 HTTP 请求具有出色的支持。
像 Vue.js 这样丰富的丰富客户端框架对于简单的项目需要太多的投资和太多的资源。它们在复杂的项目中都有自己的作用,其中需要实现复杂的工作流,需要处理不同类型的用户,以及需要处理的大量数据。在这些情况下,您可以直接使用浏览器 api 或 vvitlijQuery,但是管理代码变得很困难,并且很难扩展应用程序。Vue.js提供的特性使构建大型和复杂的应用程序变得更容易,而且不会陷入大量不可读的代码,这通常是不采用框架的复杂项目的命运。
我需要知道什么?
如果您认为 Vue.js 是您项目的正确选择,那么您应该熟悉 web 开发的基础知识,了解 HTML 和 CSS 的工作原理,理想情况下,您应该了解 JavaScript 的工作知识。如果您对这些细节有些模糊,我提供了 HTML、CSS 和本文在第三章和第四章中使用的 JavaScript 特性的引物。但是,您将找不到关于 HTML 元素和 CSS 属性的全面引用。在一本关于 Vue.js 的书中,只是没有足够的空间来覆盖所有的 HTML。如果您想复习一下 HTML、CSS 和 JavaScript的基本原理,那么我推荐 https://开发人员。mozilla。这个组织是一个很好的起点。
我如何设置我的开发环境?
Vue.js 开发所需的唯一开发工具是您在创建时的第一个应用程序的第一章中安装的工具。后面的一些章节需要额外的软件包,但是提供了完整的说明。如果您在第 1 章中成功地构建了该应用程序,那么您将被设置为 Vue.js开发和本书中的其他章节。
这本书的结构是什么?
这本书分为三个部分,每部分涵盖了一系列相关的主题。
第一部分:开始使用 Vue.js
本书的第 1 部分提供了您开始使用 Vue.js 开发所需的信息。它包括本章和在 Vue.js 开
剩余内容已隐藏,支付完成后下载完整资料
英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[596056],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。