AngularJs有哪些开发亮点

  AngularJs是一款优秀的JS框架,主要为了客服HTML在构建应用上的不足而设计,它有着诸多的特性,其中最为核心的是:MVVM—(Model-View-ViewModel)是由MVP模式与WPF结合的应用方式时发展演变过来是一种新型架构框架,模块化,自动化,自动双向数据绑定,语义化标签,依赖注入等等。

  通常我们通过使用类库(jQuery等)框架(knockout,sproutcore等)来解决静态网页技术在构建动态应用上的不足,AngularJs使用了不同的方法,它尝试去补足HTML本身在构建应用方面的缺陷。AngularJS通过使用我们称为标识符(directives)的结构,让浏览器能够识别新的语法。例如:

  1使用双大括号{{}}语法进行数据绑定;
  2使用DOM控制结构来实现迭代或者隐藏DOM片段;
  3支持表单和表单的验证;
  4能将逻辑代码关联到相关的DOM元素上;
  5能将HTML分组成可重用的组件。
  它提供了一个完整的端对端的解决方案,在此出众之处为:1能够构建一个CRUD应用可能用到的全部内容包括:数据绑定、基本模板标识符、表单验证、路由、深度链接、组件重用、依赖注入。2  测试方面包括:单元测试、端对端测试、模拟和自动化测试框架。3具有目录布局和测试脚本的种子应用作为起点。因此AngularJs适应于构建CRUD应用(至少80%的WEB应用都是CRUD应用),但是游戏,图形界面编辑器等DOM操作很频繁很复杂的应用则不合适。    
  Angular信奉的是,当组建视图(UI)同时又要写软件逻辑时,声明式的代码会比命令式的代码好得多,尽管命令式的代码非常适合用来表述业务逻辑。
1将DOM操作和应用逻辑解耦是一种非常好的思路,它能大大改善代码的可调性;
2将 测试开发同等看待是一种非常非常好的思路,测试的难度在很大程度上取决于代码的结构;
3将客户端和服务器端解耦是一种特别好的做法,它能使两边并行开发,并且使两边代码都能实现重用;
4如果框架能够在整个开发流程里都引导着开发者:从设计UI,到编写业务逻辑,再到测试,那对开发者将是极大的帮助;
5“化繁为简,化简为零”总是好的。
  相比Js是亮点:   1不必使用回调
          2不必手动编写操作DOM元素的代码(AJAX操作DOM很笨重而且容易出错)
          3不必对UI界面读写数据(用AJAX实现的CRUD操作流程相对AngularJs复杂了太多)
          4不必提前写大量的基础性代码(AngularJs会提供一些服务让开发者很容易的写东西,还能全盘掌握自动化测试的初始化过程)
  
  数据双向绑定示例:
 1 <!doctype html>

 2 <html ng-app>

 3     <head>

 4         <script src="http://code.angularjs.org/angular-1.0.1.min.js"></script>

 5     </head>

 6     <body>

 7         Your name: <input type="text" ng-model="yourname" placeholder="World">

 8         <hr>

 9         Hello {{yourname || 'World'}}!

10     </body>

11 </html>

  应用:   1模版:可以在html中构建自己的html标记

      2应用程序逻辑和行为:和AJAX不同的是不用另外编写侦听器或DOM控制器,因为一切都已经内置了,这令应用程序逻辑更容易编写,测试,维护和理解。

      3模型数据:模型是从AngularJS作用域对象的属性引申的。模型中的数据可能是Javascript对象、数组或基本类型,这都不重要,重要的是,他们都属于AngularJS作用域对象。AngularJS通过作用域来保持数据模型与视图界面UI的双向同步。一旦模型状态发生改变,AngularJS会立即刷新反映在视图界面中,反之亦然。

      4服务特性:底层服务包括依赖注入,XHR、缓存、URL路由和浏览器抽象服务。可以扩展和添加自己特定的应用服务。这些服务可以让您非常方便的编写WEB应用。

 

 

  

你可能感兴趣的:(AngularJS)