我一直在使用JavaScript和jQuery已经有一段时间了,并希望进一步扩展我的技能,在我的搜索过程中,我遇到了两个流行的名字Angular
和Backbone
,在阅读它们时我在他们两个中发现了一条共同的线,它们似乎也是他们的USP即
It is designed for developing single-page web applications
这让我很困惑。
我不能用JS或jQuery做什么,我需要这些?
我在单页面上创建了Web应用程序,用户可以通过异步调用在单页面上执行CRUD操作,那么为什么这些其他库的重要性呢?
作为一名掌握了JS的中级Web开发人员,转向这两者的正确途径还是在这之前我应该考虑的其他内容?
请帮帮忙?
答案 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的主要原因。
请看一些有用的链接。你会得到一个更好的主意。