初始Angularjs2

一、为什么使用Angularjs2

Angularjs2全面使用了模块化、组件化的思想,它有如下的特性:

1)模块化

  • 在ng2的应用中,所有的系统功能都是模块化的,开发者只需要按需导入
  • 模块化的好处在于可以当应用加载时,是按需加载的,大大提高了应用启动时候的性能
  • 对于开发和维护非常方便,同时易于协作开发

2)使用了TypeScript

  • TypeScript是JavaScript的超集,通过开发发现,JavaScript有语法错误并不会影响整个应用,所以有了TypeScript,TypeScript的代码会先编译成JS代码,只要有什么语法错误都能后在编译的过程中发现
  • TypeScript具有面向对象语言的一些特性,例如接口,继承,包等,例如,在TypeScript中就直接使用implemes,interfaces这样的字段,非常方便

二、Angularjs架构

通过了解Angularjs2,我觉用一句话可以概括Angularjs2的核心概念:“用Angular扩展的语法来编写HTML模板,用组件来管理这些模版,用服务添加应用逻辑,用模块打包发布组件与服务,最后通过引导根模块来启动应用”

通过这个图我们可以看到,Angular框架的主要构造块有以下8个部分:

  • 模块
  • 组件
  • 模板
  • 元数据
  • 数据绑定
  • 服务
  • 指令
  • 依赖注入

  与用户直接交互的就是模版视图,模版视图并不是独立的模块,它是组件的重要元素之一,另一个重要的重要元素就是组件类,,用以维护组件的的数据模型机功能逻辑,不同组件之间的切换通过路由模块来控制。指令与模板之间存在关联,主要的作用就是增强模板特性,间接扩展模版的语法。服务是封装某一功能呢逻辑单元,这个功能逻辑可以通过依赖注入的机制引入之组件内部,作为组件的功能扩展;

  通过上述可以发现,Anaularjs应用始终都是围绕“组件”设计的,所以说应用是由一个个大大小小的松耦合的组件构成。

后续将对每一个构造块进行深入探讨~

三、Angularjs从框架到平台

可以说Angularjs2现在更像是一个平台而不是一个简单的类库了,目前在此基础上构建其他好用的工具:

框架核心包含:

  • 依赖注入
  • 装饰器支持
  • zone.js
  • 编译服务
  • 变化检测
  • 渲染引擎

外部工具库:

  • Angular Material,Google官方的设计风格的UI组件库

工具:

  • CLI为开发者提供了工作流自动化解决方案。功能涵盖了创建项目,生成组件,配置路由,启动开发服务器,构建测试,运行测试,预处理CSS,部署前的构建
  • Augury用于调试,分析性能和可视化查看应用组件树,可以快速定位问题和调优

 

posted @ 2017-03-02 00:48  cleanersb  阅读(320)  评论(0)    收藏  举报