为什么react比vue更适合大型应用?

2020-07-29 15:34发布

6条回答
summer
2楼 · 2020-07-29 17:32
  1. 大型项目的庞大带来的是代码优化以及性能优化,

  • react提倡的更细粒度的封装,带来的组件的复用性提高。

  • 更高自由度的编写(几乎无api)可以为手动优化性能带来更大的便利性

2.react社区的活跃性

  • 这点会反复提及,因为这点更加重要

  • 社区提供了多样性的解决方案和更多的选择,这对于一个大型项目(大量的坑)来说也是至关重要的



小猴子
3楼 · 2020-07-30 08:45
  1. 大型项目的庞大带来的是代码优化以及性能优化,

  • react提倡的更细粒度的封装,带来的组件的复用性提高。

  • 更高自由度的编写(几乎无api)可以为手动优化性能带来更大的便利性

2.react社区的活跃性

  • 这点会反复提及,因为这点更加重要

  • 社区提供了多样性的解决方案和更多的选择,这对于一个大型项目(大量的坑)来说也是至关重要的



爱梦 - 拿来吧你
4楼 · 2021-10-13 10:01

目前前端三大主流框架有:React、Vue、Angular,他们在各自特定的场景下使用都非常出色。其中,Vue是不错的渐进式JavaScript库,更易于样式开发构建UI。而我更倾向于选择React,因为React具有独特优势:


React函数式编程理念使代码更优雅和合理

严谨的单向数据流设计,方便构建大型复杂稳定的单页面应用

丰富的技术生态圈,拥有世界范围内各大技术社区支持

方便配合ReactNative开发跨终端应用

React的函数式编程理念使代码更优雅和合理


函数式编程设计思想。函数式编程是用函数的组合来进行编程。先声明函数,然后调用函数,每一步都有返回值,通过抽出每一步逻辑运算抽象,封装在函数中。再将函数组合来编写程序。例如:计算平均值百分比,我们可以拆分为三个函数,一个是计算平均值,一个是计算百分比,一个是综合调用的函数,通过函数嵌套函数的方式,使得代码更优雅,更有利于复用。


严谨的单向数据流设计,方便构建大型复杂稳定的单页面应用

React的数据流始终是单向设计的,严格遵照数据驱动DOM。这样的好处是,降低了组件互相通信的代码耦合度,数据流更清晰,调试更方便。大型复杂单页面应用一直是企业的难题,传统方式开发都不能够很好的维护。而使用React为基础的技术栈,能够方便地拆分模块、组件,再配合Redux数据流管理,能够高效构建应用。事实证明,这种React、Redux的大型复杂单页面项目构建方案,已经在各大互联网公司得到应用和发展。


丰富的技术生态圈,拥有世界范围内各大技术社区支持

React是由Facebook公司开发的高品质现代化前端框架,具有很高的权威性和专业性,在世界范围内得到各大技术社区支持,包括国内的技术社区。比如,npm官网、淘宝cnpm社区等都有很丰富的生态。众多的开发者共同添砖加瓦,开源共享,丰富了技术生态圈,让我们方便学习和使用基于React的组件、插件,减少开发成本,提高开发效率。在国内,由阿里巴巴公司开发的基于React基础开发的Antd组件库深受各大互联网企业好评,开箱即用,为加速国内中小企业的中台化、信息化推进起到了重要作用。


方便配合ReactNative开发跨终端应用

当前互联网公司的一个重要难题问题是:如何减少成本、高效的进行跨终端应用开发。也就是说,互联网公司都希望能够开发iOS、Android、H5应用。React配合ReactNative库能够方便地开发跨终端应用。ReactNative设计原理上和React一致,使用了React技术栈,就已经有了基础,再配合ReactNative就能一套代码,编译生成多端应用。ReactNative方便众多公司快速高效开发App,降低研发成本,提高了生产力,减少了开发时间。


React、Vue发展趋势

React的发展趋势更注重函数式编程。当前从16.7版本以后,出现了Hook函数钩子的思想,只能是React函数式的组件才能使用。这一特性很明显,React希望将函数式编程发挥极致,更优更好地项目开发。有趣的是,这里出现了useMemo函数,像极了Vue中的computed的作用,这里React就是借鉴了Vue的动态监听变量的模式。

Vue的发展趋势为更注重了项目标准化、严谨化。在Vue3中已经开始使用了TypeScript替代不够严格的JavaScript写法。而引入TypeScript这一点是借鉴了React的能够深度融合TypeScript更严谨开发的经验。

React、Vue发展趋势表明,两种框架互相汲取,取长补短,都是为了能够更好地进行应用开发。


超甜的布丁
5楼 · 2021-10-13 10:08

React相对于Vue,规矩更多,哲学思想上不以写更少代码为目的,而是以更有条理更好理解为目的(即使这需要开发者写更多代码),换句话来说,使用Vue可以更自由,可以用更少代码实现功能。


慢半拍
6楼 · 2021-10-13 11:06

构建大型应用程序

React Native是一个使用Javascript构建移动端原生应用程序(iOS,Android)的库。它与React.js相同,只是不使用Web组件,而是使用原生组件。如果你学过React.js,很快就能上手React Native,反之亦然。

Web端和移动端原生APP通吃

React完全接管了UI开发中最为复杂的局部更新部分,擅长在在复杂场景下保证高性能;同时引入基于组件的开发思想,重新审视UI的构成。通过这种方法,不仅能够提高开发效率,而且可以让代码更容易理解,维护和测试。

最大的生态系统

React在NPM上每个月的下载量超过了250万次,相比之下,Vue是22.5万次。这两个框架都是开源的,但是React诞生于Facebook,有Facebook背书,它的开发者和Facebook都承诺会持续维护React。


天天
7楼 · 2021-10-29 10:06

1,React主要是借助JSX在JavaScript中创建虚拟DOM,让组件更加模块化,重用代码更容易,可维护性更高。

2,可以最小化的进行DOM操作并保证代码的执行速度快和高性能,同时虚拟DOM帮助解决了跨浏览器问题。,

3,用户无需要太关心具DOM的操作过程,可以把大部分精力放在数据的渲染上,大大降低开发的工作量,提升开发效率。

4,React可以利用ReactNative实现一套代码,多终端应用。可以大大的降低开发成本,减少了开发时间。

5,React拥有丰富的组件、插件和开源社区,学习容易,获取知识也方便。可以减少开发成本,提高开发效率。


相关问题推荐

  • 回答 120

    相对前几年来说,要高上不少了,毕竟入行的人也是越来越多了,基础的工作对应想要参与的人群基数越来越大,但是对于高端人才的需求还是很多,人才还是相对稀缺性的。所以,想要学web或者其他技术也一样,别等,别观望。web前端就业方向特别多包括web前端开发...

  • 回答 25

    相对定位和绝对定位是定位的两种表现形式,区别如下:一、主体不同1、相对定位:是设置为相对定位的元素框会偏移某个距离。2、绝对定位:absolute 脱离文档流,通过 top,bottom,left,right 定位。二、特点不同1、相对定位:在使用相对定位时,无论是否进行移...

  • 抓包是什么意思?2020-04-01 17:36
    回答 7
    已采纳

    抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。抓包可以通过抓包工具来查看网络数据包内容。通过对抓获的数据包进行分析,可以得到有用的信息。目前流行的...

  • 回答 89

    常用的前端框架有Bootstrap框架、React框架、Vue框架、Angular框架、Foundation框架等等

  • 回答 65
    已采纳

    前端是目的就业前景非常不错的一个计算机技术,但是自学的话还是有一定难度的,网络上自学是碎片化的,同时互联网技术跟新换代快,自己的话比较吃力也学习不到最新的技术。

  • SSR 是什么意思?2020-03-20 18:56
    回答 6

    SSR就是一台服务器,可以利用 SSR 在远程的服务器上配置 SSR,使其能够成为 SSR 节点,这样本地电脑或者其它设备利用 SSR 节点实现 VPN 或者远程上网及游戏加速等方面。ShadowsocksR(简称 SSR)是 Shadowsocks 分支,在 Shadowsocks 的基础上增加了一些数据...

  • 回答 52
    已采纳

    计算机培训方向比较多,建议找适合自己的方向选择培训编程类:JAVA、WEB、Python、C/C++、C#等测试类:软件测试运维类:云计算、网络安全设计类:UI设计、3D建模等

  • 回答 11

    1、代码判断xAxis: {type: 'time',splitLine: {show: false},interval: 3600, // 设置x轴时间间隔axisLabel: {formatter: function(value, index) {return liangTools.unix2hm(value)}}},首先要把xAxis 显示类型设置成time,然后设置对应X轴......

  • 回答 8

    HTML5 + CSS + JavaScript 开发 跨平台重用代码 

  • 回答 4

    采用rem单位自动响应,并提供独有栅格化系统快速定义宽高、边距节省css代码量,同时总结各大型移动端网页,提供一套ui颜色搭配规范,尺寸规范,字体规范等。

  • 回答 10

    iView UI、ioni、SUI

  • 回答 6

     jQTouch 

  • 回答 4

    如果只是普通的移动端用vue react 或者dva 如果是要编译成小程序什么的或者混生 就用uni-app(对应vue语法)taro(对应react) 或者纯原生 这个没有限制的,自己怎么舒服怎么来

  • 回答 4

    因为可以运用在网页和小程序的开饭中,而且开源,用着便宜,企业都很喜欢

  • 回答 10

    一、Visual Studio Code下载地址:https://code.visualstudio.com/微软在2015年4月30日Build 开发者大会上正式宣布了 Visual Studio Code 项目:一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器。Visual Stud...

  • 回答 9

    jQuery自带淡入淡出效果 https://www.w3school.com.cn/jquery/jquery_fade.asp 看看这个 

没有解决我的问题,去提问