作家
登录

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

作者: 来源: 2017-09-28 09:53:01 阅读 我要评论

TypeScript

React的开辟对象: https://cdn.deliciousbrains.com/content/uploads/2017/06/15151112/react-devtools.mp4

Knockout 是 MVVM 范畴内的前驱,并且追踪依附。它的响应体系和 Vue 也很类似。它在浏览器支撑以及其他方面的表示也是让人印象深刻的。它最低能支撑到 IE6,而 Vue 最低只能支撑到 IE9。

Angular 事实上必须用 TypeScript 来开辟,因为它的文档和进修资本几乎全部是面向 TS 的。TS 有很多显而易见的好处 —— 静态类型检查在大年夜范围的应用中异常有效,同时对于 Java 和 C# 背景的开辟者也是异常晋升开辟效力的。
然而,并不是所有人都想用 TS —— 在中小型范围的项目中,惹人 TS 可能并不会带来太多明显的优势。在这些情况下,用 Vue 会是更好的选择,因为在不消 TS 的情况下应用 Angular 会很有挑衅性。
最后,固然 Vue 和 TS 的┞符合可能不如 Angular 那么深刻,我们也供给了官方的 类型声明 和 组件装潢器,并且知道有大年夜量用户在临盆情况中应用 Vue + TS 的组合。我们也和微软的 TS / VSCode 团队进行着积极的合作,目标是为 Vue + TS 用户供给更好的类型检查和 IDE 开辟体验。

大年夜小和机能

在机能方面,这两个框架都异常的快,我们也没有足够的实际应用数据来下一?结论。如不雅你必定想看些数据的话,你可以参考这个第三方跑分。单就这个跑分来看,Vue 似乎比 Angular 要更快一些。
在大年夜小方面,比来的 Angular 版本中在应用了 AOT 和 tree-shaking 技巧后使得最终的代码体积减小了很多。但即使如斯,一个包含了 Vuex + Vue Router 的 Vue 项目 (30kb gzipped) 比拟应用了这些优化的 angular-cli 生成的默认项目尺寸 (~130kb) 照样要小的多。
灵活性

Vue 比拟于 Angular 加倍灵活,Vue 官方供给了构建对象来协助你构建项目,但它并不限制你去若何组织你的应用代码。有人可能爱好有严格的代码组织规范,但也有开辟者爱好更灵活自由的方法。

React与Vue都鼓励组件化应用。这本质上说,是建议你将你的应用分拆成一个个功能明白的模块,每个模块之间可以经由过程合适的方法互相接洽。在Vue中,如不雅你遵守必定的规矩,你可以应用单文件组件.


进修曲线

要进修 Vue,你只须要有优胜的 HTML 和 JavaScript 基本。有了这些根本的技能,你就可以异常快速地经由过程浏览 指南 投入开辟。
Angular 的进修曲线是异常陡峭的 —— 作为一个框架,它的 API 面积比起 Vue 要大年夜得多,你也是以须要懂得更多的概念才能开端有效力地工作。当然,Angular 本身的复杂度是因为它的设计目标就是只针对大年夜型的复杂应用;但弗成否定的是,这也使得它对于经验不甚丰富的开辟者相当的不友爱。


在安排临盆情况时,Polymer 建议应用 HTML Imports 加载所有资本。而这请求办事器和客户端都支撑 Http 2.0 协定,并且浏览器实现了此标准。这是否可行就取决于你的目标用户和安排情况了。如不雅状况不佳,你必须用 Vulcanizer 对象来打包 Polymer 元素。而在这方面,Vue 可以结合异步组件的特点和 Webpack 的代码瓜分特点来实现懒加载 (lazy-loaded)。这同时确保了对旧浏览器的兼容且又能更快加载。

不过就算有这么多好处,然则比拟Angular2,Vue照样有很多的不足:
作者:曹之忽
链接:https://www.zhihu.com/question/40975678/answer/133505411
来源:知乎
著作权归作者所有。贸易转载请接洽作者获得授权,非贸易转载请注明出处。

  1. Angular2原生Form支撑: Angular2原生的Form模块功能相当强大年夜。除了双向绑定之类的根本功能,还能经由过程programatic API 控制dom元素的表单行动。也有成型API供给自定义validator。这一点Vue只有v-model和第三方库。对于后台之类的重表荡竽暌功用,照样Ng2有优势。
  2. 依附注入无论你喜不爱好DI,这就是Angular2的强大年夜功能之一。有DI可以在不改变代码构造的情况下完成功能调换。(如,在desktop和mobile有不合功能,可以经由过程注入不合service实现,而共用雷同的template和directive)。Vue则须要法度榜样员本身筹划代码组织,用来支撑共享组件。DI也可以用于类似module local state的功能。比如,一个视频播放控件有几个子组件完成,子组件须要分享一个状况。这一点Angular2有原生的service injection pattern。而Vue则没有官方推荐。
  3. 对标准向后兼容Angular2在一些细节上对标准有更好的支撑。比如 list differ 算法中 Angular2 可以支撑实现了Symbol.iterator的对象,而Vue只能支撑Array。对Observable和Promise,Angular2在应用的各个处所,甚至模板级别都有支撑(async pipe)。而Vue须要vue-rx等第三方库支撑。Angular2的组件有shadow dom的实现可以选择,而Vue今朝还没有。
  4. 测试Angular2一开端就设计好了若何对组件进行测试,而Vue组件固然也很好写测试,然则没有官方推荐的独一标准(当然,对视图是否须要测试还有待商量)。除此以外,Angular2还有一些小功能比如考验模板的类型安然(即,模板里能在编译器包管没有引用model不决义的变量),不过AoT本身似乎还没有稳定,所以不克不及算优势。对TS的支撑也是Angular好,当然前提是你爱好TS。

Ember

Ember 是一个全能框架。它供给了大年夜量的商定,一旦你熟悉了它们,开辟会变得很高效。不过,这也意味着进修曲线较高,并且并不灵活。这意味着在框架和库 (加上一系列松散耦合的对象) 之间做衡量选择。后者会更自由,然则也请求你做更多架构上的决定。
也就是说,我们最比如较的是 Vue 内核和 Ember 的模板与数据模型层:

  • Vue 在通俗 JavaScript 对象上建立响应,供给主动化的计算属性。在 Ember 中须要将所有器械放在 Ember 对象内,并且手工为计算属性声明依附。
  • Vue 的模板语法可以用全功能的 JavaScript 表达式,而 Handlebars 的语法和赞助函数比拟来说异常受限。
  • 在机能上,Vue 比 Ember 好很多,即使是 Ember 2.x 的最新 Glimmer 引擎。Vue 可以或许主动批量更新,而Ember 在关键机能场景时须要手动治理。

      推荐阅读

      解读:利用机器学习技术抵御未来网络威胁

    在我们很多人的眼中,机械无需仁攀类教受便可以或许自立进修是科幻小说或片子中的情节。而科幻片子给我们留下的印象往往是险恶计算机妄图统治世界。但当人工智能和机械进修成为我们生活中的一部分,并且>>>详细阅读


    本文标题:vue.js与其他前端框架的对比

    地址:http://www.17bianji.com/lsqh/37643.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)