取消
显示结果 
搜索替代 
您的意思是: 
cancel
1930
查看次数
0
有帮助
1
评论
julianchen
Spotlight
Spotlight
框架与库的区别
Angular是一种框架,它为建立完整的安装应用程序提供了一个良好的开始。您不必查看各种库、路由方案和其具体结构,就能快速地开始构建。而在另一方面,React和Vue却比Angular要更具灵活性和普遍性。
运用React,您可以实现配对、交换等多种集成方式,也可以将各种库与其他外部工具进行整合。可见,React的灵活性实现了开箱即用(out of the box)式的无缝集成。不过也正是因为该特点,React错误的几率、以及依赖项也就更多。
相对而言,Vue是最纯净的框架。它通过内部依赖性、和灵活性的完美平衡,有助于提高您的代码效率。它是一种旨在简化web开发的非常简单、且直接易用的JavaScript框架。
其他需要考虑的重要方面
Angular会涉及到依赖注入(Dependency Injection),即一个对象为另一个对象提供各种依赖。这将使得代码能够更加简洁,更加易懂。另一方面,Angular是基于MVC架构的,而MVC模式会将项目拆分成模型、视图和控制器三种不同的组件。不过,React并没有此类概念,它只被用于为应用程序构建视图。
性能方面,哪个更好?
React和Vue都具有虚拟文档对象模型(Virtual DOM),而Virtual DOM有着性能方面的优势。凭借着良好的结构,Vue在性能和内存分配方面表现不俗。React紧随其后,而Angular则此局胜出。
由于性能取决于各种因素,这里的三种框架实际上已经比其他JavaScript框架要快得多了。因此,鉴于应用程序本身的大小和代码的优化程度不同,您不应该仅从性能方面下结论。
原生应用程序的开发
一般原生应用程序是为某个特定平台所构建的。您可以使用React Native为iOS和Android开发原生应用。而Angular的NativeScript已被原生应用所采用,特别是Ionic框架已经被广泛地运用在制作混合应用等方面。
不过,Vue的Weex平台正在开发之中,而且目前看来尚无下一步使之成为全面跨平台的计划。
哪个平台提供了简单的学习曲线?
Angular和React都有着自己的一套处理方式,而Vue则相对简单一些。这也就是为什么许多公司都转向Vue的原因。在使用Angular或React进行开发前,我们需要具有扎实的JavaScript知识,而且经常需要对第三方库做出选择。
如果您的应用程序体积较大,在Vue中涉及到了大量代码的话,那么不仅是编码,包括调试和测试都可能会碰到,由于在其中使用了老式的JavaScript实现方式所带来的问题。
另外,Angular能够提供相当翔实且清晰的错误信息,以帮助开发人员解决各种问题。
单向数据流与双向数据绑定
双向数据绑定是指将UI字段动态地绑定到模型上的一种机制。当UI的各种元素发生变更时,其模型数据将相应地发生变化。另一方面,单向数据流则意味着只有单一的数据来源--模型。应用程序的数据遵循同一方向流动,只有模型才能更改应用程序的状态。这是React和Angular的主要区别之一。
显然,单向数据流不但易于理解,而且具有确定性;而由于双向数据绑定的复杂性,它不但难以被理解,而且在实现上也一定的困难。
因此在此方面,Angular使用的是双向数据绑定,React用的是单数据流的,而Vue则支持两者。此处重点在于:Angular的双向方法提供了高效的编码结构,从而方便了开发人员的发现和使用。而React针对数据的单向管理,提供了更好的概述和理解。
微应用和微服务的兴起
目前,微应用和微服务技术正方兴未艾。React和Vue的灵活选择性,对于应用程序来说是非常重要的。在React和Vue环境中,您只需要将各种库添加到源代码之中便可。由于Angular使用的是TypeScript,因此它更适合与单页Web应用(single page web application,SPA),而非微服务。相反,React和Vue的灵活性更适合微应用和微服务的开发。
最后应该如何选择?
如果您追求灵活性胜过功能性的话,请使用React。
如果您喜欢在编码中使用TypeScript的话,请使用Angular。
如果您是个JavaScript爱好者的话,请根据JavaScript来选择使用React。
如果您是个整洁的代码控,请在应用程序中使用Vue。
Vue提供了最简单的学习曲线,因此它是初学者的理想选择。
如果您想在应用程序中关注点分离(Separation of Concerns),请使用Vue。
如果您喜欢面向对象的编程,那么Angular绝对是您的最佳选择。
另外,Vue往往是一些小团队和小项目的理想选择。如果您的应用程序体积较大,而且有着未来的扩展计划,那么请选择React或Angular。
对于跨平台应用程序的开发而言,React Native是个不错的选择,因为它提供了各种现代化的功能,您可以轻松地找到对应的资源。而对于Angular来说,您需要拥有对 于JavaScript的全面知识,以构建出各种大规模的应用。
React、Angular、Vue.js的比较速览

















Angular
React
Vue
类型
单一框架
要构建UI
单一库
选择理由
如果要使用TypeScript
如果您采用“一切皆是 JavaScript”的方法
简单的JavaScriptHTML
创始者
Google
Facebook维护
由Google前员工创建
初始发布时间
20169
20133
20142
应用程序类型
如果您想开发原生应用程序、混合应用程序和 web 应用程序
如果您想开发单页Web应用和移动应用
高级单页Web应用和支持原生应用程序
理想场景
如果要关注于大型的、功能丰富的应用程序
适合于现代web开发和原生渲染的iOSAndroid应用程序
web开发和单页应用程序的理想选择
学习曲线
陡峭的学习曲线
比Angular容易一点
平缓的学习曲线
开发者友好程度
如果要使用基于结构的框架
如果您希望在开发环境中具有灵活性
如果您关注点分离
模型
基于MVC(模型-视图-控制器)体系结构
基于虚拟文档对象模型(Document Object Model)
基于虚拟文档对象模型(Document Object Model)
编写方式
TypeScripte
JavaScript
JavaScript
社区支持
有庞大的开发者和支持者社区
Facebook 开发者社区
通过众包来赞助开源项目
语言首选项
建议使用TypeScript
建议使用JSX-JavaScript XML
HTML模板和JavaScript
普及程度
广受开发者欢迎
去年增加了超过2.7万颗星
去年在 GitHub 中增加了4万多颗星
使用的公司
Google、Forbes、Wix weather.com
Facebook、Uber、Netflix、Twitter、Reddit、Paypal、Walmart和其他
阿里巴巴、百度、GitLab 和其他

综上所述,我们在不偏向任何一种框架的前提条件下,向您展示了三种框架的对比,相信总有一款能够满足您的要求。如果我们在文中遗漏了任何要点或概念,请在下方通过留言和评论的方式告诉我们。谢谢!
【原标题】React vs. Angular vs.Vue.js: A Complete Comparison Guide(作者: Ankit Kumar
原文链接:https://dzone.com/articles/react-vs-angular-vs-vuejs-a-complete-comparison-gu
评论
one-time
Level 13
Level 13
感谢版主分享,谢谢~
在此共享您的相关主题:
【原创翻译】一份全面的React、Angular和Vue.js比较指南(1)
入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接