前端开发 vue,angular,react框架对比2
在过去一年里,前端开发发展迅速,前端工程师的薪资亦是水涨船高。2019 更是热度不减,而作为近年来尤为热门的前端框架,Vue.js 自是积累了大量关注。那么,Vue.js 是适合你的框架吗?
作者 |Tim Han
译者 | 苏本如
责编 | 仲培艺
对于大多数人来说,现在要构建一个新的前端应用,对框架/库的选择在很大程度上都是在 Angular 和 React 中二选一。很多时候,人们不会给 Vue.js 足够的关注。因此,我想分享一些有关 Vue.js 的信息,以及我在使用 Vue.js 来构建生产应用中获得的一些个人经验。现在让我们一起来问这个问题:Vue.js 是适合你的框架吗?
注意:我并不想说 Vue.js 比 React、Angular 或者其它的任何前端框架好。这里我分享的只是我在项目中使用 Vue.js 而获得的一些个人体验。
对于那些刚接触 Vue.js 或从未听说过 Vue.js 的人来说,Vue.js 是一个 Javascript 前端框架,最初于 2014 年发布,由 Evan You 开发。从那时起,Vue.js 就在很短的时间内获得了许多前端开发人员/工程师的广泛欢迎。使用 Vue.js 的一些著名公司包括 GitLab、阿里巴巴、BuzzFeed 等等。
这是一个好问题!可以列出许多优点,而根据我的个人经验,下面 4 点是最突出的优点:
1. 轻量化
2. 低复杂性
4. 低学习曲线(对初学者友好)
现在让我们来了解每一点的细节。
使用 Vue.js 来开发生产应用或个人项目的一个显著优势是它是一个相对轻量化的框架/库。让我们看看不同前端框架/库的下载空间:

轻量化非常有用,尤其是在快速构建一个简单应用的时候。我个人的用例是为工程团队的内部工具构建 UI。
这恰好是 Vue.js 中我最喜欢的部分,因为在使用 React 构建许多应用之后,一旦在混合代码库中添加状态管理,随着应用程序变大,代码库通常会变得非常复杂。我注意到 React 应用变得复杂的原因之一是 JSX 模板、 lifecycle(生命周期)方法和其他方法都存在于同一个对象中。这常常使理解逻辑流程变得非常困难。那么,让我们看看 Vue.js 代码是怎么写的:
请注意,这里 HTML 模板、必要的方法和样式表都是独立的,因此很容易知道要查看的是代码的哪个部分。这意味着代码库相对容易维护,而不必每次更新代码时都增加代码库的复杂性。
就像 React 一样,Vue.js 实现了使用虚拟 DOM 来操作/渲染视图。通过使用虚拟 DOM,用户界面将通过在每次需要更改时不渲染真实的 DOM,而只是呈现虚拟 DOM 和真实 DOM 之间的部分差异,进而获得更好的性能。
我相信很多人都经历过这种情况。
大多数从事 Web 开发的人都会学习以下三种基础技术:HTML、CSS 和 JavaScript。想象一下一个初学者必须学习一个叫做 JSX 的新东西,而不是 HTML。虽然 JSX 看起来类似于 HTML,但确实有很多不同之处将 JSX 与 HTML 区分开来,而这种学习就不是 Vue.js 所必需的。

如上面所示,Vue.js 使用与 HTML 相同的标记名,这使得将知识从 HTML 传输到 Vue.js 更加容易。此外,代码的模块化结构有助于理解 Vue.js 组件的不同动作部分。
对于那些熟悉 React 的人来说,学习 Vue.js 是小菜一碟,因为两者之间有很多相似之处。
正如我想说的,Vue.js 非常棒,像任何其它框架/库一样,本身几乎没有什么缺点。我还是在下面列出我所知道的 Vue.js 为数不多的几个缺点:
1. 社区小
2. 英文写作资源少
3. 就业机会少
我早期在用 Vue.js 开发项目时遇到的一个问题是,有时很难找到在应用开发中遇到的非常具体的问题的支持。因为 Vue.js 社区的规模仍然不如 Angular 或 React 那么大。
另外一个我遇到的问题是,当我认为自己找到了帮助时,他们的回答往往是用中文写的。就好象我以为我得救了的时候,其实我只是吞下了一个饵。后来,我发现 Vue.js 在亚洲国家比像在美国这样的英语国家更受欢迎。(备注:对应原文英文背景)
最后,在目前的状态下,使用 Vue.js 的公司并不多,因此很难找到需要 Vue.js 专业技能的工作。所以,我建议在以下情况下使用 Vue.js:个人项目、小规模的 UI 应用,或者出于好玩的目,以便你能够在相对较短的时间内为你的应用提供一个轻量级的用户界面。
现在,是时候回答这个问题了:Vue.js 是适合你的框架吗?
前端开发 vue,angular,react框架对比2的更多相关文章
- Android &Swift iOS开发:语言与框架对比
转载自:http://www.infoq.com/cn/articles/from-android-to-swift-ios?utm_campaign=rightbar_v2&utm_sour ...
- Vue于React特性对比(三)
最近重学React,再次和vue做了对比. 一,为官方插件提供便利的第三方插件横行 React仅仅是一个ui框架.虽然官方提供了redux,react-router:但也有第三方的redux-thun ...
- Vue和React的对比
今晚我们来搞一搞Vue和React的对比好吧,话不多说今天我们直接开搞可好,各位小老板,开始吧 1. react整体是函数式的思想,把组件设计成纯组件,状态和逻辑通过参数传入, 所以在react中,是 ...
- 前端开发 vue,angular,react框架对比1
转载自:https://www.cnblogs.com/hubgit/p/6633214.html 首先,我们先了解什么是MVX框架模式? MVX框架模式:MVC+MVP+MVVM 1.MVC:Mod ...
- vue、react、angular三大框架对比 && 与jQuery的对比
前端当前最火的三大框架当属vue.react以及angular了. 但是在做项目的时候,我们怎么去选择呢? 这里做一个比较,希望大家可以有一个比较清晰的认识. vue与react vue和react ...
- vue,angular,react框架对比
转载自:https://www.cnblogs.com/hubgit/p/6633214.html 首先,我们先了解什么是MVX框架模式? MVX框架模式:MVC+MVP+MVVM 1.MVC:Mod ...
- vue、react、angular三大框架对比
前端的三大框架当属vue.react以及angular了,个人比较偏向react,它的社区比较繁荣,有很多丰富的组件 .angular的话感觉编译时间有点长,等待很恼火. vue与react vue和 ...
- vue和react全面对比(详解)
vue和react对比(详解) 放两张图镇压小妖怪 本文先讲共同之处, 再分析区别 大纲在此: 共同点: a.都使用虚拟dom b.提供了响应式和组件化的视图组件 c.注意力集中保持在核心库,而将其他 ...
- vue与其他框架对比
https://cn.vuejs.org/v2/guide/comparison.html 1. vue 框架的特点? MVVM框架模式 轻量级,灵活,容易上手 数据驱动 组件化(单文件组件) 插件化 ...
随机推荐
- ueditor div style被过滤 解决办法
上周开发中有用到开源的富文本编辑器UEditor,在使用的过程中遇到了样式被过滤无法显示问题,经过一番折腾终解决,此外,还有一些关于获取前台界面元素的一些总结. 1. UEditor样式被过滤无法显示 ...
- 统一异常处理@ControllerAdvice
一.异常处理 有异常就必须处理,通常会在方法后面throws异常,或者是在方法内部进行try catch处理. 直接throws Exception 直接throws Exception,抛的异常太过 ...
- [Vue warn]: You are using the runtime-only build of Vue where the template compiler is not available
原文链接https://blog.csdn.net/xiaomajia029/article/details/88320233 问题描述: 原因分析:在项目配置的时候,默认 npm 包导出的是运行时构 ...
- Java线程的wait(), notify()和notifyAll()
Java线程生命周期 类java.lang.Thread包含一个静态的State enum用于定义每种可能的状态. 在任意的时间点, 线程会处于以下的状态之一: NEW – 新创建的线程, 还未启动( ...
- ListView中嵌入布局的Button或多个点击事件
有时候在ListView嵌入的布局中有多个事件需要点击,比如一个item中有TextView和Button两个布局,当我们需要获取这两个点击事件时,我们应该如何去获取呢,通常来说,我们都是已经固定好了 ...
- 关于H5项目开发中TS(或JS)文件按照顺序编译成一个文件的记录
由于js的执行特性,多个js文件合成一个文件或者进行多个js文件加载时,时需要按照指定的顺序进行的,否则会出现报错的情况. 我们看一下目前几个主流H5引擎的做法. 白鹭的做法 当前版本的做法 在tsc ...
- kafka与Rocketmq的区别
淘宝内部的交易系统使用了淘宝自主研发的Notify消息中间件,使用Mysql作为消息存储媒介,可完全水平扩容,为了进一步降低成本,我们认为存储部分可以进一步优化,2011年初,Linkin开源了Kaf ...
- [简短问答]lodop打印过慢或有进度条
问法1:打印预览显示进度条,过慢出现进度条,打印过慢,可能和很多原因有关:打印内容或样式或图片等过多,有需要下载有脚步执行或本身网络慢:机器性能过低 系统ie有问题或缓存过多:或使用的是共享打印机.如 ...
- SVN限制普通用户删除文件及提交时必须填写log日志
SVN用得也算挺广泛的,但是它也存在着一个大问题,就是权限控制得比较差,要么读,要么读写,而读写就意外着可以删除文件(目前我的理解是这样,如果有什么不对的地方,请多指教). 刚好前段时间发生了开发人员 ...
- [LeetCode] 259. 3Sum Smaller 三数之和较小值
Given an array of n integers nums and a target, find the number of index triplets i, j, k with 0 < ...
