您好!欢迎来到静学网! 注册 登入
  • 致力提供中国优质IT教程及新媒体资讯,打造中国品牌教育先锋。

阐述Vue.js框架与angularjs、reactjs等js框架本质区别

课程目录 教育推动者 次浏览
事实上一开始就讲vuejs与其它框架的不同之处,是有些欠妥的,因为很多朋友并未真真正了解并使用vuejs来做过开发项目,这对于深刻理解vuejs框架与其它框架之间的区别是不利的,这里可能并不会太深入,但尽量全面,当大家学习完这些框架,当然如果你在项目中需要,可以把这几款比较重要的框架学习一下,毕竟在团队开发中,vuejs可能不会用,相反可能会用reactjs、angularjs等js框架。
 
其实vuejs作者对其它js框架的相关已经有了比较明确的思路,在vue官网中他着重讲明了这一点,当然这也并不是说他极力诋毁别人的东西,来提高自己的产品地位,恰恰相反,这位vue作者能够站在比较中立、客观的位置来看待自己的产品,虽然vuejs还是比较年轻的一款框架,但是其优越的性能让它在其它框架之中脱颖而出,虽然作者已经有了明确答案,但在这里还是简单讲解一下,这对于没有用过的朋友理解起来会有些难度。
 

一、上线时间

 
vuejs于2014年2月;AngularJS于2009年上线,创始人Misko Hevery;react于2013年5月29日,Facebook内部开发;Emberjs,这款框架资料比较少,不过可以上官网学习https://emberjs.com,该款框架于于2011年12月发布;Knockoutjs 是一个JavaScript MVVM(MVC的现代变体)库,它使得用JavaScript和HTML创建丰富的、类似桌面的用户界面变得更加容易。它使用观察者使您的UI自动与底层数据模型保持同步,同时使用一组强大且可扩展的声明性绑定来支持高效的开发,2010年7月5日上线,下载地址https://knockoutjs.com/downloads/index.html;Polymer.js是Google开发人员开发的开源JavaScript库, 最初于2015年5月27日发布;Riotjs也是一款开源框架,具体上线时间2015年。
 

二、js框架详解

 
由于vue作者比较充分说明常见框架的区别,这里可能不会太深入讲解,大多引入作者的观点。
 

Riotjs框架

 
附上官方网站https://riot.js.org,主要方便大家查看资料,Riotjs被认为所有js框架体积最小的,1kb的大小具备了其它框架所以功能,是一款MVP(模型-视图-呈现)开源客户端框架。Riot 3.0 提供了一个类似于基于组件的开发模型 (在 Riot 中称之为 Tag),它提供了小巧精美的 API。Riot 和 Vue 在设计理念上可能有许多相似处。尽管相比 Riot,Vue 要显得重一点,Vue 还是有很多显著优势的。
 
比如:更好的性能:Riot 使用了遍历 DOM 树而不是虚拟 DOM,但实际上用的还是脏检查机制,因此和 AngularJS 患有相同的性能问题。
 
更多成熟工具的支持:Vue 提供官方支持 webpack 和 Browserify,而 Riot 是依靠社区来建立集成系统。


Knockoutjs框架:

 
Knockoutjs也是免费,开源的,附上官方网站https://knockoutjs.com/,Knockout是一个JavaScript库,可帮助您使用干净的基础数据模型创建丰富,响应迅速的显示和编辑器用户界面。每当您的UI部分可以动态更新(例如,根据用户的操作或外部数据源的更改而变化)时,KO可以帮助您更简单,更可维护地实现它。

knockoutjs
 
纯JavaScript库-与任何服务器或客户端技术一起使用;
 
可以添加到现有Web应用程序的顶部,而无需进行重大的体系结构更改;
 
压缩-gzip压缩后大约13kb;
 
适用于任何主流浏览器(IE 6 +,Firefox 2 +,Chrome,Safari,Edge,其他);
 
全面的规格套件(已开发的BDD样式)意味着可以在新的浏览器和平台上轻松验证其正确功能;
 
它的响应系统和 Vue 也很相似。它在浏览器支持以及其他方面的表现也是让人印象深刻的。它最低能支持到 IE6,而 Vue 最低只能支持到 IE9。Knockout 的发展已有所放缓,并且略显有点老旧了。比如,它的组件系统缺少完备的生命周期事件方法,尽管这些在现在是非常常见的。以及相比于 Vue 调用子组件的接口它的方法显得有点笨重。
 

Reactjs框架:

 
先附上官网https://reactjs.org/,React是用于构建用户界面的JavaScript库,起源于Facebook的内部项目。React使创建交互式UI变得很轻松。为应用程序中的每个状态设计简单的视图,当数据更改时,React将有效地更新和呈现正确的组件。由于组件逻辑是用JavaScript而不是模板编写的,因此您可以轻松地通过应用程序传递丰富的数据并将状态保持在DOM之外。React还可以使用Node在服务器上进行渲染,并使用React Native来支持移动应用程序。
 
当然,React 和 Vue 有许多相似之处,比如使用 Virtual DOM、提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件、将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库。


reactjs
 
 

AngularJS框架:

 
附上官方网站https://angularjs.org/,AngularJS和vue一样相对比较简单,容易上手,它通过 指令 扩展了 HTML,且通过表达式绑定数据到 HTML语言中。AngularJS是一个工具集,用于构建最适合您的应用程序开发的框架。它是完全可扩展的,并且可以与其他库一起很好地工作。
 
与其他框架不同,无需从专有类型继承即可将模型包装在访问器方法中。AngularJS模型是普通的旧JavaScript对象。这使您的代码易于测试,维护,重用,并且再次摆脱了样板。
 
另外,Vue 相比于 Angular 更加灵活,Vue 官方提供了构建工具来协助你构建项目,但它并不限制你去如何组织你的应用代码。有人可能喜欢有严格的代码组织规范,但也有开发者喜欢更灵活自由的方式。Vue 有更好的性能,并且非常非常容易优化,因为它不使用脏检查。在 AngularJS 中,当 watcher 越来越多时会变得越来越慢,因为作用域内的每一次变化,所有 watcher 都要重新计算。
 
如果一些 watcher 触发另一个更新,脏检查循环 (digest cycle) 可能要运行多次。AngularJS 用户常常要使用深奥的技术,以解决脏检查循环的问题。有时没有简单的办法来优化有大量 watcher 的作用域。
 
Vue 则根本没有这个问题,因为它使用基于依赖追踪的观察系统并且异步队列更新,所有的数据变化都是独立触发,除非它们之间有明确的依赖关系。
 
由于js框架比较多,这里不再过多列举,内容会在js框架课程中体现,至少10js框架系列课程,课程完全免费,不过需要大家花点时间阅读,基础性的东西可能会比较多,深层次的东西也会有,不过这需要打好基础。
 
 
 



静学网 , 版权所有丨如未注明 , 均为原创丨转载请注明阐述Vue.js框架与angularjs、reactjs等js框架本质区别
顶一下
(0)
踩一下
(0)
畅所欲言
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论
友情链接:
自学网
本网站所刊载信息,不代表静学网观点。 刊用本网站稿件,务经书面授权或注明来源。 未经授权禁止转载、摘编、复制及建立镜像,违者将依法追究法律责任。 投稿邮箱:1870447831@qq.com | 举报邮箱:1870447831@qq.com