2019年的Vue发展

如果你是 Vue 开发新手,可能已经听过很多行话术语,比如单页面应用程序、异步组件、服务器端渲染,等等。你可能还听说过与 Vue 有关的一些工具和库,比如 Vuex、Webpack、Vue CLI 和 Nuxt。

浸没在术语和工具的浩瀚海洋中难免会令人感到沮丧,但其实并不是只有你一个人有这种感受,所有经验水平的开发人员都会持续感觉到这种莫名的压力。

一口气吃不成胖子,试图一下子学习所有东西可能是徒劳的,所以我将在这篇文章中展示一个高级“知识地图”,它包含了与 Vue 开发相关的关键领域,你可以使用这张地图作为 2019 年学习 Vue 的图鉴。

0. JavaScript 和基本的 Web 开发

如果我要你学习中文书籍中所写的内容,你首先要学会中文,对吧?

同样,Vue 是一个用于构建 Web 用户界面的 JavaScript 框架。在开始使用 Vue 之前,你必须了解 JavaScript 和 Web 开发的基础知识。

1. Vue 基本概念

如果你是 Vue 开发新手,应该专注于 Vue.js 生态系统的核心,包括 Vue 核心库、Vue Router 和 Vuex。

这些工具将被用在大多数 Vue 应用程序中,并为本文中提到的其他领域提供了一个构建框架。

Vue 核心功能

从根本上说,Vue 用于同步网页和 JavaScript。实现这一目标的关键特性是反应式(reactive)数据,以及指令和插值等模板功能。这些东西在一开始就要学习。

要构建你的第一个 Vue 应用程序,你还需要知道如何在网页中安装 Vue,并了解 Vue 实例的生命周期。

组件

Vue 组件是独立的可重用 UI 元素。你需要了解如何声明组件,以及如何通过 prop 和 event 在它们之间发生交互。

了解如何组合组件也很重要,因为这对使用 Vue 构建健壮、可伸缩的应用程序来说至关重要。

单页面应用程序

单页面应用程序(SPA)架构通过单个网页实现传统多页面网站一样的功能,而且不会在每次用户触发导航时重新加载和重建页面。

在将“页面”构建为 Vue 组件之后,就可以使用 Vue Router 将每个“页面”映射到一个唯一的路径,Vue Router 是一个用于构建 SPA 的工具,由 Vue 团队维护。

状态管理

随着应用程序变得越来越大,SPA 页面中会有很多组件,管理全局状态变得很困难,而且随着 prop 和 event 监听器的增加,组件变得越来越臃肿。

一种称为“Flux”的特殊模式可以将数据保存在可预测且稳定的中央存储中。由 Vue 团队维护的 Vuex 库可以帮助你在 Vue.js 应用程序中实现 Flux。

2. 现实世界中的 Vue

以上的知识可用于构建高性能的 Vue 应用程序,但如何将它们部署到生产环境中?

如果你想将基于 Vue.js 的产品发送给真实用户,你还需要了解更多东西!

项目脚手架

如果你经常构建 Vue 应用程序,你会发现几乎每个项目都需要提供配置、设置和开发者工具。

Vue 团队维护了一个叫作 Vue CLI的工具,让你可以在几分钟内启动一个强大的 Vue 开发环境。

全栈或认证的应用程序

真实的 Vue 应用程序通常是由数据驱动的用户界面。数据通常来自使用 Node、Laravel、Rails、Django 或其他服务器框架开发的 API。

这些数据可能是由传统的 REST API 或 GraphQL 提供的数据,也可能是通过 Web 套接字提供的实时数据。

你还需要了解将 Vue 集成到完整技术栈中常用设计模式,以及确保 Vue 应用程序用户数据的安全性。

测试

如果你想开发出可维护且稳定的 Vue 应用程序,需要对它们进行测试。

在 Vue 应用程序中,可以通过单元测试来确保你的组件能够为给定输入(即 prop 或用户输入)提供相同的输出(即重新渲染的 HTML 或发出的事件)。

Vue 团队维护了一个叫作 Vue Test Utils 的工具,用于测试单独的 Vue 组件。

优化

当你将应用程序部署到远程服务器并且用户通过慢连接访问它时,它与你在开发环境中测试的速度和效率是不一样的。

为了优化 Vue 应用程序,我们可以采用各种技术,包括服务器端渲染,也就是在服务器端执行 Vue 应用程序,然后输出 HTML 页面并传给用户。

其他优化手段还包括使用异步组件和渲染函数。

3. 关键的相关工具

到目前为止,我们所看到的一切都来自 Vue.js 核心,或来自生态系统中的工具。但 Vue 不是孤立存在的,它只是前端技术栈中的一层。

高级 Vue 开发人员不仅需要熟悉 Vue,还需要熟悉每个 Vue 项目的关键工具。

现代 JavaScript 和 Babel

Vue 应用程序可以使用 ES5 开发,ES5 是几乎所有浏览器都支持的 JavaScript 标准。

要获得增强的 Vue 开发体验,并利用新的浏览器功能,你可以使用最新的 JavaScript 标准 ES2015 和 ES2016 或更高版本提供的功能来构建 Vue 应用程序。

不过,如果你选择使用现代 JavaScript,就需要提供一种支持旧版浏览器的方法,否则你的产品可能无法为大多数用户提供服务。

要实现这一目的,需要使用 Babel。它的作用是在应用程序发布之前将你的现代功能“转换”(翻译和编译)为标准功能。

WebPack

Webpack 是模块捆绑器,如果你的代码跨越了不同模块(例如不同的 JavaScript 文件),Webpack 可以将这些零散的代码“构建”到浏览器可读的单个文件中。

Webpack 还可以作为构建管道,你可以在构建代码之前对代码进行转换,例如使用 Babel、Sass 或 TypeScript,还可以使用一系列插件来优化你的应用程序。

很多开发人员觉得 Webpack 难以掌握,配置起来也很麻烦,但如果没有它,将无法使用 Vue 的一些有用的功能(如单文件组件)。

最近发布的 Vue CLI 3 提供了一种用于在 Vue 项目中抽象和自动配置 Webpack 的解决方案。

这是否意味着你不需要学习 Webpack 了?当然不是,因为你仍然不可避免地需要进行定制或调试 Webpack 配置。

TypeScript

TypeScript是 JavaScript 语言的超集,为我们提供了类型(String、Boolean、Number 等),这样我们就可以编写健壮的代码,并尽早发现错误。

Vue.js 3 将于 2019 年推出,将完全使用 TypeScript 编写。但这并不意味着你一定要在你的 Vue 项目中使用它,但如果你想要为 Vue 贡献代码,或者想要理解它的内部工作原理,就需要了解 TypeScript。

4. Vue 的框架

构建在 Vue 之上的框架让你无需从头开始实现服务器端渲染,还可以创建自己的组件库以及完成很多其他常见任务。

有很多很好的 Vue 框架,在这里我们只列出使用最为广泛和最重要的三个框架。

Nuxt.js

如果你想要构建一个高性能的 Vue 应用程序,就需要基于组件的路由、服务器端渲染、代码拆分和其他尖端的功能。你还需要像 SEO 标签这样的功能。

Nuxt.js 通过各种社区插件提供了这些开箱即用的功能,以及更多的功能选项,如 PWA。

Vuetify

谷歌的 Material Design 是一个使用十分广泛的指南,用于构建漂亮的逻辑用户界面,并被用在谷歌的产品(如 Android 和 Web)当中。

Vuetify 在一系列 Vue 组件中实现了 Material Design。因此,你可以使用 Material Design 布局和样式快速构建 Vue 应用程序,以及模态、警报、导航栏、分页等小部件。

NativeScript-Vue

Vue.js 是一个用于构建 Web 用户界面的库。如果你想将它用于原生移动界面,可以使用 NativeScript-Vue 框架。

NativeScript 是一个用于在 iOS 和 Android 上使用原生用户界面组件构建应用程序的系统,而 NativeScript-Vue 是一个基于 NativeScript 的框架,提供了 Vue 的语法和组件的使用方式。

5. 杂项

在最后一部分,我们将介绍其他一些内容。

插件开发

如果要在项目中重用 Vue 功能或为 Vue 生态系统做贡献,可以将功能作为 Vue 插件来开发。

动画

如果你需要使用动画,请了解一下 Vue 的过渡系统,它也是 Vue 核心的一部分。你可以在向 DOM 添加元素或从 DOM 中删除元素时应用动画。

你需要创建 CSS 类来定义所需的动画效果,无论是淡入淡出、更改颜色还是你喜欢的其他方式。当向 DOM 中添加元素或从 DOM 中删除元素时,Vue 会检测到这些变更,并在过渡期间添加或删除相应的 CSS 类。

渐进式 Web 应用程序

渐进式 Web 应用程序(PWA)就像普通的 Web 应用程序一样,只是加入了改进的用户体验。例如,PWA 可能包括脱机缓存、服务器端渲染、推送通知等。

大多数 PWA 功能可以通过 Vue CLI 3 插件或使用 Nuxt.js 等框架添加到 Vue 应用程序中,但你仍然需要了解一些关键技术,包括 Web App Manifest 和 ServiceWorker。

(原文翻译)

英文原文:https://vuejsdevelopers.com/2018/12/04/vue-js-2019-knowledge-map/

原文地址:https://www.cnblogs.com/babyfacer/p/10419729.html

时间: 2024-10-13 13:41:04

2019年的Vue发展的相关文章

2019年DevOps的发展趋势预测

各路分析师都在预测,DevOps已为未来的发展做好了准备.其中IDC预测DevOps的软件市场规模在2022年,将从2017年的39亿美元,增长到80亿美元.Grand View Research预测到2025年,全球DevOps市场规模将达到128.5亿美元,复合年增长率达到18.6%.哪些趋势将会在在2019年推动行业增长?针对此问题,我们总结了以下几点.在AI.机器学习领域引入DevOps,提高生产效率WEB表单是自动化的死结,每个人都觉着这种纯手工操作的方式非常麻烦,但这却是机构实现数据

DevExpress ASP.NET Core Controls 2019发展蓝图(No.3)

本文主要为大家介绍DevExpress ASP.NET Core Controls 2019年的官方发展蓝图,更多精彩内容欢迎持续收藏关注哦~ [DevExpress ASP.NET Controls 下载] PivotGrid 远程数据分页(v19.1或v19.2) 在2019年,团队将为您提供从远程服务器使用部分聚合数据加载的选项.此新功能将同时适用于Pivot Grid的pager控件(水平和垂直)以及虚拟滚动. 数据可视化 图表注释(v19.1) 使用自定义标签注释图表. 滚动条作为图表

2019年web前端开发技术框架有哪些

2019年八大Web开发趋势,如果你想要学习web前端技术,想要走web前端之路,那就从学好web前端,了解web前端开始吧! 对于知道web前端的人都知道,随着互联网的兴起,web前端框架层出不穷,H5开发模式也越来越流行,应之而来的就是web大前端时代.为了让更多的人了解web前端技术,我们特意分享了一些web技术,一起来看看吧! 每一年各种前端技术也应运而生,快速掌握最新的前端技术也是每一个开发者不可或缺的一门技能.如今也是新的一年的到来,去年,也就是2018年,大家也都知道,很多前端技术

Vue 全家桶 + Express 实现的博客(后端API全部自己手写)

为什么学习并使用Vue 1.发展趋势 最近这几年的前端圈子,由于戏台一般精彩纷呈,从 MVC 到 MVVM,你刚唱罢我登场. backbone,AngularJS 已成昨日黄花,reactjs 如日中天,同时另一更轻量的 vue 发展势头更猛,号称兼具了 angularjs 和 reactjs 的两者优点. 2.Vue能干吗 移动端的上网需求已经远高于pc端,特别是 hybrid 方式的H5应用中,但是性能问题一直是痛点. 如果使用 SPA(就是俗称的单页应用(Single Page Web A

Vue作者尤雨溪:以匠人的态度不断打磨完善Vue (图灵访谈)

访谈对象: 尤雨溪,Vue.js 创作者,Vue Technology创始人,致力于Vue的研究开发. 访谈内容: 你为何选择从事前端方面的工作? 其实,我本科读的是艺术史,研究生阶段学习Design & Technology,是设计和技术的混合.开始做前端的一个重要原因是,没有人帮我把设计出来的作品放到网站上给别人欣赏.比如说设计一个网站,但是没人帮我把设计出来的网站做出来.所以我只能自己做,做着做着就发现做网站本身也很有趣. 做网站的过程中也涉及怎么写出好的代码,怎样把设计的作品实现出来,后

【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验

本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于戏台一般精彩纷呈,从 MVC 到 MVVM,你刚唱罢我登场. backbone,angularjs 已成昨日黄花,reactjs 如日中天,同时另一更轻量的 vue 发展势头更猛,尤其是即将 release 的2.0版本,号称兼具了 angularjs 和 reactjs 的两者优点.不过现在的官方

大数据发展趋势预测

九十年前,法国诗人保罗瓦列里写道:"未来不再像过去那样." 从00年代中期开始的大数据趋势也可以这么说. 面对崭新的2019年,Datanami(提供研究和企业数据密集型计算的新闻和见解,涵盖大数据生态系统的新闻门户网站)从未停止脚步,他们已经从大数据,分析和IT领域行业预测者开始,让我们听听他们要说些什么? 数据分析及解决方案投入增长 服务公司Qubole的大数据创始人兼首席执行官Ashish Thusoo说"毫无疑问,商业智能和数据分析解决方案的投资将在2019年继续增长

2019第22届北京科博会

人工智能.互联网+.智慧城市.无人机:寻觅2019年科技产业未来走向?互联网行业发展几十年以来,市场普及率与技术成熟度越来越高.相应的,互联网+.人工智能.智慧城市.无人机.大数据等互联网思维下的产物,开始纷沓而至.随着互联网产业的队伍越来越壮大,他们对市场的影响力也越来越大.受此驱动,经济的发展模式开始由以传统行业主导的旧经济模式转变成以互联网行业为主导的新经济模式.而谈起互联网思维下的产物,2018年"动作"较大.影响力较大的产物,当属互联网+.人工智能.智慧城市.无人机等几个热门

视频直播系统解决方案—是基于声网SDK实现的

"在2019年5G创新发展峰会暨中国联通全球产业链合作伙伴大会上,中国联通董事长王晓初正式宣布联通5G实验网开通."伴随5G的到来,网络流畅度的提升,视频直播系统将持续火爆,视频直播系统解决方案也得到了快速解决,用户体验直播的场景也将实现多元化.这样一来我们必将涉及到海外的用户.我们开发的直播软件系统是怎样让海外客户来体验直播热情的呢?下面我来介绍下我们的视频直播系统是基于声网SDK的直播.连麦技术实现:1.初始化并设置代理: AgoraRtcEngineKit *rtcEngine