2019 年学习 Vue.js 的七个理由
我喜欢用 Vue.js 构建应用程序,这就是为什么我认为该框架及其社区的前景光明。
1. 无需构建步骤
Vue 理念的一个关键方面是易于上手。与其他一些流行框架不同,使用它构建应用程序无需使用 Webpack 等复杂的构建工具。只需添加一个指向最新版本(用于开发或生产)的脚本标签,即可访问 Vue 运行时。
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>
由于进入门槛低,Vue 值得作为第一个学习的 JS 框架。
2. 世界一流的命令行界面
当然,许多开发者正在寻找高级开发功能,例如 ES 或 TypeScript 转译、热模块替换和 tree-shaking,这些功能可以通过构建工具实现。Vue 也能满足您的需求。
npm install -g @vue/cli
vue create my-project
去年,Vue 核心团队彻底重写了他们的命令行界面,最终诞生了 Vue CLI 3。它的设计理念旨在推广最佳实践,并采用功能齐全的默认 Webpack 配置,使其更易于扩展,升级也更便捷,即“无需弹出”。Vue CLI 提供了大量实用的附加功能,包括交互式项目初始化向导(可通过终端或 Web UI 使用)、支持生成器和社区附加组件配置的插件系统,以及指定其他构建目标(例如 Web 组件或库)的功能。
3. 友好的学习曲线
我经常听到有人批评 Vue,说它的 API 比其他一些流行框架的接口更复杂,我在一定程度上同意这个观点(具体要看框架)。讽刺的是,我反复听到的另一个说法是Vue很容易学习。虽然这个说法比较主观,也比较坊间传闻,但无论大家之前有没有 JavaScript 框架或 JavaScript 的使用经验,我都听过类似的评价。
我认为其中一个原因是 Vue 是一个“渐进式 JavaScript 框架”。
无需学习整个 API 即可开始使用 Vue,无需学习 JSX 等新语法;只需要基本的 HTML、CSS 和 JS 知识即可开始使用。
4. 稳固的生态系统
在学习 Vue 之前,我对学习基础之外的最佳实践的碎片化感到沮丧。我应该使用哪个客户端路由器?我应该使用哪种数据管理/Flux 实现?我该如何测试我的组件?我应该如何配置我的构建系统?随着时间的推移,这些问题的答案变得越来越容易,这取决于社区,但我从一开始就喜欢 Vue 的方法。
Vue 官方支持多个必备插件,包括vue-router
客户端路由、vuex
状态管理、vue-test-utils
组件单元测试、vue-devtools
用于调试的浏览器扩展以及前面提到的 Vue CLI。这些工具都不是必需的,Vue 可以很好地与这些库的替代方案配合使用,例如使用redux
或mobx
替代vuex
,或者使用其他路由器。关键在于,社区通过支持一组非常优秀的推荐默认设置来协助开发人员,而 Ruby on Rails 等后端框架一直以来都在这方面做得非常出色。
5. Vue 实例
Vue 最强大的地方在于它的响应式系统。我们可以通过实例Vue
来利用它。
new Vue({
el: "#app",
})
此调用是每个 Vue 应用程序的初始化方式。它还会创建应用程序的完全响应式根组件。Vue 实例还可以用作事件总线,或用于独立于应用程序组件树跟踪依赖项更改,例如,作为 Vue 插件的实现细节。
Vue 的响应式系统简洁优美。体验 Vue 实例是理解响应式系统工作原理的绝佳途径,并且能够提升 Vue 和 JavaScript 的综合技能。
6. Vue 3 将于今年登陆
说到 Vue 的反应系统,Vue 3 预计将于今年发布。除了一些架构和性能改进以及细微的 API 更改之外,Vue 3 还提供了一个基于代理的新的反应系统实现。
基于代理的系统解决了Vue 变更检测的一些已知问题:
在 Vue 2 中,Vue 不能:
- 检测属性添加,例如,
vm.b = 2
- 通过索引或修改长度来检测数组修改,例如,
arr[0] = 2
- 解决方法:使用
Vue.set
,例如,Vue.set(vm, 'b', 2)
Vue 3 基于代理的反应性使这些恼人的问题消失了。
7. 令人惊叹的社区
自从开始使用 Vue 以来,我很荣幸能够通过论坛、Twitter、GitHub 以及本地聚会向众多 Vue 开发者学习。Vue 拥有一支勤奋敬业的分布式核心团队,他们不断改进框架,避免给开发者带来过多的附加功能或繁琐的升级负担。Vue论坛是向专家获取棘手问题真知灼见的绝佳途径。Vue 大会,例如VueConf.us和Vue Amsterdam,是与社区其他成员联系并参加更深入的研讨会的绝佳途径,目前已在世界各地举办。此外,还有Vue Vixens,一个为女性学习 Vue.js 提供安全环境的组织。
额外福利。纯粹的乐趣
我从事 Web 开发的时候,Ruby 和 Rails 框架正风靡一时。我一直很喜欢 Ruby 的一点是,它的创始人松本行弘(Yukihiro Matsumoto)有一个明确的目标(我敢说,这目标很大胆),那就是发明一种专为开发者的幸福而优化的语言。
当我使用 Vue.js 构建界面时,我也有同样的感受。我花在配置和 API 上的时间更少了,而花在构建和享受构建过程上的时间更多了。
虽然我不知道 Vue.js 的创建初衷是否明确地是为了开发者的幸福,但它一直以来都在努力实现这一目标。我从许多花时间学习 Vue.js 的人那里听到了这一点,这或许也是我在 2019 年推荐 Vue.js 的最重要原因。
那你还在等什么?祝你来年 Vue.js 之旅一切顺利。
你喜欢这篇文章吗?订阅我在rossta.net上的新闻邮件,我会不定期给你发送关于使用 Vue.js 进行 Web 开发的电子邮件。
文章来源:https://dev.to/rossta/seven-reasons-learn-vuejs-in-2019-2n9o