jQuery与新Javascript框架/库(Angular,Ember,React等)

use*_*471 3 javascript frontend javascript-framework angularjs reactjs

我是Rails开发人员的红宝石,他只是最近才开始学习除jquery之外的javascript技术(Angular和React)。我阅读了其中的一些比较文章,以了解人们为什么使用不同的javascript框架和库,但是我仍然很难弄清它们的重要性(很可能是由于我缺乏对网络工作原理的了解?)。我在使用Angular和React时发现的一件事是,我不需要像以前使用jquery一样单独处理ajax。另外,我似乎确实很欣赏React的语法和组件。

无论如何,请帮助我理解为什么我应该使用Angular或React而不是jQuery。有什么我可以做的事,而另一件事不能做?有些比其他快吗?只是风格和喜好问题吗?

dss*_*dss 5

无论如何,请帮助我理解为什么我应该使用Angular或React而不是jQuery。

您不需要任何一个。为什么要学习最新的框架?无论如何,它只会在几年内过时。只需了解如何利用现代Web技术(例如影子DOM和HTML包含)即可。

另一方面,如果要使用快速原型制作,则可以使用框架。只是知道有一天某事会破裂,您将需要探索黑色迷宫,它是所选框架的未记录代码,只是为了寻找经过几天的搜索和沮丧,这是您代码中的一个简单逻辑错误,如果您不完全了解所述框架的功能和内部运作,并且从未完成过最多10%的文档,那么您将永远持续这个循环,直到停止使用框架为止。这只是您为更快发展付出的代价。

框架的力量也是它们最大的弱点。我们喜欢有角度的框架,因为它们通过抽象化复杂性并允许我们编写更少的代码来为我们提供结构和功能。同样,随着我们的代码库的增长,抽象层滋生了无知和懒惰,并且我们在所选择的框架中变得更加根深蒂固。

我认为最好的选择是学习尽可能多的知识,因此当一个新项目落入您的膝盖时,您将做好准备,该新项目以诸如angular或react之类的框架编写,但如果有选择,则逻辑上的决定是重点只需编写轻量级可重用的javascript组件,而您与DOM之间无需任何库,框架或其他任何东西。

但是您可能会说:“这是否会导致您最终仍然编写自己的框架?我不想重蹈覆辙!” 即使这是真的(我不是说那是真的,至少您将充分了解框架的功能和限制及其内部机制。但是最有可能的是,如果您利用现代Web技术编写智能可重用代码,不需要框架,也不需要编写框架。

如果选择框架,我的建议是从提供的文档和堆栈溢出中尽可能多地了解它。事实是,要使一个项目致力于使用框架,您应该足够了解该框架,如果需要,您可以在没有框架的情况下相处融洽。如果并且何时您愿意承诺,我就说吧!