设为首页收藏本站

泰安论坛

 找回密码
 注册会员

QQ登录

只需一步,快速开始

快捷登录

搜索
显示全部楼层 收藏
查看: 6622|回复: 0

国内vue这么火,为什么大厂都用React居多?

[复制链接]
 

发帖IP:中国山东

700

帖子

0

威望

2637

银币

九品芝麻官

Rank: 9Rank: 9Rank: 9

 楼主| 发表于 22-03-05 14:54 | 显示全部楼层 |阅读模式 | 来自山东
React框架的优势
React是由Facebook(脸书)开源的一个进行创建用户界面的一款JavaScript库,如今已应用Facebook及旗下的Instagram应用。
React与庞大的AngularJS不同的地方在于它只专注于MVC框架中的V,即视图;这点使得React很容易与开发者已有的开发栈进行融合。
React在使用的时候,你应该从UI出发,抽象出不同的组件,继而将它们拼装起来;这点顺应了Web开发组件化的趋势。
跟其他一些框架不同,React不试图解决所有问题,或者说它谈不上是一个完整的前端框架,它主要就解决UI问题,也正因为如此,它在UI操作与数据维护方面是很出色的。
速度快
它并不直接对DOM进行操作,引入了一个叫做虚拟DOM的概念,安插在javascript逻辑和实际的DOM之间,性能好很好的跨浏览器兼容虚拟DOM帮助我们解决了跨浏览器问题,它为我们提供了标准化的API,甚至在IE8中都是没问题的。
所有都是component:
组件化的代码更加模块化,重用代码更容易,可维护性高。
单向数据流
Flux是一个用于在JavaScript应用中创建单向数据层的架构,它随着React视图库的开发而被Facebook概念化。
兼容性好
比如使用RequireJS来加载和打包,而Browserify和Webpack适用于构建大型应用。它们使得那些艰难的任务不再让人望而生畏。
什么是Vue
Vue,读音是/vju:/,是一套用于构建用户界面的渐进式框架,自底层向上应用,Vue的核心库只关注视图层,容易入门,可以和第三方库或者已有的项目进行整合,可以做复杂的单页应用。简单的说,vue是一套前端的开发框架,vue是目前三大主流的框架之一,其他两个框架是:React、Angular。
Vue的有点有哪些?
Vue是一个轻量级框架 只关注视图层,是一个整理数据的视图集合
2. Vue是中国的国产框架 官方的中文文档更加全面
3. Vue将数据与视图分开处理,使数据修改更加简洁,只需要修改数据就能完成相关操作
4. 数据响应减少了原生DOM操作对性能的危害,但其实Vue终归还是dom只是换了一种方式
5. 数据双向绑定,保留了angular的特点 在数据处理方面根据简单
6. 组件化 保留了react的优点,实现了html的封装和重用,在构建单页面应用方面有着独特的优势
7. 运行速度快,这才是vue立于三大框架中最为骄傲的一点 在运行性能和效率上就算是和世界使用了第一的react相比 vue依旧占据着先天优势。
React和Vue的相似之处
1.UI框架
React和Vue都是JavaScript的UI框架,专注于创造前端的富应用。
2.虚拟DOM。
Vue宣称可以更快地计算出Virtual DOM的差异,这是由于它在渲染过程中,会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树。 而对于React而言,每当应用的状态被改变时,全部子组件都会重新渲染。当然,这可以通过shouldComponentUpdate这个生命周期方法来进行控制,但Vue将此视为默认的优化。
3.组件化
React和Vue都鼓励组件化开发。
4.props
React和Vue都有props的概念。
5.构建工具和配套框架
都有属于自己的构建工具和配套框架
React和Vue的主要区别
1.模板 vs JSX
2.状态管理 vs 对象属性
React中你需要使用setState()方法去更新状态。在Vue中,state对象并不是必须的,数据由data属性在Vue对象中进行管理。
3.单向数据流 vs 响应式
react的性能优化需要手动去做,而vue的性能优化是自动的,但是vue的响应式机制也有问题,就是当state特别多的时候,Watcher也会很多,会导致卡顿,所以大型应用(状态特别多的)一般用react,更加可控。
4.类式的写法 vs 声明式写法
5.HOC vs mixins
6.Vue组件分为全局注册和局部注册,在react中都是通过import相应组件,然后模版中引用。
为什么某些大厂都爱用React
国内 Vue 那么火,为什么大厂以 React 居多?其实框架并没有好坏之分,只有适不适合。
比如是比较小的项目,那肯定是用 Vue 更合适,毕竟在业务不复杂的情况下,Vue 构建项目确实比较省力;如果是相对复杂的业务,使用 React 就相对灵活一些。
当然,这也不是说 Vue 就比 React 差一些,最终程序员使用哪个框架,还是取决于业务的运用场景。
Vue 框架就好比组装电脑,按照自己的需求购买主板、电源、CPU 、显卡、内存条、硬盘等等,进行组装就够了;而 React 就相当于一个家具定制工厂,一切都从 0 开始,需求可进行个性化定制。
React ,简而言之是一个始于 Facebook 的开源项目,目的是为了更简便快捷地开发具有交互功能的用户界面(UI)。
由于 React 提供了一套开发完整应用的方法,让它看起来很接近于框架的概念,但细究起来,React 是相对轻量且灵活的。
React 的核心理念是组件 ,将复杂的 UI 分解成组件,并组合成树形结构进行快速渲染。
一个组件是 UI 的组成部分,它既有交互功能又有视觉呈现,所以它混合着 HTML 元素和用 JavaScript 实现的业务逻辑。
各种组件组合在一起,就可以开发出功能复杂的应用。React 在这个层面并没有提供任何捆绑式的解决方案,依托于一个活跃的开源社区,开发一个 React 应用也需要自行选择各种第三方的 React 组件和工具。
这种灵活性也侧面反映了 React 只是一个库,而并不是一个用法相对固定且规则很多的框架。
在使用度和认知度里仍居所有前端框架首位,这意味着市场上更多的工作机会和网络上更多的学习资源。
从 React 本身来看,对于接触过制作静态网站,且对 JavaScript 有一定了解的同学,React 的学习曲线比较平缓,可以快速入门。
以 React 刚出世时的眼光来看, React是具有里程碑意义的。
但是,以今天的眼光来看,脱离了 Flux ,在解决大规模 UI 的问题上, React 本身并没有拿出比 MVVM 更优的方案。
不过,学习 React 不仅可以开发 Web 应用,也可以开发移动端应用、桌面版应用或者 AR 应用,可扩展的领域也非常丰富,这都是学习 React 的价值。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则