我们为何选择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是所有这些的集合体,并非仅仅只有优秀的代码。这就是我使用它的原因,那么你呢?

作者:maser_yoda

来源:51CTO

时间: 2024-09-30 07:36:02

我们为何选择vue.js的相关文章

前端开发之走进Vue.js

Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式.本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解如何通过Vue.js来构建一个中大型的前端项目,同时做好相应的部署与优化工作. 文章将以PPT图片附加文字介绍的形式展开,不会涉及知识点的具体代码,点到为止.有兴趣的同学可以查看相应的文档进行了解. Vue.js简介 从上图的介绍中我们不难发现Vue.js是一款轻量级的以数据驱动的前端JS框架,其和jQuery最大的

vue.js与其他前端框架的对比

  React React 和 Vue 有许多相似之处,它们都有: 使用 Virtual DOM 提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件. 将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库. 由于有着众多的相似处,我们会用更多的时间在这一块进行比较.这里我们不只保证技术内容的准确性,同时也兼顾了平衡的考量.我们需要承认 React 比 Vue 更好的地方,比如更丰富的生态系统. 相似之处 React与Vue存在很多相似之处,例如他

结合Vue.js的前端压缩图片方案

这是一个很简单的方案.嗯,是真的. 为什么要这么做? 在移动Web蓬勃发展的今天,有太多太多的应用需要让用户在移动Web上传图片文件了,正因如此,我们有些困难必须去攻克: 低网速下上传进度缓慢,用户体验差 高并发下,后台处理较大的上传文件压力大 或许有更多... 在攻克上面的一些困难时,我们也可以给自己一些疑问: 真的有必要保存用户上传的原图吗? 用户还能等多久? 或许还有更多... 结合上面的一些困难和疑问,再结合我们实际的案例,我们或许可以这样做 -- 在用户上传图片时,图片被提交到后台之前

Vue.js源码(2):初探List Rendering

下面例子来自官网,虽然看上去就比Hello World多了一个v-for,但是内部多了好多的处理过程.但是这就是框架,只给你留下最美妙的东西,让生活变得简单. <div id="mountNode">      <ul>          <li v-for="todo in todos">            {{ todo.text }}          </li>      </ul>  <

Vue.js 2.0 和 React、Augular等其他前端框架大比拼_javascript技巧

React React 和 Vue 有许多相似之处,它们都有: 使用 Virtual DOM 提供了响应式(Reactive)和组件化(Composable)的视图组件. 保持注意力集中在核心库,伴随于此,有配套的路由和负责处理全局状态管理的库. 相似的作用域,我们会用更多的时间来讲这一块的比较.不仅我们要保持技术的准确性,同时兼顾平衡.我们指出React比Vue更好的地方,例如,他们的生态系统和丰富的自定义渲染器. React社区在这里非常积极地帮助我们实现这一平衡,特别感谢来自 React

详解vue.js组件化开发实践_javascript技巧

前言 公司目前制作一个H5活动,特别是有一定统一结构的活动,都要码一个重复的轮子.后来接到一个基于模板的活动设计系统的需求,便有了下面的内容.借油开车. 组件化 需求一到,接就是怎么实现,技术选型自然成为了第一个问题.鉴于目前web前端mvvm框架以及组件化开发方式的流行,决定技术栈采用:vue + es6 + 组件化. 这里首先简单说下web前端组件化开发方式的历程: 最早的组件化结构,代码结构可能如下: - lib/components/calendar |- calendar.css |-

vue.js+boostrap项目实践(案例详解)_javascript技巧

一.为什么要写这篇文章 最近忙里偷闲学了一下vue.js,同时也复习了一下boostrap,发现这两种东西如果同时运用到一起,可以发挥很强大的作用,boostrap优雅的样式和丰富的组件使得页面开发变得更美观和更容易,同时vue.js又是可以绑定model和view(这个相当于MVC中的,M和V之间的关系),使得对数据变换的操作变得更加的简易,简化了很多的逻辑代码. 二.学习这篇文章需要具备的知识 1.需要有vue.js的知识 2.需要有一定的HTML.CSS.JavaScript的基础知识 3

vue.js表格组件开发的实例详解_javascript技巧

前言 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展. 组件开发的基础 组件可以扩展 HTML 元素,封装可重用的代码.我理解为功能模块的模板吧. 对于vue来说,组件是这个样子的,我们在html里面写 <div id="example"> <my-compone

Vue.js 父子组件通讯开发实例_javascript技巧

vue.js,是一个构建数据驱动的 web 界面的库.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.(这是官方的一个解释!) 小编没使用过angularjs,也没使用过react.js,不能详细的说明三者的区别,想了解的话,在官方有一个分析,请点这里查看 小编从业前端开发也有了一年多的时间,刚开始的时候,前端开发展现的技术太多,小编有心无力,兼顾不过来,经过了解之后,还是选择了学原生js基础兼并jquery的学习上路.小编使用vue.js,也是因为业务的需求