如何在网页上构建动态应用,通常的解决方案是使用类库和框架,来弥补原生 JS 和 HTML 的不足,实现具体的应用逻辑,如典型的 jQuery、knockout.js 等。而 Google 则直接尝试从 HTML 本身下手去补足其在构建应用方面的缺陷,建立在客户端的解决方案,比如
- 扩展传统 HTML,将 HTML 分组成可重用的组件
- MVC,增强基于浏览器的应用,使开发和测试变得更加容易
- 各种尽可能的 C.R.U.D. 操作
- 可测性支持,单元测试、端对端、自动化测试等
- 数据绑定,双向地绑定可以适应动态内容,同时允许模型和视图之间的同步
- 表单和表单验证
- ……
- 对 DOM 的操作解耦,提高代码的可测试性
这些功能的集合,最终成为一套前端框架——AngularJS。它创建的理念就是“让命令式编程来表示业务逻辑”,因此框架采用并扩展了传统 HTML,通过双向的数据绑定来适应动态内容,双向的数据绑定允许模型和视图之间的自动同步。
社区之前已经出过六期关于 React 和 Vue 两位 JS 界巨星的主题周刊,这次,来引入另外一位巨星 Angular——本期周刊将全面介绍它的各个特性,哪块不熟悉或者不了解,几乎都可以在里边得到解答,比如下面的这些疑惑。如果你还没有使用 Angular 搭建过应用,那就从这里开始吧!
- Angular 的指令到底是什么?
- Angular 在实际应用中,有哪些优缺点?
- Angular 双向数据绑定的实现原理?
- 从 MVC 的角度,AngularJS 的优缺点是什么?
- Angular 2 与 React、Vue,哪个是前端的未来?
- Angular 2.x 与 1.x 相比,有哪些方面的改进?
- Angular 推出的 Material 目前有哪些实践?
内容目录
1. 上手 —— 「玩转 AngularJS」系列 by @dreamapplehappy
- 一招制敌 – 玩转 AngularJS 指令的 Scope (作用域)
- 杀手锏 – 在控制器中显式地声明数据模型
- 如来神掌 – 玩转 AngualrJS 的依赖注入
- 给你一个承诺 – 玩转 AngularJS 的 Promise
- Angular 模板与表达式的绑定
2. 指令
- AngularJS 指令入门 丨 huangtengfei
- 「AngularJS 指令开发全解」 by @Tgor
3. 细说特性
- AngularJS 中的 Provider 们:Service 和 Factory 等的区别 丨 savokiss
- 从 JavaScript 继承说起,深入理解 Angular Scope 继承关系 丨 xiaoyu2er
- 理解 Angular 中的
$digest()
和$apply()
丨 Erichain_Zain - AngularJS 源码分析之
{{双向数据绑定}}
丨 Morph_Zhou - Angular $q 完全指南 丨 xiaoyu2er
- Angular directive 实例详解 丨 遇见波同学
- AngularJS 表单验证 丨 huangtengfei
- Angular 的 ViewModel 设计 丨 司徒正美
- 浅谈 AngularJS 模板 丨 Tychio
4. 用 XX 写 AngularJS 是怎样一种体验?
- Typescript
- 用Typescript编写AngularJS应用是怎样一种感受 丨 leftstick
- 如何使用 TypeScript 编写自定义 AngularJS 指令? 丨 llp要变身
- ES2015
- 用 ES6 编写 AngularJS 程序是怎样一种体验 丨 leftstick
- Angular 1.5 Styleguide (ES2015) 丨 DiscipleD
- 使用 ES2015 开发 Angular1.x 应用指南 丨 静逸秋水
- Angular 1.x + ES6 开发风格指南 丨 kuitos
- ES6 + Angular 1.x 丨 n͛i͛g͛h͛t͛i͛r͛e͛
5. 都开发出了什么样的应用?
- 桌面应用
- 从用 AngularJS 开发 PC 客户端说起 丨 Mr_Jing
- 使用 AngularJS 和 Electron 构建桌面应用 丨 flyow
- 自己动手实现一个 Flex 布局框架 丨 orangexc
- 按需加载方案
- Angular.js + Require.js 实现按需加载的全面实践 丨 游于藩篱
- 基于 ui-router 的非侵入式 Angular 按需加载方案 丨 kuitos
- 通过 Webpack 实现 AngularJS 的延迟加载 丨 Cheng_Gu
- Webpack + Angular
- Webpack + Angular 的组件化实践 丨 王伟嘉
- Webpack + Angular 的项目 SEED 丨 zchq88
- 其他
- 最佳(也许)实践:开始用 Cordova + Ionic + AngularJS 开发你的 App 丨 pantao
- 使用 AngularJS 创建一个 CRUD 应用 丨 silence_yfang
- web 前端 @ 功能 JS 实现分析及其原理 丨 aco
- 百度 ECharts Angular 封装 丨 怀疑真爱的流浪者jason
- AngularJS 中使用百度地图 丨 leftstick
- 使用 Flask 和 AngularJS 构建博客 丨 yexiaobai
6. 最后来测验一下
- AngularJS 常见面试问题 丨 huangtengfei
- Angular 面试从喜剧到悲剧的十个问题 丨 静逸秋水
(本期完)