辩论:VueJS vs. ReactJS

辩论:VueJS vs. ReactJS

原文:https://medium.com/hackernoon/debate-vuejs-vs-reactjs-9d2a8867b69b

有了这么多新的库和框架,很难跟上它们的步伐,如果你能决定哪些值得花时间的话。

让我们来看看人们是怎么说的:

“与 Vue 合作。JS 是一个很大的乐趣,我发现学习曲线非常浅,然而,这可能纯粹是基于我的经验,正如我以前提到过的,我过去曾与一些人一起工作过。

默认的模板结构与 Angular 的工作方式非常相似,因此来自该背景的开发人员可能会比使用 React 更快地掌握它。我真的不能不学习 React,看看它是否会影响学习 Vue.JS 的容易程度。”

Reme Le Hane

超赞的 React 在罗工作

罗马尼亚的好工作

“比起 React,我更喜欢 Vue.js 。Vue.js 是 Javascript 领域的新生事物。所以我想说学习的简单性可能是第一位的。简洁是其设计的一部分。

  • Vue 更简单,它采用了 Angular 1 和 React 的很多概念。您可以在没有任何构建系统的情况下使用它——只需将它包含到 HTML 文件中。
  • React 更大,也更复杂一点(比如在设置方面)。

所以如果你想只是想学习一个库,没有一个构建系统选择 Vue。Vue.js 非常平易近人,为如何处理各种事情提供了更多的结构。如果你还不确定,两个都试试。此外,点击此处阅读更多关于 ReactJS 与 Vue.js 和 AngularJS 之间差异的信息。”

凯瑟琳·丽雅

“要回答你的主要问题,我认为 Vue.js 是更好地了解 React 系统的一个很好的方式。但是,你可能还没看完指南就爱上 Vue.js 了。让我告诉你,整本书都值得一读。找一个周六,尽情享受吧!

在你进一步阅读我的回答之前,我强烈建议你去看看 Vue 的框架对比 。它非常周到,考虑了许多重要的因素。

你想为哪个(些)平台开发?选择你的毒药。

  • React 几乎适用于任何平台。无论是 web 还是原生开发,React 都已经覆盖了你,并且正在两个方向上走向成熟。好处是当涉及到 UI 开发时,在任何上下文中都是一个灵活的开发者。它甚至进入了虚拟现实。
  • Vue 2.0 也在走向原生。 Evan 和他的团队正在与阿里巴巴合作创建 Weex ,这将允许与 React Native 相当的原生渲染。Vue 2.0 现在主要专注于 web 开发,但也支持其他平台的发展。根据 Evan 的最新 Vue 博客文章,2017 年将是 Weex 的重要一年。

您希望多快开始创建?为什么不是今天,而是几周?

  • React 有一个陡峭的学习曲线。它的文档和围绕某些概念的术语有点非传统和杂乱,其中 Vue 的指南、属性名称、设置过程等。所有这些都非常熟悉,并且符合更广泛的 HTML、CSS 和 ES6 标准。谢天谢地,这两个框架的社区都在蓬勃发展。你可以找到大量的资源来开始。(资源: React / Vue )
  • 我面对的最大的障碍是理解构建工具链:Webpack、JSX、我的文本编辑器插件等等。
  • 然而, Vue 不需要 Webpack ,或者其他任何东西。您可以使用您最喜欢的包管理器或 CDN 快速包含这个库,立即编写 ES5 应用程序。这意味着你可以立即在 CodePen 和其他代码共享环境中使用 Vue。
  • React 最近推出了 create-react-app 用于入门。你可以将它与 Vue 的命令行工具进行比较。

在专业领域……

  • Vue 已经被 GitLab ,Laravel,PageKit 等大牌采用。
  • Vue 仍然感觉像是我开发圈里的新成员。然而,在我的公司(IHS Markit)的许多开发人员已经开始采用 Vue,在考虑 Angular 之后,反应非常强烈。
  • React 非常受欢迎,它存在的时间更长。很可能更多的企业使用了 React。如果你现在正在求职,请记住这一点。
  • 在过去的几个月里(2016 年秋季),我看到了很多文章在流传:“为什么我们选择 Vue.js 而不是 React 和 Angular……”。随着越来越多的人意识到它的易用性,Vue.js 正在迅速获得关注。

开始进一步 Vue fanboyism… 状态管理和路由都包括在内!您已经了解 Flux/Redux,下面是 Vue 提供的功能:

  • Vuex 是 Vue 的 Flux/Redux/Elm 启发的实现,专门为使用 Vue 的反应性系统量身定制。它的突变、getters 和动作系统非常协调,非常容易与您的组件集成。不过,如果你更喜欢使用 Redux,Vue 也可以使用 Revue 。无论哪种方式,知道如何使用状态管理系统都是一个很有价值的模式。
  • 如果你需要 URL 路由和参数,vue-router 非常简单和强大。看看文件就知道了。

其他值得注意的事情……

最后,Vue.js 给我留下了深刻的印象,并且我还会继续使用它,这就是它杰出的社区、Evan 和他的贡献者的专业精神、它的易用性以及它与 Web 组件标准的一致。我被这个项目的成功震惊了,能够在短时间内创建我所能想到的任何前端是多么令人愉快。"

安迪·莫斯金

“我在这里也要插话。我花了大约一年时间和 React 一起工作。在过去的几个月里,我最近换成了 Vue,从那以后我再也没有回头。关于 Vue 的一些事情让我迷上了 React,即:

  • JSX——我对 JSX 恨之入骨。每次打开项目,我都要花上几秒钟,甚至几分钟的时间来接受这样一个事实:我正在寻找的组件的 javascript 由样式、传统的 Javascript 方法和 UI 元素组成,所有这些都被粉碎成一个组件化的野兽。它很快就过时了。
  • 传统 html 属性的重命名— 传统 HTML 将类和样式作为元素的属性。哦,好吧,React 也可以做到这一点,你所要做的就是确保所有的类属性都被称为 className,并且样式属性不再有字符串值。想象一下,尝试基于您购买的现有主题创建一个网站。把它换过来反应真的感觉像把刀子插进你的眼球。有了 Vue,现有的 HTML 就可以了。你想让它“反应”吗?继续,但不需要像在 React 中那样。
  • Bundlers required —所以 React 只是 UI 层,对吧?他们是正确的;你甚至不需要 webpack 或任何其他捆绑器。但是试着不用它来建造任何实体的东西。你会过得很艰难。您开始左右拉动启用功能的包,这些包的所有指南都假定您有 webpack。如果你要发送“Hello World ”,那么只使用 React 就可以了。其他的,开始阅读你所有的捆绑器。"

约苏利文

“我使用 Angular 1 一年多一点,然后改用 React。我看了 Vue 几次,但从来没有真正用它做过什么,也就是说,我只听说过关于它的很棒的事情,从它的外观来看,它很容易上手。

我选择 React 有三个原因:

  1. 这是目前最受欢迎的网站:这很重要,最受欢迎意味着它拥有最多的在线资源,更好的工作机会,更有可能取得长期成功(除非他们像谷歌那样做 Angular 1)。
  2. 这是通用的:有一些库允许你使用 React 编写移动甚至桌面应用程序(虽然我还没有亲自尝试过构建桌面应用程序)。Vue 也将推出自己的混合移动框架,但即使它真的推出了,考虑到 RN 的领先优势及其社区的规模,我也非常怀疑它能否很快赶上 React Native。
  3. 这很复杂也很难学:我不同意这里大多数人的观点,我认为这不仅是学习 React 的一个好理由,实际上也是我喜欢 React 的原因之一。学习 React 会让你成为更好的 javascript 开发者。做出反应很困难,因为:
  4. 它使用了很多中高级的 JS 概念。要有效地使用 React,需要对对象、关键字“this”和一些函数式编程概念有透彻的理解(如果您使用 Redux,最后一个概念更相关)。如果你还没有学过 ES6,它很可能会强迫你去学。
  5. 它只是您需要的工具集的一部分,所以您必须依赖其他库,如 Redux。这在开始时可能是痛苦的,但它教会你如何将不同的库混合、匹配和连接在一起。它还为您提供了一个优势,您可以根据自己的需要定制工具,如果您只想在应用程序的某个部分使用它,甚至可以将 React 放入 Angular/Vue 应用程序中。
  6. 它通常与 webpack 之类的构建工具一起使用(尽管实际上并不需要它们)。Vue 在没有构建工具的情况下更容易设置,但是几乎任何真实世界的应用程序最终都会使用构建工具,所以如果您仍在学习,只想跳过麻烦,更快地到达构建环境,这只是一个优势。即使是这种情况,你仍然可以通过使用像 create-react-app 这样的项目生成器来跳过所有的配置,直接进行构建。

前端开发的问题是 JS 生态系统非常不稳定,框架不断变化。所以我认为,与其在那里寻找最简单/最强大/最流行的框架,不如学习一些对你作为开发人员长期有用的东西(尽管 React 也涵盖了最流行的东西)。即使 React 最终变得过时,我也不会对学习它感到任何遗憾,因为当我开始学习时,我对 Javascript 的了解远远超过我对它的了解。"

艾哈迈德·瓦格迪

“这些天我很少上网,主要从事后端数据处理、网络 I/O 和分布式通信。

一年多以前,我想要一个实时的 web UI 来可视化我在服务器端的一些数据,我试图用 SignalR 来做到这一点。我回顾了一些流行的框架,带着一个非常简单的想法“我能阅读‘入门’并在 15 分钟内完成一些基本的工作吗?”。

我最终选择了 Vue,主要是因为它使用简单的对象作为模型,我可以直接将我从 SignalR 获得的东西传递给它并显示出来。我尝试的几乎所有其他东西都有某种类型的数据包装器/代理,这意味着您必须运行一些映射练习才能让模型工作。我接近决定使用秘银,但是当我发现 Vue 的时候,我更加喜欢它了。我其实真的很想做 React,但 Vue 是如此平易近人,我不能证明花额外的时间学习 React 是正确的。

然而,真正的考验是在几个月后,当我去修改我简单的调试 UI 并添加更多的功能时。我几乎立刻就学会了,甚至做了一些相当实质性的改变。

对比我的经验,比如说,余烬。我们有一个用 Ember 编写的大型应用程序,每次我试图做我认为应该是简单的更改(在几个月没有接触它之后),它花费的时间是我想象的 5 倍,我最终花了大部分时间与它斗争,然后意识到我忘记了你必须修改的 5 个地方之一,以引用额外的依赖项或其他一些同样琐碎但令人恼火的细节。

你可以在几分钟内学会 Vue 的基础知识,并在几个小时内变得非常熟练。这不是很多框架可以宣称的,这是一个被严重低估的好处。"

格雷格麦克

本帖原载于Bootstrapbay博客—https://bootstrapbay.com/blog/vuejs-vs-reactjs/

乡亲们,你们怎么看?请随意加入这场辩论,不要忘记分享这一点,以便其他人可以了解这一点。

黑客中午是黑客如何开始他们的下午。我们是 @AMI 家庭的一员。我们现在接受投稿,并乐意讨论广告&赞助机会。

如果你喜欢这个故事,我们推荐你阅读我们的最新科技故事趋势科技故事。直到下一次,不要把世界的现实想当然!


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除