Skip to content

Latest commit

 

History

History
221 lines (203 loc) · 7.67 KB

toc.adoc

File metadata and controls

221 lines (203 loc) · 7.67 KB

Angular 2 Development With TypeScript

This is Table of Contents.

The book is here.

The code samples are here.

Chapter 1. Introducing Angular 2

1.1. A Sampler of JavaScript Frameworks and Libraries

1.2. High-Level Overview of AngularJS

1.3. High-Level Overview Angular

1.3.1. Code Simplification

1.3.2. Performance Improvements

1.4. A Toolbox of the Angular Developer

1.6 A Quick Glance at Angular

1.7. Introducing a Sample Online Auction

1.8. Summary

Chapter 2. Getting Started with Angular 2

2.1. First Angular Application

2.1.1. Hello World in TypeScript

2.1.2. Hello World in EcmaScript 5

2.1.3. Hello World in EcmaScript 6

2.2. The Building Blocks of an Angular Application

2.3. SystemJS Universal Module Loader

2.3.1. Component

2.3.2. View

2.3.3. Directive

2.4 Brief Introduction to Data Binding

2.5. Universal Module Loader SystemJS

2.5.1. Overview of Module Loaders

2.5.2. Module Loaders vs script Tags

2.5.3. Getting Started With SystemJS

2.5.4. Configuring SystemJS

2.6. Selecting a Package Manager

2.6.1. Comparing npm and JSPM

2.6.2. Starting a Project with npm

2.7. Hands-on: Getting Started with Online Auction

2.8. Summary

Chapter 3. Navigation with Component Router

3.1. Routing Basics

3.1.1. Location Strategies

3.2.2. Client-Side Navigation Building Blocks

3.2. Passing Data to Routes

3.2.1. Using RouteSegment

3.3. Child Routes

3.4. Hands-on: Adding navigation to Online Auction

3.5. Summary

Chapter 4. Dependency Injection

4.1. The Dependency Injection and Inversion Of Control Patterns

4.1.1. Benefits of Dependency Injection

4.2. Injectors and Providers

4.2.1. How to Create a Provider

4.3. Injecting Product Service

4.3.1. Injecting Http Service

4.4. Switching Injectables Made Easy

4.4.1. Declaring Providers with useFactory and useValue

4.5. The Hierarchy of Injectors

4.6. Hands-on: Using DI in Online Auction

4.6.1. Creating the Product Details Component

4.7. Summary

Chapter 5. Bindings, Observables, and Pipes

5.1. Data Binding

5.1.1. Binding to Events

5.1.2. Binding to Properties and Attributes

5.1.3. Binding in Templates

5.1.4. Two-Way Data Binding

5.2. Events and Observables

5.2.1. What are Observables

5.2.2. Observable Event Streams

5.2.1. How to Cancel Observables

5.3. Pipes

5.3.1. Custom Pipes

5.4. Hands-on: Filtering Products in Online Auction

5.5. Summary

Chapter 6. Implementing Components' Communication

6.1. Inter-Component Communications

6.1.1. Input and Output Properties

6.1.1.1 Input Properties
6.1.1.2 Output Properties and Custom Events

6.1.2. The Mediator Pattern

6.1.3. Changing Templates at Runtime with ngContent

6.2. Component Lifecycle

6.2.1 Using ngOnChanges

6.3. The High-Level Overview of Change Detection

6.4. Exposing Chile Component’s API

6.5. Hands-on: Adding Rating Feature to Auction

6.6. Summary

Chapter 7. Working With Forms

7.1. Overview of HTML Forms

7.1.1. Introducing a User Registration Form

7.2. Angular Forms API

7.2.1. Form Controls

7.2.1. Form Directives

7.3. Form Validation

7.3.1. Programmatic Approach

7.3.2. Custom Validators

7.3.3. Custom Validation Directives

7.4. Template-Driven Forms

7.4.1. Refactoring a Sample Form Template

7.4.2. Creating a Sample Form Component

7.5. Data-Driven Forms

7.5.1. Creating a Sample Form Component

7.5.2. Refactoring a Sample Form Template

7.6. Hands-on: Adding Validation to the Search Form

7.7. Summary

Chapter 8. Interacting with Servers Using HTTP and WebSockets

8.1. Brief Overview of the Http Object API

8.2. Creating a Web Server with Node and TypeScript

8.2.1. Creating a Simple Web Server

8.2.2. Serving JSON

8.2.3. Live TypeScript Recompilation and Code Reload

8.2.4. Adding the RESTful API for Serving Products

8.3. Bringing Angular and Node Together

8.3.1. Static Resources on the Server

8.3.2. Making GET Requests with Http Service

8.3.3. Unwrapping Observables Inside Templates with AsyncPipe

8.3.4. Injecting HTTP Into a Service

8.4. Client-Server Communications via WebSockets

8.4.1. Pushing Data From Node Server

8.4.2. Turning WebSocket into Observable

8.5. Hands-on: Implementing Product Search and Bid Notifications

8.5.1. Implementing Product Search using HTTP

8.5.2. Broadcasting Auction Bids using WebSocket

8.6. Summary

Chapter 9. Unit Testing Angular Applications

9.1 Getting to know Jasmine

9.2 What Comes with Angular Testing Library

9.2.1 Testing Services

9.2.2 Testing Component Router

9.2.3 Testing Components

9.3 Testing A Sample Weather Application

9.3.1 Testing the Weather Router

9.3.2 Testing the Weather Service

9.3.3 Testing the Weather Component

9.4 Running Tests with Karma

9.5 Hands-on: Unit Testing of Online Auction

9.6 Summary

Chapter 10. Bundling and Deploying Applications with Webpack

10.1 Getting to Know Webpack

10.1.1 Hello World with Webpack

10.1.2 Loaders

10.1.3 Plugins

10.2 Creating a Basic Webpack Configuration for Angular

10.3 Creating Dev and Prod Webpack Configurations for Angular

10.4 Hands-on: Deploying Online Auction with Webpack

10.5 What’s Angular CLI

10.6 Summary

Appendix A. Overview of ECMAScript 6

11.1. How to Run Code Samples

11.2. Template Literals

11.2.1. Multi-line Strings

11.2.2. Tagged Template Strings

11.3. Optional Parameters and Default Values

11.4. Scope of Variables

11.4.1. Variable Hoisting

11.4.2. Block Scoping With let and const

11.4.3. Block Scope for Functions

11.4.4. Arrow Function Expressions, This, and That

11.5. Rest and Spread Operators

11.6. Generators

11.7. Destructuring

11.7.1. Destructuring of Objects

11.7.2. Destructuring of Arrays

11.8. Iterating with forEach(), for-in, and for-of

11.8.1. Using forEach()

11.8.2. Using for-in

11.8.3. Using for-of

11.9. Classes and Inheritance

11.9.1. Constructors

11.9.2. Static Variables

11.9.3. Getters, Setters, and Method Definitions

11.9.4. The super Keyword and the super Function

11.10. Asynchronous Processing with Promises

11.10.1. A Callback Hell

11.10.2. ES6 Promises

11.10.3. Resolving Several Promises at Once

11.11. Modules

11.11.1. Imports and Exports

11.11.2. Loading Modules Dynamically

11.13. Summary

Appendix B. TypeScript as a Language for Angular Applications

12.1. Why Writing Angular Apps in TypeScript

12.2. Getting Started With TypeScript

12.2.1. Installing and Using TypeScript Compiler

12.3. TypeScript as a Superset of JavaScript

12.4. Optional Types

12.5. Functions

12.5.1. Default Parameters

12.5.2. Optional Parameters

12.5.3. Arrow Function Expressions

12.6. Classes

12.6.1. Access Modifiers

12.6.2. Methods

12.6.3. Inheritance

12.7. Generics

12.8. Interfaces

12.8.1. Declaring Custom Types with Interfaces

12.8.2. Using the Keyword implements

12.8.3. Using Callable Interfaces

12.9. TypeScript Modules

12.10. Adding the Class Metadata With Annotations

12.11. Using Type Definition Files

12.12. Bringing Together TypeScript and Angular

12.13. Overview of the TypeScript/Angular Development Process

12.14. Summary