是什么让Angular和Backbone与jQuery不同?

时间:2013-12-04 12:32:52

标签: javascript jquery angularjs backbone.js

我一直在使用JavaScript和jQuery已经有一段时间了,并希望进一步扩展我的技能,在我的搜索过程中,我遇到了两个流行的名字AngularBackbone,在阅读它们时我在他们两个中发现了一条共同的线,它们似乎也是他们的USP即

It is designed for developing single-page web applications

这让我很困惑。

  • 我不能用JS或jQuery做什么,我需要这些?

  • 我在单页面上创建了Web应用程序,用户可以通过异步调用在单页面上执行CRUD操作,那么为什么这些其他库的重要性呢?

作为一名掌握了JS的中级Web开发人员,转向这两者的正确途径还是在这之前我应该​​考虑的其他内容?

请帮帮忙?

3 个答案:

答案 0 :(得分:7)

结构。

在大约4年前开始的一个正在进行的项目中,我们使用jQuery构建了前端。我们能够完成我们需要创建的几个功能非常强大的单页面应用程序。

随着项目的进展和代码库的增长,我们开始遇到代码可维护性方面的一些主要问题。我们最终每页都有数百或数千行JavaScript代码,几乎无法导航。如果我们当然更加小心,但当时我们专注于确保后端架构是健壮的,那么本来可以避免这种情况。

许多年前,社区了解到代码需要结构才能维护。我们开发了MVC模式,多层应用程序等。但JavaScript从来都不是该领域的重要参与者,我们在很大程度上忽略了它。

在过去的6个月左右,我们将Angular引入项目并开始整理项目中的一些混乱。结果非常好。不仅代码更简单,更容易创建,结构使得更容易实现测试,更容易维护,并且通常比以前更加改进。我们仍然使用jQuery,但现在我们已经被缺乏结构所困扰,并且对JavaScript应用程序的体系结构了解了一两件事。 Angular及其为您提供了构建良好应用程序的工具。

答案 1 :(得分:2)

当您创建更大规模的Web应用程序时,最好查看Backbone,Angular或Meteor。 jQuery支持巧妙的技巧,但它无法帮助您以可维护的方式构建代码。基于jQuery构建的大规模Web应用程序需要他们自己的愿景,即如何将代码分离到自己的责任层。 其他框架提供更多支持。

我建议查看至少一个库。也许你最终不会使用它们,但它将有助于你在jQuery中的工作方式。

答案 2 :(得分:0)

那么现在有很多关于Angular.js,特别是SPA(单页应用程序)的炒作。说实话,一个月前,当我的团队决定从Jquery转移到Angular时,我脑子里也有同样的问题。

每当谈到Jquery时,我们首先想到的是DOM操作。在使用Jquery时,我们总是想到操纵DOM。显示/隐藏元素,动画元素,从您命名的标签中获取数据。但Angular提供的不仅仅是这些。它为您提供了一种架构,一种在前端构建应用程序的方法。

因此,无论何时去Angular.js,都要改变您对创建Web应用程序的看法(并相信我的价值)。 Angular的大多数结构使用依赖注入的概念,这是维护代码的一种巧妙方法。

Backbone只是一个库,而Angular.js是一个用于创建和管理单页应用程序的完整框架

谈到在我们创建大型可扩展应用程序时应该使用Angular.js的事实,这是事实。就我而言,我工作的团队充满了Jquery Ninjas。我们在过去的3年里一直在创建一款出色的应用程序,并且相信我很难维护和调试数千行Jquery。这是我们决定将此应用程序改造为Angular的主要原因。

请看一些有用的链接。你会得到一个更好的主意。

  1. http://net.tutsplus.com/tutorials/javascript-ajax/3-reasons-to-choose-angularjs-for-your-next-project/
  2. "Thinking in AngularJS" if I have a jQuery background?