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

时间:2015-05-16 04:57:16

标签: javascript angularjs reactjs frontend javascript-framework

我是一名ruby on rails开发人员,他最近才开始学习除jquery之外的javascript技术(Angular和React)。我阅读了几篇比较帖子,了解为什么人们使用不同的javascript框架和库,但我仍然很难弄清楚它们的意义(很可能是因为我对网络的确切运作方式缺乏了解?)。我在使用Angular和React时发现的一件事是我不需要像以前那样使用jquery来单独处理ajax。另外,我似乎很欣赏React的语法和组件。

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

2 个答案:

答案 0 :(得分:4)

  

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

你不需要任何一个。为什么要学习最新的框架?无论如何它只会在几年内过时。只需学习如何利用影子DOM和HTML等现代Web技术。

另一方面,如果您想使用快速原型设计,请使用框架。只知道有一天会有一些东西会破坏,你将需要探索黑色迷宫,这是你选择的框架的未记录的代码,只是为了找出经过几天的搜索和挫折,这是你的代码中的一个简单的逻辑错误如果您完全理解所述框架的功能和内部工作原理并且因为没有文档完全超过10%完成,您将永远继续这个循环,直到您停止使用框架。这只是你为更快速发展付出的代价。

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

在我看来,最好的选择就是尽可能多地学习,这样你就可以准备好当一个新的项目落在你的腿上时,这个项目是用角度或反应的框架写的,但是如果给出了一个选择,那么逻辑决定是专注于编写轻量级可重用的javascript组件,而不需要任何库,框架或您与DOM之间的任何其他内容。

但是你可能会争辩说,并不会导致你最终编写自己的框架?我不想重新发明轮子!"即使这是真的(我并不是说它,至少你会完全理解框架的功能和限制及其内部机制。但最有可能的是,如果你利用现代网络编写智能可重用代码您不需要框架的技术也不会写一个。

如果您选择了一个框架,我的建议是尽可能多地从提供的文档和堆栈溢出中学习它。事实是,要将项目提交到使用框架,您应该足够了解该框架,如果需要,您可以在没有它的情况下相处。如果你愿意承诺我说去吧!

答案 1 :(得分:1)

我认为您应该检查ember-cli,因为它的开发人员更多是ROR,http://discuss.emberjs.com/是使用ROR + Ember-CLI构建的,您可以在https://github.com/discourse/discourse

上获取其完整的源代码