我们为何选择vue.js

开发 前端
让我们投向Vue.js的主要原因在于:它能让团队书写用js更容易并且简化了js。上手Vue.js是相当容易的。它的源码有着很高的可读性,如果你需要仅用他的文档便可入门。你不必使用任何额外的库。如果需要可以和jQuery协同工作。他有许多的插件,但并非必须。我个人很喜欢优雅的Vue.js。用Vue.js配合已存在代码是十分简单的。

几周之前我和一位面试者畅谈了关于我们应该如何选择js框架。他指出当大厂开始公开它们的独家秘方,是多么令人兴奋。开发者内心独白:“这些大厂书写的js与我的不同,他们卓越且成功。他们组织js的方式比我好?我要接受它?”

他们的秘密武器应该是优秀的,但不要因为其他人的激情而去假设它的优异性。在未理解之前,你不会从StackOverflow 上复制黏贴答案,所以为何你要复制黏贴一个框架?

这让我想到了当初我们决定在GitLab上使用 vue

更简单更易用

让我们投向Vue.js的主要原因在于:它能让团队书写用js更容易并且简化了js。上手Vue.js是相当容易的。它的源码有着很高的可读性,如果你需要仅用他的文档便可入门。你不必使用任何额外的库。如果需要可以和jQuery协同工作。他有许多的插件,但并非必须。我个人很喜欢优雅的Vue.js。用Vue.js配合已存在代码是十分简单的。Vue.js并不神秘,他的底层仅仅是一个对象。

我与许多js开发者讨论过后发现一个有趣的现象:那些花费主要时间在Angular上的开发者对js的理解并没有多深。我并不想这样的情形出现在我和我的伙伴身上。为何我们要书写“非js”?

这让我想到了当初使用Backbone的情形,我需要尽可能保持DRY(don`t repeat yourself),因为这玩意就是张白纸随你书写。Vue.js并未对其他东西做过多工作,它只关注数据。

但Vue.js在你要做的与他能做的之间达到了***的平衡。如果Backbone 是无政府状态(无人负责)那么Angular就是独裁者(Angular团队负责所有)。我觉得Vue.js像是共产主义:项目由你负责,但Vue.js为你铺设了一张可延展,健壮并且有弹性的安全网来帮助你更加有效地编程,并且规避dom带来的影响。

为了让你理解我的想法,请看代码点击预览 

  1. <div id="journal"
  2.   <input type="text" v-model="message"
  3.   <div>{{message}}</div> 
  4. </div>  
  1. var journal = new Vue({ 
  2.   el: '#journal'
  3.   data: { 
  4.     message: 'Your first entry' 
  5.   } 
  6. });  

如果你曾看过一些js库,那么在不依赖文档的情况下,看懂上述例子中的代码并不困难。通常在其他框架中,此处需要简单暂停一下。当你执行“入门”级别的例子时,你感到满意。但当你想要在框架上获得花费成本的价值时,事情变的复杂起来。这并不会发生在Vue.js上,实际应用就与文档例子一样简单。

Vue.js + GitLab意味着更少的代码

那么这为GitLab解决了哪些问题?我加入之时,所有的代码使用JQuery书写,这并非有什么错误,不过这花费了更多的代码来解决每个问题。我们知道自己可以做的更好。一旦我们开始使用Vue.js,我们使用更少的代码便能够迅速且连续地解决复杂的问题。

举一个我们项目使用过程中简单且实际的例子:在GitLab Issue中,issue的状态是在closed 与open 间切换的。这个值经常需要变化,并且应用在许多的个view中。使用JQuery你需要30行左右的代码来实现该功能。

在Vue.js中,我们仅需要一行的js代码。其他代码我们加在HTML 中添加一些额外的属性。

尤雨溪甚至做一个碉堡的框架并不仅仅是书写优秀的代码。你需要一个优异的文档,一个帮组每一个人学习的强大社区,一个配套库的支持,大量插件帮组使用者解决困难,一个基于用户用户反馈并保证框架关联性的反馈循环。Vue.js是所有这些的集合体,并非仅仅只有优秀的代码。这就是我使用它的原因,那么你呢?

责任编辑:庞桂玉 来源: segmentfault
相关推荐

2020-01-09 15:35:54

ReactAngularVue.js

2017-11-06 13:20:08

前端Angular.jsVue.js

2018-04-04 10:32:13

前端JavascriptVue.js

2017-07-04 17:55:37

Vue.js插件开发

2022-01-19 22:18:56

Vue.jsVue SPA开发

2021-01-22 11:47:27

Vue.js响应式代码

2017-07-14 10:10:08

Vue.jsMixin

2016-11-01 19:10:33

vue.js前端前端框架

2020-09-07 14:40:20

Vue.js构建工具前端

2017-07-11 18:00:21

vue.js数据组件

2017-07-20 11:18:22

Vue.jsMVVMMVC

2024-05-13 08:04:26

Vue.jsWeb应用程序

2020-04-06 09:18:08

前端开发框架

2024-12-03 14:49:28

2017-08-30 17:10:43

前端JavascriptVue.js

2019-07-26 14:40:58

Vue.jsSocket.IO前端

2023-03-16 14:29:48

Vue.js测试

2024-01-18 11:50:28

2016-09-21 13:32:13

JavascriptWeb前端

2020-09-16 06:12:30

Vue.js 3.0Suspense组件前端
点赞
收藏

51CTO技术栈公众号