前端领域,选择框架是根据使用场景、业务需求、技术实现等综合因素考虑的,选择最适合的才能发挥最大效果。 目前前端三大主流框架有:React、Vue、Angular,他们在各自特定的场景下使用都非常出色。其中,Vue是不错的渐进式JavaScript库,更易于样式开发构建UI。而我更倾向于选择React,因为React具有独特优势: React函数式编程理念使代码更优雅和合理严谨的单向数据流设计,方便构建大型复杂稳定的单页面应用丰富的技术生态圈,拥有世界范围内各大技术社区支持方便配合ReactNative开发跨终端应用 React的函数式编程理念使代码更优雅和合理 函数式编程设计思想。函数式编程是用函数的组合来进行编程。先声明函数,然后调用函数,每一步都有返回值,通过抽出每一步逻辑运算抽象,封装在函数中。再将函数组合来编写程序。例如:计算平均值百分比,我们可以拆分为三个函数,一个是计算平均值,一个是计算百分比,一个是综合调用的函数,通过函数嵌套函数的方式,使得代码更优雅,更有利于复用。 React使用函数式编程思想使代码更优雅和合理,更有利于组件化、模块化开发。React的每个组件就是函数生成,页面的渲染过程本质就是函数的嵌套调用过程。React的这种设计对于使用来说非常方便,例如以下子组件嵌套子组件再嵌套子组件示例:子组件中嵌套子组件调用模式始终都是相同的。父组件调用子组件都只需要考虑传递的参数props,而子组件只需要考虑传入的参数。 严谨的单向数据流设计,方便构建大型复杂稳定的单页面应用 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发展趋势表明,两种框架互相汲取,取长补短,都是为了能够更好地进行应用开发。 如何正确选择框架 面对React、Vue,我们应该怎么选。这里提供一些思路:小型偏重于项目如果是偏重于UI展现,更多的样式开发,推荐使用Vue。发挥Vue模板样式的优势。具有复杂的数据逻辑应用如中台化项目,建议使用React。单向数据流的模式能够避免数据逻辑错误。大型复杂单页面项目,推荐React。再配合如Redux、Mbox等状态管理库,组件化、模块化开发,有效管理。写在最后 React、Vue都是出色的前端框架,都有各自的一席之地。React框架的函数式编程理念、严谨的单向数据流设计、丰富的技术生态圈以及方便开发跨终端应用具有更大优势。我们只有根据使用场景、业务需求、技术实现等综合因素选择最适合的框架,才能发挥最大的优势,提高生产力。 以上是我的观点,希望对你有所帮助。 其实个人认为Vue无论从易用性,上手难度还是开发效率方面都是优于React的,但Vue的硬伤在于社区和大厂程序员界的认可程度,比如在面试中一般而言精通React要比精通Vue更加受到青睐,让面试官觉得你更加资深更加厉害!(个人是很不认同这一点的,但没办法很现实[泪奔]) react、vue和angular的区别和选择谁的问题可以看我的这篇视频详细了解 https://m.toutiaoimg.cn/group/6844141953764819469/?app=news_article×tamp=1594534996&group_id=6844141953764819469&use_new_style=1 React是一个用于构建用户界面的JAVASCRIPT库,起源于Facebook内部项目并于2013年5月开源。React拥有出众的性能而代码逻辑却非常简单,因此越来越多的人开始关注和使用React。现在已经成为前端三大主流之一,其他两大主流前端框架分别为Angular和Vue。个人觉得选择React不外乎以下几点原因: 1,React主要是借助JSX在JavaScript中创建虚拟DOM,让组件更加模块化,重用代码更容易,可维护性更高。 2,可以最小化的进行DOM操作并保证代码的执行速度快和高性能,同时虚拟DOM帮助解决了跨浏览器问题。, 3,用户无需要太关心具DOM的操作过程,可以把大部分精力放在数据的渲染上,大大降低开发的工作量,提升开发效率。 4,React可以利用ReactNative实现一套代码,多终端应用。可以大大的降低开发成本,减少了开发时间。 5,React拥有丰富的组件、插件和开源社区,学习容易,获取知识也方便。可以减少开发成本,提高开发效率。 我用的是更冷的框架,ext js。 因为中国明显用Vue的多,像我这样超凡绝伦的人中龙凤,如果也选Vue岂不是太俗了?况且Vue还是国产,React明显异域风情,虽然比起Vue难用了些,但难度决定高度! 很高兴能够看到和回答这个问题!实实在在的高活跃度也决定了其上限。 但是,为了让项目代码更加合理,还需要额外的代码,如果有一天我们不能依靠一堆npm--包和es5--编译器,就很难应用React。 相比于React中提到的所谓JS代码的纯粹性和可读性,Angular确实算是一个不错的开始。 Angular可以帮助我们快速访问几千行我们觉得有趣的代码,但之后代码会越来越差。 大多数时候,当你在不同的团队、不同的领域失去工作时,代码管理的难度让大多数新的开发人员难以工作,有了Vue是一个很好的工具,它让你更容易进入Vue,也让你更容易与团队沟通,无论你是想改变技术,还是在紧急情况下需要加人、解释产品,都可以节省时间、节省成本。这也是为什么选择React而不选择Vue的重要原因! 估算时间也很简单,因为执行功能所需的时间不应超过开发人员估算的时间,将减少误解、错误或乐观的评价.为了更好地与项目经理沟通,你需要更少的概念。我们可以使用React或Vue开始开发,并在源代码中添加JavaScript。 但这对Angeluru来说是不可能的,因为它使用的是Typescript。 当我们更接近微服务和微应用时,React和Vue可以让我们更好地控制应用的大小,只选择真正需要的东西。 Angular是最适合SPA应用的框架。与其他前期框架相比,Vue在结构、风格和操作架构上更加清晰、全面。 React组件可以简单的看成是一个返回元素的函数(或者至少是一个C类函数).这样的功能方法对于Javascript开发者来说是非常自然的.输入数据和获取元素.如果一个数组中有多个元素,你可以直接查看.如果你想排除其中的一些元素,你可以使用过滤器和显示来处理元素并得到结果. 这个功能完美地反映了你对其他应用的理解。 这种方法增加了Javascript的优势。这也是为什么选择React而不选择Vue的重要原因! 说明很简单,资料和Framework功能都很完善,节省了大量的垃圾代码,增加了很多功能,比如if、async,对于开发者来说。 模板支持html和jsx,支持自定义dom命令。 "React "和 "Redox "一直抱着自己的内核。 同样,React是一个增益函数,它将一个道具转换为一个减速器元素,改变React的状态是一个简单的函数,它将一个旧的状态和行为转换为一个新的状态。 Vue(和Vuex)有一个反应模式,这意味着你可以通过指定的方法改变状态。 这和我在JavaScript中其他地方使用的不完全一样。这也是为什么选择React而不选择Vue的重要原因! 以上便是我的一些见解和回答,可能不能如您所愿,但我真心希望能够对您有所帮助!不清楚的地方您还可以关注我的头条号"每日精彩科技"我将竭尽所知帮助您! 码字不易,感觉写的还行的话,还请点个赞哦! 我自己为什么倾向React 1)个人原因 首先如果不是出于从项目选型的考量,我个人会更倾向React,有以下大面上的原因:无疑,很多大厂都在使用React,个人"向上空间"大一些;作为一个JavaScript库,用React可以更加灵活地选择组合使用的内容;我如果预先决定一个模式和数据流模式,感觉基于类的React开发会更加干净;较之Vue,repo会有很多贡献者;如果要编译本机应用程序,比较起来,感觉React-native非常赞。 最后在预览了Vue composition API之后,我不太倾向于使用反应式代理容器,该容器在我的某些迁移中立即中断,似乎与2.0的向后兼容性代价太高。 2)概括对比 React旨在成为一个与渲染UI的库,并且始终忠实于这个目标;在大多数使用情况下,仅拥有用于呈现UI的库是不够的,因此通常会添加其他软件包以改善体验,有了这些附加组件,React应用程序将变得更加类似于框架;模板是使用JSX完成的,JSX是类似于HTML的元素,再加上用于创建条件或循环的标准;由于大多数构造都使用标准JavaScript,因此特定于域的语言较少,这可以使学习曲线变陡,但有助于提高JavaScript语言技能。 Vue它的目的还在于呈现UI,但是作为生态系统的正式部分(Vue CLI、Vuex、Vue Router)提供了更多便利。较之于React,它不一定是固执己见的或刻板的,而是为构建应用提供了更多引导性和便利性;默认情况下,Vue组件分为模板、脚本和样式,以分离关注点;模板使用指令,这些指令是添加到HTML元素的自定义Vue属性,以输出需要if语句,循环等动态内容;仅需要专注于学习JS中特定于领域,实际上减少学习难度,但是对于初学者来说你实际上有可能没有掌握太多的JavaScript深度知识; 3)零散体会 React和Vue我都使,其间各种五味杂呈,从一些细节处看法: 在制作原型时,我习惯使用Vue。 它不涉及到任何构建工具(没有vue-cli,没有webpack,没有开发服务器,只有HTML文件,需要做的就是双击,打开,编辑,刷新);启动新项目时,我会制作了一个单文件模板。 对于React,至少需要一个开发服务器来提工作效率。有人推荐我babel-standalone,但是如果不禁用Chrome中的网络安全性,它就不能