为什么GitLab选择Vue.js?

16-10-22 banq
    

GitLab选择Vue.js是因为简单易用和只需更少代码。

简单易用

Vue.js很容易编写简单的JavaScript。开始使用Vue.js是非常容易的。它的源代码是非常可读的,文档是唯一的教程,你永远需要。你不需要外部的库。你可以使用jQuery或不。你不需要安装任何插件,尽管有许多可用的插件。我喜欢香草轻量 Vue.js,就我个人而言,虽然当我需要各种Vue资源就可得到它。从vue.js到现有的代码是非常简单的。vue.js没有魔法–它就是按照对象方式一路走下去。

我跟很多JavaScript开发者交谈过,觉得很有趣,他们花大部分时间Angular,以至于都不能很好了解JavaScript了。我不希望我或者我们的开发者变成这样。我们为什么要写“没有JavaScript“的代码呢?

我记得当我使用的Backbone,我不得不真正迫使自己保持DRY,因为它确实是一个空白画布。vue.js不做出什么大的假设。它真的只假设你的数据将改变。

Vue.js是完美的平衡,它会为你做什么,什么是需要你自己做。如果Backone是无政府状态(没有主管),而Angular是一个专政(Angular团队统治),我想说Vue.js是社会主义:绝对是你在主宰,vue.js总是使用触手可及的,坚固的,但灵活的安全网网络以帮助你保持你的编程效率和将你所遭受的DOM苦难降到最低。

下面是简单代码:

<div id="journal">
  <input type="text" v-model="message">
  <div>{{message}}</div>
</div>
<p>

var journal = new Vue({
  el: '#journal',
  data: {
    message: 'Your first entry'
  }
});
<p>

如果你见过几个JavaScript库,没有任何文档都很难了解例子。通常使用其他框架,开始时,你能得到很好的,简单的例子,当到了现实中的事情就变得复杂。vue.js如同文档一样一直保持简单。

这就是我们爱vue.js原因:它是结构和简单的优雅组合。视图的数据进入一个被称为数据data的对象。任何你编写回调事件的函数会进入一个methods的对象,但他们可以做或返回任何你想要的。vue.js只知道事情的变化和更新你的视图。而且你写的代码变少了。

Vue.js + GitLab === Less code

当我加入gitlab的时候,所有的JavaScript都是用jQuery编写。这并没有什么错,除了需要更多的代码来解决每一个问题。我们知道我们可以做得更好。一旦我们开始使用Vue.js,我们可以在很短的时间立即解决复杂的问题。

一个简单的但实际的例子,我们在生产中的应用:在gitlab “Issue问题“上,“问题”的状态是显示关闭或打开。这个简单的值可以经常改变,需要在几个视图中表示。使用jQuery,我们大约有30行左右的代码行来传播这些变化,这些传播线路涉及多个类和手工查询DOM。

在Vue.js,现在只要求我们写一行JavaScript。唯一的其他代码是加在HTML,这只是一些额外的属性。

Why We Chose Vue.js | GitLab

    

3