关于Vue.js和React.js,听听国外的开发者怎么说?

2023-11-19

VueJS 与 ReactJS 到底怎么样如何?听听别人怎么说。

使用所有新的库和框架,很难跟上所有这些库和框架,也就是说,这就需要您决定哪些是值得花时间的。

让我们看看人们说什么:

“和Vue.JS一起工作是很愉快的,我发现学习曲线很浅,然而,这纯粹是基于我的经验,如前所述,我过去曾和一些人一起工作过。

默认的模板结构工作原理和Angular非常类似,所以有这个背景的开发人员可能会React上手更快。如果React像Vue.js那么容易学习的话,我真的不会不学习React,它的影响很大。

Reme Le Hane

“比起React我更喜欢vue.js。在JavaScript领域vue.js是镇上新来的小子。所以我想说学习的简单性可能是第一。简洁是设计的基础。

Vue是简单的,它具有很多从Angular1和react来的概念。你可以使用它来建立任何系统 - 只是把它包含到HTML文件中。

React更大,更复杂一点(例如在设置方面)。

所以如果你想只想学一个框架,并且没有一个已经建立的系统那就选择Vuevue.js很平易近人,提供如何把各种事情做好的更多的结构。如果你还不确定,两者都试试。也可以点击这里来阅读,ReactJS vs Vue.js vs AngularJS

https://www.agriya.com/blog/2017/03/08/angularjs-vs-vue-js/

Kathreen Riya

“回答你的问题,我认为Vue.js是了解React系统的一个好方法。然而,你看完指南之前你可能会爱上Vue.js。让我告诉你,整件内容都值得一读。找个星期六开始试试吧!

在你读我的回答,我非常鼓励你看看Vue的框架比较。它非常体贴,涉及许多重要的考虑因素。

您想用哪一个平台开发?选择你自己的毒药吧。

  1. React是几乎所有平台的理想选择。无论是Web还是原生开发,React都已经覆盖并在两个方向都成熟了。在UI开发方面,在任何上下文中都是一个灵活的开发人员。它甚至进入了虚拟现实。

  2. Vue 2太走向原生。Evan和他的团队正在与阿里巴巴合作创造Weex,这将允许本地渲染就像React Natvie。Vue 2现在主要集中在Web开发,但也承诺支持其他平台。根据Evan的最新的Vue的博客,2017对Weex是重要的一年。

你想多久才开始开发呢?为什么不今天就开始,而要等几个星期?

  1. React有陡峭的学习曲线。它的文件和术语在某些概念是不同寻常,而凌乱,在Vue中指南,属性名称,安装过程,等一切感觉很熟悉,与更广泛的HTML,CSS和ES6标准一致。感谢这两个框架,他们的社区欣欣向荣。你可以找到大量的资源来启动。

  2. 我面临的最大障碍是理解构建工具链:Webpack,JSX,我的文本编辑器插件等等。

  3. 然而,Vue不需要Webpack,或任何其他事情。你可以马上通过ES5快速的写应用包括使用你最喜爱的软件包管理器或CDN的框架。这意味着你可以用CodePen和其他代码共享的环境。

  4. React最近推出了create-React-app。你可以将这个和Vue的命令行工具进行对比。

在专业领域…

  1. Vue一直有大牌公司像gitlab,Laravel,PageKit等采用。

  2. Vue仍然感觉像在我的开发周期上新的孩子。然而,许多开发商在我公司(IHS Markit)已经开始采用Vue,在考虑Angular和React太重。

  3. React很受欢迎,而且已经持续很久了。可能更多的企业使用了React。如果你现在找一份新工作,那就记住这一点。

  4. 在过去的几个月里(下降2016),我看过很多文章说:“为什么我们选择vue.js超过React和Angular…”。vue.js获得牵引力,快捷,越来越多的人意识到它是多么容易使用。

再来看看Vue迷…

包括状态管理和路由!你已经知道了关于Flux/Redux,这就是Vue所提供的:

  1. Vuex是Vue的 Flux/Redux/Elm-inspired的实现,专门针对使用Vue的响应系统。其系统的mutations, getters,actions非常协调,与您的组件集成很容易。不过,如果你更喜欢用Redux,Vue用Revue也是很酷的。无论哪种方式,知道如何使用状态管理系统是一种很有价值的模式。

  2. 如果你需要URL路径和参数Vue-Router是该死的简单而强大。只要检查一下文档就ok了。

其他值得注意的事情…

  1. Vue的文档是一个梦。我不能告诉足够多的人它的指南和API参考有多大。Evan You(作者和项目负责人)有一种将现代开发提供给门外汉的方式。即使是经验丰富的开发人员,这也是令人耳目一新的。

  2. 写单文件vue组件感觉很自然 - 我从来没有回头,因为。这不需要Webpack,但没有恐惧,Vue提供了一个非常方便的命令行工具来帮助你产生很小的安装骨干项目。如果你喜欢Browserify,也不用担心。炼狱,你可以写你自己的CLI模板,如果你想要的话!提供的模板非常灵活。

  3. Vue 2支持服务器端渲染,帮你做SEO,让你的网站可以呈现给禁用javascript的人。

最后,不断有什么给我印象深刻的东西,再次回来的Vue.js是其突出的社区,Evan和他的贡献很专业,它的易用性,其显而易见的对齐与Web部件标准。我被这个项目的成功所震惊,创造出几乎任何我能梦想得到的前端都是多么令人愉快的事情。

Andy Merskin

我也来这儿。

我花了大约一年的时间来处理这个问题。我最近换了Vue在过去的几个月里,我没有回头。关于Vue的一些事情让我沉迷过度了,即:

  1. JSX - 我讨厌JSX。它总是花费我几秒钟的时间,如果不是几分钟就万幸了。我每次打开项目要接受这个事实,我一直在寻找一个JavaScript组件包括风格、传统的JavaScript方法和UI元素都支持的一个模块化的野兽。它很快就老化了。

  2. 重命名传统HTML属性 - 传统HTML类和风格的元素属性。哦,React也能做到,你所要做的就是确保你所有的类的属性称为类名和样式属性没有字符串值了。想象一下,试图创建一个基于购买的现有主题的网站。把它换成React就像用刀子刺眼球一样。而对Vue,现有的HTML只是普通的工作。你想“reactify”吗?继续,但这不是React中所要求的。

  3. 打包需要 - 所以React就只是UI层吗?他们是正确的;你甚至也可以不需要WebPack或任何其他的打包机。但是如果没有它们,你可以尝试建造任何实质性的东西,你都会很难过的。你开始拉动左右,使功能和所有那些假定WebPack包。如果你只是写“hello world”,然后只使用React可以。别的,你就得开始阅读所有的打包内容。

josullivan

“我用Angular1一年多一点,然后切换到React。我已经看了Vue几次却从来没有建立任何东西,那就是说我什么也没听到,但伟大的事情,从外观上来看,它是很容易。

我准备采取行动,原因有3:

  1. 这是目前最流行的:这很重要,最受欢迎的是它拥有最多的在线资源,更好的工作机会,更有可能获得长期的成功(除非他们使用谷歌的Angular1)。

  2. 它是通用的:有库允许您使用React来编写移动甚至桌面应用程序(尽管我还没有亲自尝试构建桌面应用程序)。Vue也将推出自己的混合移动框架,但即使当它来到的时候,我严重怀疑它会赶上React,有多少人考虑重头开始考虑到RN有及其社区的规模。

  3. 这很复杂,很难学:我不同意大多数人的观点,说这个不是学习React的好理由,而且实际上是我喜欢React的原因之一。学习React会让你成为更好的JavaScript开发人员。React很难,因为:

  • 它使用了很多中间高级JS概念。像一个深入了解的对象,“this”关键词和一些功能的编程概念是必要的工作,React的效率(最后一个是更相关的如果你使用Redux)。它也将更可能迫使你学习ES6如果你还不知道。

  • 你需要的工具只有1件套,所以你必须依靠终极版的其他库。开始时这可能很痛苦,但它教你如何混合、匹配和连接不同的库。也让你能够定制你的工具,你认为合适或甚至将React放进Angular/Vue应用如果你只想用它在你的应用程序的某些部分的优势。

  • 它通常用到构建工具像WebPack(虽然它实际上并不需要他们)。Vue是建立更加容易没有编译工具,但是相当多的任何真实世界的应用都将是最终使用编译工具,无论如何,这是唯一的一个优势,如果你还在学习,只是想跳过麻烦去更快建设。即使是这样的话,你仍然可以通过使用项目生成器,比如创建React应用程序来跳过所有配置并直接构建。

前端开发的问题是js生态系统可能非常不稳定,框架在不断变化。因此,我认为,不是寻找最简单、最强大、最流行的框架,而是作为一个开发人员长期学习有用的东西(尽管React也有最流行的东西),这可能更有用。即使React最终变得过时,我也不会对学习它感到后悔,因为当我开始学习JavaScript的时候,我知道的比我想知道的还要多。

Ahmed Wagdi

“这些天我很少做网页,大多工作在后端数据处理、网络I/O和分布式通信。

一年多一点以前,我想要的是一个实时的Web UI想象一些我对服务器端的数据,我想用SignalR。我回到了一些流行的框架,有一个非常简单的思维方式:“我可以阅读‘入门’,然后在15分钟内开始一些基本的工作吗?”。

我最终选择了Vue,主要是因为它使用简单的对象模型和我真的只是过去的东西我可以从SignalR直接进入并显示。我所尝试的几乎所有其他的东西围绕着数据都有某种类型的打包器/代理,这意味着你必须运行一些映射才可以使模型正常工作。我几乎决定用Mithril,但是当我发现这只是我的需要与Vue重合更多。其实我真的想用React,但Vue只是更平易近人,我不需要花费额外的时间学习React。

然而,真正的考验是几个月后,我去修改和添加更多的功能到我的简单调试UI中。我几乎可以立即拿起它,甚至做了相当大的改动。

与我的经历相比,Ember。我们有一个大的应用程序基于Ember编写,每一次我试图做的是我认为应该是一个简单的改变(不接触的几个月后),我花了比我想象的要长5倍,我花了大部分的时间与它作战之前实现我忘了5个的地方,你必须修改参考额外的依赖或其它一些同样平凡但真气人的细节。

你可以学习Vue在分钟的基础知识,并在几个小时内很内行。这是不是很多的框架,可以说,这是一个被严重低估的好处。

gregmac

这篇文章最初发表在bootstrapbay博客 - https://bootstrapbay.com/blog/vuejs-vs-reactjs/

各位,你们怎么看?在这场辩论中,请随意点儿,别忘了分享你的体验,这样其他人就能了解到你的想法。

汇智网(www.hubwiz.com,大量最新的vue/react/angular课程),小智翻译。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于Vue.js和React.js,听听国外的开发者怎么说? 的相关文章

  • 反应光滑的幻灯片高度问题

    我无法让这些 React Slick 滑块组件达到相同的高度 它们都是响应式 div 并随着页面大小的变化相应地调整大小 但理想情况下 我希望左侧的 div 与右侧的 div 具有相同的高度 我使用下面的代码片段定义了 SimpleSlid
  • React Redux 在 Modal 中的使用

    我正在 React 中学习 Redux 我在 React 中使用 Redux 进行 Modal 开发 我的代码如下 render return
  • ReactJS:在子组件内的父组件上设置状态

    从子组件对父组件执行 setState 的推荐模式是什么 var Todos React createClass getInitialState function return todos I am done I am not done r
  • 使用酶测试反应确认窗口

    我在 React 中有一个按钮 当用户单击它时 它会打开一个简单的确认窗口 在我添加confirm方法之前 下面的测试是绿色的 添加后确认它是红色的 我需要如何更改测试才能与附加确认一起使用 反应删除按钮 const DeleteButto
  • 根据条件添加 vue 指令

    是否可以根据条件设置指令 我有一个 粘性 指令来使元素粘在屏幕上 我有一个正在使用的社交分享组件
  • Vue - API 调用属于 Vuex 吗?

    我正在努力寻找在 vue 模块中理想的 API 调用位置的答案 我不是在构建 SPA 例如 我的 auth 块有几个用于登录 密码重置 帐户验证等的组件 每个块都使用 axios 进行 API 调用 Axios 已经提供了异步的 Promi
  • React Router v4 NavLink 活动路由

    我正在尝试使用 v3 移植我的项目react router到现在所谓的 v4react router dom 现在 当我有一个 MenuBar 组件时 问题就出现了 该组件与路由逻辑完全分开 如您所期望的 因为无论当前路径是什么 它都会显示
  • MobX - 当我可以在将数据注入 React 组件时使用“inject”时,为什么我应该使用“observer”

    MobX 文档建议我应该使用observer在我的所有组件上 然而 通过使用注入 我可以更细粒度地控制哪些数据导致组件的重新渲染 我的理解是我observer 最后一次渲染中所有访问的可观察量的更改将导致重新渲染 即使可观察量嵌套在数据存储
  • 如何在类组件中使用 setState 以正确的方式更新数组内对象的属性?

    我有一个处于状态的对象数组 其结构如下 const arrayOfTests id 1 name test1 description test description id 2 name test2 description test des
  • 如何使用成帧器运动对每个状态变化进行动画处理

    我认为渲染成帧器运动可以重做我的动画 因为初始设置为隐藏 动画设置为显示 但这种情况并非如此 我怎样才能让它在每次状态变化时重新播放动画 import React useEffect useState from react import m
  • 类型“CombinedVueInstance>>”上不存在属性“XXX”

    我使用 TypeScript 创建了一个 vue 组件 并且在以下位置收到此错误data and in methods Property xxx does not exist on type CombinedVueInstance
  • React Native 中的 Java 单例相当于什么?

    实际上我是一名 Android 原生开发者 我是 React Native 的新手 在Java中 我将用户数据和其他数据保存在单例类中 并从其他活动进行访问 然后我如何在 React Native 中实现这个过程 以便从其他组件或 Reac
  • VueJS 将类切换到表中的特定元素

    我似乎不知道如何在表中的特定项目上切换类 我使用 v for 循环数据并将其打印给用户 目标是当用户单击表内的特定元素时切换类 当我尝试添加 v bind class active isActive 时 它只是将该类添加到所有类中 而不是特
  • 正确处理麦克风音频的 React Hooks

    我正在尝试编写一个 React Hook 来处理流音频到 AudioContext 并使用 Meyda 进行分析 https meyda js org https meyda js org 我已经设法使流正常工作并能够提取我想要的数据 但是
  • 定期运行 python 程序作为 firebase 中的后台服务

    刚开始使用 firebase React 来构建一个网站 我网站的设计功能之一是抓取并向用户显示从另一个网站解析的数据 例如股票价格变化 我已经有一个 python 爬虫负责解析数据 但我不知道如何在 firebase 中执行我的服务器的这
  • 可以在 Vue 模板中渲染 VNode 吗?

    我遇到的情况是 我有一个渲染函数将一些数据传递到作用域槽 作为此数据的一部分 我想包含一些由渲染函数构造的 VNode 这些 VNode 可以选择由作用域插槽使用 无论如何 在模板中编写作用域槽以输出收到的原始 VNode 时是否存在 Vu
  • 如何在 Laravel 中使用 Vue 路由器?

    我使用 laravel9 和 vue3 进行开发 我的问题很简单 但是路径设置不太顺利 当我访问网址时localhost 8080 tasks 此 url 返回 404 未找到 我收到以下类型错误 获取http localhost 8000
  • 在 docker 容器内运行 vite 开发服务器

    我有一个 Vue cli 应用程序 我正在尝试将其转换为 vite 我正在使用 Docker 来运行服务器 我看了几个教程 并让 vite 在开发模式下运行 没有错误 但是 浏览器无法访问该端口 也就是说 当我在 macbook 的命令行上
  • NEXT JS - 应用程序通过重写呈现两次

    我正在开发一个 NEXT JS 项目 但找不到两次渲染应用程序的解决方案 Problem 添加后rewrites to next config js App被渲染两次 如果移除 则渲染一次 next config js async rewr
  • Apollo 无法在更新中访问 queryVariables:突变后

    我正在尝试使用 update 在执行突变后更新查询 问题是商店中的查询应用了多个不同的变量 我想更新查询并使用相同的变量返回它 我在文档中发现 updateQueries 有一个包含 queryVariables 的选项 它们是执行查询时使

随机推荐

  • 《高效能程序员的修炼》目录及部分精彩章节

    高效能程序员的修炼 本书已上市 各大书店均有销售 谢谢支持 目 录 1 入门须知 1 1 你想当一个程序员 1 2 程序员的八种境界 1 3 如何培养写作习惯 2 把一堆烂事搞定的艺术 2 1 学海无边 2 2 磨刀不误砍柴工 2 3 一路
  • 深入探索透视纹理映射(下)

    在上一篇文章中 我们探讨了学习透视纹理映射所需要的基础知识 我们知道了顶点在通过透视投影变换之后 是如何一步一步通过流水线进入屏幕空间的 也知道了一个非常简单的三角形扫描线转换算法 以及通过线性插值实现的仿射纹理映射 尽管我们使用的这个流程
  • 图片自动填充单元格_Excel合并单元格后进行快编号填充,你还为这个操作苦恼吗?...

    我们在工作中常常会遇到这样的情况 经常需要对某些行进行合并 但是 这个时候可能就会遇到一个问题 合并了行以后如何进行自动序号填充呢 使用Excel自带的向下拉填充序列的方式是不能正确填充的 今天 给大家介绍一种能够对合并单元格进行序号填充的
  • Clion中单行注释、多行注释及取消注释快捷键示例

    添加注释 单行注释 光标定位到指定代码行 Ctrl 多行注释 光标选定多行代码 Ctrl shift 取消注释 取消注释与添加注释快捷键相同 单行注释 光标定位到指定代码行 Ctrl 多行注释 光标定位到多行注释中 或选定全部被注释的内容
  • feignclient发送get请求,传递参数为对象。

    feignclient发送get请求 传递参数为对象 此时不能使用在地址栏传递参数的方式 需要将参数放到请求体中 第一步 修改application yml中配置feign发送请求使用apache httpclient 而不是默认的jdk
  • 做什么副业比较赚钱,这五个项目现在入行可能比上班挣得还多

    还有2个月不到的时间 2022就要过去了 这一年太魔幻了 而普通人的生活也的确太难了 这一年 各行各业都在萎缩 制造业急剧萎缩 要么不能静态生产 要么生产了就送不出去 因为可能是疫区 也可能是收货地 这样老板和员工都赚不到钱 中小商户和商铺
  • 我们无法设置移动热点_Win10 校园拨号连接情况下开热点

    win10校园网下开启热点 本段文字用以解决win10下无法建立移动热点 错误提示为 我们无法设置移动热点 因为你的电脑未建立以太网 WIFI或手机网络连接 这个问题可能出现在拨号上网连接的设备上 这也就是说我们的电脑现在无法识别出我们所用
  • java 读取resource下的文件

    目录 一 普通main代码里使用 1 假设有如下结构的代码 1 main方法里复制resource下的文件 2 main方法里读取resource下的文件 2 假设有如下结构的代码 二 对于springboot项目读取resource下的资
  • JDBC数据源连接池(4)---自定义数据源连接池

    JDBC数据源连接池 4 自定义数据源连接池 续上文 JDBC数据源连接池 3 Tomcat集成DBCP 我们已经 了解了DBCP C3P0 以及Tomcat内置的数据源连接池 那么 这些数据源连接池是如何实现的呢 为了究其原理 我在这里写
  • Bootstarp入门教程(5) 排版(2)

    3 缩略语 当鼠标悬停在缩写和缩写词上时就会显示完整内容 Bootstrap实现了对HTML的
  • 如何理解和解决高并发

    如何理解高并发 高并发指的两方面 提升硬件 负载均衡 使用缓存 缓存一致性如何保证 限流 DNS负载均衡 线程池和分布式锁 总结 高并发指的两方面 同一时刻有大量的请求访问系统 有大量的请求并行访问系统 当大量请求短时间内涌入系统的时候 我
  • 2018中国汽车企业排行榜TOP10

    看排名 懂中国汽车 Aming 汽车行业变化很快 但是从上市车企的情况来看 可以看到具体的财报数字 因而可以知道一个更具体的发展情况 不过这次的排行榜主要针对2018年上半年中国已经上市的汽车企业 特别推出利润排行榜与销量排行榜 同时还有利
  • Dockerfile讲解和案例分享

    目录 dockerfile是在容器外部 构建三部曲 dockerfile基本知识 dockerfile执行流程 dockerfile 常用保留字 FROM MAINTAINER RUN EXPOSE WORKDIR USER ENV ADD
  • 40个学术网站

    40个学术网站 满足你的科研需求 2018 03 06 美国留学那点事 文 中外学术情报 微信号 Academic Information 科研工作者每天日常莫过于看文献 做实验 写论文 人生最郁闷的事情不过于是导师说 那个XX 帮我下载下
  • java secretkey用法_Java SecretKeyFactory.generateSecret方法代码示例

    本文整理汇总了Java中javax crypto SecretKeyFactory generateSecret方法的典型用法代码示例 如果您正苦于以下问题 Java SecretKeyFactory generateSecret方法的具体
  • Rust- 类型转换

    Rust is a statically typed language which means that it emphasizes on knowing the types of all variables at compile time
  • Python全栈开发【基础-05】基本数据类型

    专栏介绍 本专栏为Python全栈开发系列文章 技术包括Python基础 函数 文件 面向对象 网络编程 并发编程 MySQL数据库 HTML JavaScript CSS JQuery bootstrap WSGI Django Flas
  • LeetCode 124. 二叉树中的最大路径和 Python

    给定一个非空二叉树 返回其最大路径和 本题中 路径被定义为一条从树中任意节点出发 达到任意节点的序列 该路径至少包含一个节点 且不一定经过根节点 示例 1 输入 1 2 3 1 2 3 输出 6 示例 2 输入 10 9 20 null n
  • n-gram模型中的平滑方法

    当使用n gram模型对测试语料中的句子进行评估时 如果句子中包含在训练集中未出现的n元语法 则计算出来句子出现的概率为0 例如上一篇博客语言模型和n元语法中的例子 此时用该模型来计算下面句子的概率 因此 必须分配给所有可能出现的字符串一个
  • 关于Vue.js和React.js,听听国外的开发者怎么说?

    VueJS 与 ReactJS 到底怎么样如何 听听别人怎么说 使用所有新的库和框架 很难跟上所有这些库和框架 也就是说 这就需要您决定哪些是值得花时间的 让我们看看人们说什么 和Vue JS一起工作是很愉快的 我发现学习曲线很浅 然而 这