Jquery与新JavaScript框架/库(Angular,Ember,React等)相比如何?

4

我是一名 Ruby on Rails 开发者,最近开始学习除了 jQuery 之外的 JavaScript 技术(Angular 和 React)。我阅读了几篇比较文章,想要理解人们为什么使用不同的 JavaScript 框架和库,但我仍然很难弄清它们的重要性(可能是由于我对 Web 工作方式的理解不足?)。在使用 Angular 和 React 时,我发现我不需要像以前用 jQuery 那样单独处理 ajax。此外,我似乎也欣赏 React 的语法和组件。

总之,请帮助我理解为什么我应该使用 Angular 或 React 而不是只用 jQuery。有些事情我可以用其中一个做而另一个做不到吗?有些框架比其他框架更快吗?这只是风格和喜好的问题吗?


请查看这个类似问题的SO帖子[链接](https://dev59.com/vmMl5IYBdhLWcg3wa2fW),当然还有这个最近非常流行的[链接](https://dev59.com/YGUp5IYBdhLWcg3w3KXe) - Shehryar Abbasi
请访问tomvc.com,它会帮助你的。 - Chandermani
jQuery是一个口袋多功能工具,Angular是宜家家居的家具,React则是预制房间。 - dandavis
3
学习JavaScript,并逐步构建自己的框架。最初可以使用jQuery编写,因为它很容易上手,然后尽可能地减少使用jQuery,转而使用纯JavaScript。我已经在这个领域工作了20年,试过所有的框架,除了jQuery之外都被淘汰了。当我面试年轻的程序员时,他们总是想通过展示自己对各种框架的掌握来给我留下印象,如AngularJS等等......但这些层次结构是没有用的,只会增加复杂性。该论坛中80%的问题都是关于如何在基础知识上使用复杂和广告宣传强的框架,阅读这些答案真是有趣。 - cpugourou
2个回答

6
无论如何,请帮我理解为什么我应该使用Angular或React而不是仅仅使用jQuery。
您不需要它们中的任何一个。为什么要学习最新的框架?它只会在几年内过时。只需学习如何利用现代Web技术,例如阴影DOM和HTML包含即可。
另一方面,如果您想要快速原型设计,请使用框架。只需知道,总有一天会出现问题,您将需要探索您选择的框架的未记录代码的黑色迷宫,只是为了找出经过几天搜索和挫败后发现这只是您代码中的简单逻辑错误,并且如果您完全了解所选框架的功能和内部工作原理,则永远不会发生这种情况,因为没有文档曾经超过10%的完整性,您将继续循环下去,直到停止使用框架。这只是更快速开发所付出的代价。
框架的力量也是它们最大的弱点。我们喜欢像Angular这样的框架,因为它们通过抽象复杂性并允许我们编写更少的代码来为我们提供结构和能力。同样,抽象层培养了无知和懒惰,因为我们的代码库不断增长,我们变得更加执着于我们选择的框架。
在我看来,最好的选择是尽可能多地学习,这样当您手头有一个像Angular或React这样的框架编写的新项目时,您就会做好准备。但是,如果有选择的话,逻辑决策是专注于仅编写轻量级可重用的JavaScript组件,而无需使用任何库、框架或其他任何东西来连接您和DOM。
但是您可能会争辩说,“那岂不是最终会导致您编写自己的框架?我不想重新发明轮子!”即使这是真的(我并不是说它是真的),至少您将完全了解框架的能力和限制以及其内部机制。但是,最有可能的是,如果您编写智能可重用的代码,利用现代Web技术,您将不需要框架,也不会编写框架。
如果您选择框架,我的建议是从提供的文档和堆栈溢出中尽可能多地了解它。事实上,要将项目提交给使用框架,您应该足够了解该框架,以便在需要时可以不使用它。如果你愿意承诺,我说去试试!

如果你从其他地方复制内容,请添加源链接;否则,这可能被视为抄袭。谢谢。 - Pang
我已经从这个答案中删除了抄袭内容 - 它似乎也有原创内容,因此避免了被标记为需要管理员审核的情况。 - halfer

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接