- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vue 对比其它框架
vue 对⽐其它框架
vue 对⽐其它框架
Angular
选择 Vue ⽽不选择 Angular ,有下⾯⼏个原因,当然不是对每个⼈都适合:
在 API 与设计两⽅⾯上 Vue .j s 都⽐ Angular 简 得多,因此你可以快速地掌握
它的全部特性并投⼊开发。
Vue .j s 是⼀个更加灵活开放的解决⽅案。它允许你以希望的⽅式组织应⽤程
序,⽽不是任何时候都必须遵循 Angular 制定的规则。它仅仅是⼀个视图层,
所以你可以将它嵌⼊⼀个现有页⾯⽽不⼀定要做成⼀个庞⼤的 页应⽤。在配
合其他库⽅⾯它给了你更⼤的的空间,但相应,你也需要做更多的架构决策。
例如,Vue .j s 核⼼默认不包含路由和 Aj ax 功能,并且通常假定你在应⽤中使⽤
了⼀个模块构建系统。这可能是最重要的区别。
Angular 使⽤双向绑定,Vue 也⽀持双向绑定,不过默认为 向绑定,数据从⽗
组件 向传给⼦组件。在⼤型应⽤中使⽤ 向绑定让数据流易于理解。
在 Vue .j s 中指令和组件分得更清晰。指令只封装 DOM 操作,⽽组件代表⼀个
⾃给⾃⾜的独⽴ 元 —— 有⾃⼰的视图和数据逻辑。在 Angular 中两者有不少
相混的地⽅。
Vue .j s 有更好的性能,并且⾮常⾮常容易优化,因为它不使⽤脏检查。
Angular ,当 watcher 越来越多时会变得越来越慢,因为作⽤域内的每⼀次变
化,所有 watcher 都要重新计算。并且,如果⼀些 watcher 触发另⼀个更新,脏
检查循环 (digest cycle )可能要运⾏多次。 Angular ⽤户常常要使⽤深奥的技
术,以解决脏检查循环的问题。有时没有简 的办法来优化有⼤量 watcher 的
作⽤域。Vue .j s 则根本没有这个问题,因为它使⽤基于依赖追踪的观察系统并
且异步列队更新,所有的数据变化都是独⽴地触发,除⾮它们之间有明确的依
赖关系。唯⼀需要做的优化是在 v-for 上使⽤ track-by。
有意思的是,Angular 2 和 Vue ⽤相似的设计解决了⼀些 Angular 1 中存在的问题。
React
React .j s 和 Vue .j s 确实有⼀些相似 —— 它们都提供数据驱动、可组合搭建的视图组
件。当然它们也有许多不同。
⾸先,内部实现本质上不同。React 的渲染建⽴在 Virtual DOM 上——⼀种在内存中
描述 DOM 树状态的数据结构。当状态发⽣变化时,React 重新渲染 Virtual DOM ,⽐
较计算之后给真实 DOM 打补丁。
Virtual DOM 提供了⼀个函数式的⽅法描述视图,这真的很棒。因为它不使⽤数据观
察机制,每次更新都会重新渲染整个应⽤,因此从定义上保证了视图与数据的同步。
它也开辟了 Ja aScript 同构应⽤的可能性。
Vue .j s 不使⽤ Virtual DOM ⽽是使⽤真实 DOM 作为模板,数据绑定到真实节点。
Vue .j s 的应⽤环境必须提供 DOM 。但是,相对于常见的误解——Virtual DOM 让
React ⽐其它的都快, Vue .j s 实际上性能⽐ React 好,⽽且⼏乎不⽤⼿⼯优化。⽽
React ,为了最优化的渲染需要处处实现 shouldComponentUpdate 或使⽤不可变
数据结构。
在 API ⽅⾯,React (或 JSX )的⼀个问题是,渲染函数常常包含⼤量的逻辑,最终看
着更像是程序⽚断 (实际上就是)⽽不是界⾯的视觉呈现。对于部分开发者来说,他
们可能觉得这是个优点,但对那些像我⼀样兼顾设计和开发的⼈来说,模板能让我们
更好地在视觉上思考设计和 CSS 。JSX 和 Ja aScript 逻辑的混合⼲扰了我将代码映射
到设计的思维过程。相反,Vue .j s 通过在模板中加⼊⼀个轻量级的 DSL (指令系统) ,
换来⼀个依旧直观的模板,且能将逻辑封装进指令和过滤器中。
React 的另⼀个问题是:由于 DOM 更新完全交给 Virtual DOM 管理,当想要⾃⼰控制
DOM 时就有点棘⼿了 (虽然理论上可以做到,但是这样做就本质上违背了 React 的设
计思想)。如果应⽤需要特别的⾃定义 DOM 操作,特别是
文档评论(0)