AngularJS是一个超级JavaScript MVC框架。之所以称作“超级”是因为它为我们做很多事情,我们只需要专注于核心应用程序,其它的事情就交给AngularJS。AngularJS允许我们应用标准,将过去用于在服务器端的尝试-测试的软件工程实践用在客户端编程从而加速前端开发。它提供了一个一致的可伸缩架构,让团队开发大型、复杂的应用程序变得容易。
AngularJS最大的优点是什么?它使用纯JavaScript和HTML来实现所有功能,因此不需要额外学习新的编程或模板语言(虽然你必须了解MVC和MVVM开发应用程序的模式)。它是如何兑现所有这些疯狂美妙的、看似不可能实现的承诺呢?
AngularJS哲学可从几个重要的万之皆准的原则来讲解,从怎样架构应用到如何将它们连接在一起,如何测试您的应用程序,以及怎样将代码与其他库和集成。但在讲解这些之前,让我们看一看我们应该首要关注的地方。
什么是MVC?
MVC(Model View Controller)是宏架构。模型-视图-控制器或MVC,这是一个常见的名称,是一种用于开发网络应用程序的软件设计模式。模型-视图-控制器模式由以下三部分组成:
- 模型/模型——负责维护数据模式的最底层。
- 视图/视图-负责向用户显示全部或部分数据的部分。
- 控制器/控制器-软件代码控制模型和视图之间的交互。
基本要素如下图:
要了解详情请参考:http://zh.wikipedia.org/zh/MVC
AngularJS的优点
我们要在这一节做一些声明,我们后面章节部分将深入探讨AngularJS如何让这一切成为可能的。
- AngularJS是一个单页面(SPA)标签应用框架。使用客户端模板和大量使用JavaScript,创建和维护应用变得乏味而繁重。现在AngularJS去掉繁琐的东西替我们干了重活,这样我们就可以只关注应用的核心。
- 与jQuery纯JavaScript解决方案相比,AngularJS应用使用更少的代码就可以完成同样的任务。与其他框架相比,你将发现自己编写的代码更简洁,因为AngularJS将你的逻辑从视图移动到可重用组件中。
- AngularJS应用编写的大部分代码应该关注重点业务逻辑与核心应用程序功能,而不是编写冗余代码。这是由于AngularJS已经替我们干了所有的重活以及使用MVC架构模式的结果。
- AngularJS的声明式特性让我们更容易编写和理解应用。通过查看HTML和控制器可以很容易理解应用的意图。从某种意义上说,AngularJS允许您创建HTMLX(而不是依靠HTML5或等待HTML6等),这是一个适合你的需求的HTML子集。
- AngularJS应用可以使用CSS和HTML来定义样式,不会影响业务逻辑和功能。也就是说,它是完全可以不用修改一行JavaScript代码而改变整个应用程序的布局和设计。
- AngularJS应用模板是用纯HTML编写的,所以设计师会觉得更容易编写代码和设置样式。
- 单元测试AngularJS应用变得非常简单,这也使得应用更稳定,在更长一段时间更易于维护。有新功能吗?需要更改现有的逻辑吗?使用向下兼容测试让所有事情变得容易。
- 我们不需要放弃那些我们喜欢崇拜的jQueryUI、BootStrap组件。AngularJS能很好兼容第三方组件库,我们可以使用合适的钩子来集成它们。
AngularJS哲学
AngularJS哲学的六个核心原则让开发人员可以轻松地快速创建大型的、复杂的应用:
- 数据驱动 (通过绑定)
- 声明式
- 关注点分离
- 依赖注入
- 可扩展的
- 测试、再测试、反复测试
评论 (0)