VueJS教程:与React,Angular,Ember,Knockout和Polymer框架的比较

比较一下VueJS和React,Angular,Ember,Knockout和Polymer等其他框架的比较。

1. VueJS与React比较

虚拟DOM

虚拟DOM是DOM树的虚拟表示。 使用虚拟DOM,创建一个与真实DOM相同的JavaScript对象。 每当需要对DOM进行更改时,都会创建一个新的JavaScript对象并进行更改。 之后,两个JavaScript对象进行比较,最后的更改在真实的DOM中更新。

VueJS和React都使用虚拟DOM,这使得它更快。

模板与JSX

VueJS分别使用htmljscss。 初学者很容易理解和采用VueJS风格。基于模板的VueJS方法非常简单。

React使用jsx方法。ReactJS的一切都是JavaScript。HTML和CSS都是JavaScript的一部分。

安装工具

React使用create react app,VueJS使用vue-cli /CDN/npm。 两者都非常容易使用,并且项目建立了所有的基本要求。 React需要构建Webpack,而VueJS则不需要。 我们可以从使用cdn库的jsfiddlecodepen中的任何地方开始编码VueJS。

受欢迎程度

React比VueJS更受欢迎。 React的工作机会不仅仅是VueJS。 React背后有一个很大的名字,也就是Facebook,使它更受欢迎。 因为React使用JavaScript的核心概念,所以它使用JavaScript的最佳实践。一个和React一起工作的人对于所有的JavaScript概念都是非常好的。

VueJS是一个发展中的框架。 目前,与React相比,VueJS的就业机会较少。 据调查,许多人正在适应VueJS,这可以使其比React和Angular更受欢迎。 有一个很好的社区正在研究VueJS的不同功能。vue路由器由这个社区维护定期更新。

VueJS采用了Angular和React的优秀部分,并建立了强大的库。 VueJS比React/Angular快得多,因为它的轻量级库。

2. VueJS与Angular比较

相似之处

VueJS与Angular有很多相似之处。 v-ifv-for等指令与ngIfngFor的Angular几乎相似。它们都有一个用于项目安装的命令行接口用来构建它。 VueJS使用Vue-cli和Angular使用angular-cli。 两者都提供双向数据绑定,服务器端渲染等。

复杂程度

Vuejs很容易学习。 如前所述,初学者可以使用VueJS的CDN库,并开始使用codepenjsfiddle

对于Angular来说,需要经过一系列的安装步骤,而初学者也很难开始使用Angular。 它使用TypeScript进行编码,这对于来自JavaScript核心背景的人来说很困难。 但是,对于有Java和C#背景的用户来说更容易学习。

性能

决定性能的取决于用户。 VueJS文件的大小比Angular轻得多。 以下链接提供了框架性能的比较:http://stefankrause.net/js-frameworks-benchmark4/webdriver-ts/table.html

受欢迎程度

目前,Angular比VueJS更受欢迎。 很多组织都使用Angular,因此非常受欢迎。 在Angular中经验丰富的求职者也更多地获得工作机会。 但是,VueJS正在占据市场的位置,可以被认为是Angular和React的一个很好的竞争对手。

依赖

Angular提供了很多内置功能。 我们必须导入所需的模块并开始使用它,例如@angular/animations@angular/form

VueJS没有Angular的所有内置功能,需要依靠第三方库来处理。

灵活性

VueJS可以很容易地与任何其他大项目合并,没有任何问题。 Angular不会那么容易与任何其他现有项目合作。

向后兼容性

我们都知道有AngularJSAngular2Angular4AngularJSAngular2有很大的不同。 在AngularJS中开发的项目应用程序由于核心的不同而不能转换为Angular2

VueJS的最新版本是2.0,并具有向后兼容性。 它提供了很好的文档,这很容易理解。

TypeScript

Angular使用TypeScript进行编码。 用户需要掌握Typescript的知识才能开始使用Angular。 但是,可以从jsfiddlecodepen中的任何位置开始使用VueJS编码使用cdn库。 我们可以使用标准的JavaScript,这很容易开始使用。

3. VueJS与Ember比较

相似之处

Ember提供了Ember命令行工具,即用于Ember项目的易于安装和编译的ember-cli。VueJS还有一个命令行工具vue-cli来启动和构建项目。
它们都具有诸如路由器,模板和组件等特性,使得它们在UI框架中非常丰富。

性能

与Ember相比,VueJS有更好的表现。 Ember增加了一个微光渲染引擎,目的是提高重渲染性能,这与VueJS和React使用虚拟DOM类似。 但是,与Ember相比,VueJS有更好的表现。

4. VueJS与Knockout比较

Knockout提供了很好的浏览器支持。它支持IE的较低版本,而IE8及以下版本不支持VueJS。 Knockout的发展速度已经放缓。近来也没有太多的人气。

另一方面,VueJS开始越来越受欢迎,Vue团队定期更新。

5. VueJS与Knockout比较

Polymer库是由Google开发的。 它用于许多Google项目,例如Google I/O,Google Earth,Google Play Music等。它提供了与VueJS类似的数据绑定和计算属性。

Polymer自定义元素定义包括普通的JavaScript/CSS,元素属性,生命周期回调和JavaScript方法。 相比之下,VueJS允许轻松使用JavaScript/html和CSS。

Polymer使用Web组件功能,并且需要浏览器的polyfills,否则不支持这些功能。 VueJS没有这样的依赖关系,并且在IE9+的所有浏览器中工作正常。

THE END