angulr的核心价值观

特性

  • AngularJS是一个功能强大的基于JavaScript开发框架用于建立富互联网应用(RIA)。html

  • AngulajJS为开发者提供的选项(使用JavaScript)在一个干净的MVC(模型 - 视图 - 控制器)的方式来编写客户端应用程序。设计模式

  • AngularJS写的应用都是跨浏览器兼容。AngularJS使用JavaScript代码自动处理适应每种浏览器。数组

  • AngularJS是开源的,彻底免费的,而且由数千名世界各地的开发者开发维护。它是根据Apache许可证2.0版许可发布。浏览器

整体来讲,AngularJS是一个用来构建大型应用,高性能的Web应用程序的框架,同时使它们易于维护。安全

核心特征

如下是AngularJS中最重要的核心功能:服务器

  • 数据绑定: 模型和视图组件之间的数据自动同步。app

  • 适用范围: 这些对象参考模型。它们充当控制器和视图之间的胶水。框架

  • 控制器: 这些Javascript函数绑定到特定的范围。函数

  • 服务: AngularJS配有多个内置服务,例如 $http 可做为一个XMLHttpRequest请求。这些单一对象在应用程序只实例化一次。性能

  • 过滤器: 从一个数组的条目中选择一个子集,并返回一个新的数组。

  • 指令: 指令是关于DOM元素标记(如元素,属性,CSS等等)。这些能够被用来建立做为新的,自定义部件的自定义HTML标签。AngularJS设有内置指令(如:ngBind,ngModel...)

  • 模板:这些符合从控制器和模型信息的呈现的视图。这些能够是单个文件(如index.html),或使用“谐音”在一个页面多个视图。

  • 路由: 它是切换视图的概念。

  • 模型视图: MVC是一个设计模式将应用划分为不一样的部分(称为模型,视图和控制器),每一个都有不一样的职责。 AngularJS并无传统意义上的实现MVC,而是更接近于MVVM(模型 - 视图 - 视图模型)。 AngularJS团队将它做为模型视图。

  • 深层连接: 深层连接,可使应用程序状态进行编码在URL中而可以添加到书签。应用程序可从URL恢复到相同的状态。

  • 依赖注入: AngularJS有一个内置的依赖注入子系统,开发人员经过使应用程序从而更易于开发,理解和测试。

概念

下图描述了AngularJS,咱们将详细的后续章节讨论一些重要的部分。

AngularJS的优势

  • AngularJS提供一个很是干净和维护的方式来创造单页的应用。

  • AngularJS提供数据绑定功能在HTML中,从而给用户提供丰富和响应的体验

  • AngularJS代码可进行单元测试。

  • AngularJS使用依赖注入和利用关注点分离。

  • AngularJS提供了可重用的组件。

  • 使用AngularJS,开发人员编写更少的代码,并得到更多的功能。

  • 在AngularJS中,视图都是纯HTML页面,并用JavaScript编写控制器作业务处理。

AngularJS应用程序能够在全部主要的浏览器和智能手机,包括Android和iOS系统的手机/平板电脑上运行。

AngulaJS的缺点

虽然AngularJS自带不少优势,但咱们应该考虑如下几点(缺点):

  • 不安全:由于只是JavaScript一种框架,由AngularJS编写的应用程序是不安全的。服务器端身份验证和受权是必须用来保证应用程序的安全。

  • 不可降解:若是应用程序的用户禁用JavaScript,那最后用户看到的只是基本页面,仅此而已。

AngularJS组件

AngularJS框架可分为如下三个主要部分组成:

  • ng-app : 指令定义和连接AngularJS应用程序到HTML。

  • ng-model : 指令绑定AngularJS应用数据的值到HTML输入控件。

  • ng-bind : 该指令绑定AngularJS应用程序数据到HTML标签。