Angular 2 Development with Typescript
Manning Publications (Verlag)
978-1-61729-312-2 (ISBN)
- Titel z.Zt. nicht lieferbar
- Versandkostenfrei
- Auch auf Rechnung
- Artikel merken
- Create applications using TypeScript
- Integrate Web Components
- Build a typical SPA
- Dependency injection
- Architect modularized applications
- Automate the build process
Angular 2 Development with Typescript teaches you what you need to start using Angular, while you also learn TypeScript and how to take advantage of its benefits.
This hands-on book begins with an overview of Angular 2 architecture and an introduction to the online auction application that you’ll be developing throughout the book.
You’ll learn TypeScript and how to write classes, interfaces, and generics, as well as how to transpile TypeScript code into today’s JavaScript that can be deployed in all Web browsers. More topics include data and views, user interaction with forms, and communicating with servers.
Finally, you’ll learn how to test and deploy your Angular 2 applications.
Yakov Fain has been a developer for more than 25 years and has written multiple books on software development.
Anton Moiseev has 8 years of software development experience, specializing in enterprise web applications.
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 of Angular
1.3.1. Code simplification
1.3.2. Performance improvements
1.4. An Angular developer's toolbox
1.5. How things are done in Angular
1.6. Introducing the online auction example
1.7. Summary
2. Getting started with Angular
2.1. A first Angular application
2.1.1. Hello World in TypeScript
2.1.2. Hello World in ES5
2.1.3. Hello World in ES6
2.2. The building blocks of an Angular application
2.2.1. Components
2.2.2. Views
2.2.3. Directives
2.2.4. A brief introduction to data binding
2.3. The SystemJS universal module loader
2.3.1. An overview of module loaders
2.3.2. Module loaders vs. ‹script› tags
2.3.3. Getting started with SystemJS
2.4. Selecting a package manager
2.4.1. Comparing npm and jspm
2.4.2. Starting an Angular project with npm
2.5. Hands-on: getting started with the online auction
2.5.1. Initial project setup
2.5.2. Developing the home page
2.5.3. Launching the online auction application
2.6. Summary
3. Navigation with Component Router
3.1. Routing Basics
3.1.1. Location Strategies
3.1.2. Building Blocks of Client-Side Navigation
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.4.1. Creating ProductDetailComponent
3.4.2. Creating HomeComponent and Code Refactoring
3.4.3. Simplifying ApplicationComponent and Configuring the Routes
3.4.4. Adding a RouterLink to ProductItemComponent
3.4.5. Modifying the Main Script
3.5. Summary
4. Dependency Injection
4.1. Dependency Injection and Inversion of Control Patterns
4.1.1. The Dependency Injection Pattern
4.1.2. The Inversion of Control Pattern
4.1.3. Benefits of Dependency Injection
4.2. Injectors and Providers
4.2.1. How to Create a Provider
4.3. A Sample Application with Angular DI
4.3.1. Injecting a Product Service
4.3.2. 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.7. Summary
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.3. How to Cancel Observables
5.3. Pipes
5.3.1. Custom Pipes
5.4. Hands-on: Filtering Products in Online Auction
5.5. Summary
6. Implementing Components' Communications
6.1. Inter-Component Communications
6.1.1. Input and Output Properties
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 Child Component's API
6.5. Hands-on: Adding Rating Feature to Auction
6.6. Summary
7. Working With Forms
7.1. Overview of HTML Forms
7.1.1. Introducing a User Registration Form
7.1.2. HTML Validation Attributes
7.1.3. Semantic Input Types
7.2. Angular Forms API
7.2.1. Form Controls
7.2.2. Form Directives
7.3. Forms 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 the 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.5.3. Using FormBuilder
7.6. Hands-on: Adding Validation to the Search Form
7.7. Summary
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.6. Broadcasting Auction Bids using WebSocket
8.7. Summary
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
10. Bundling and Deploying Applications with Webpack
10.1. Getting to Know Webpack
10.1.1. Hello World with Webpack
10.1.2. How to use Loaders
10.1.3. How to use Plugins
10.2. Creating a Basic Webpack Configuration for Angular
10.2.1. npm run build
10.3. Creating Development and Production Configurations
10.4. Hands-on: Deploying Online Auction with Webpack
10.5. Summary
Appendixes
Appendix A: An Overview of ECMAScript 6
A.1. How to Run Code Samples
A.2. Template Literals
A.2.1. Multi-Line Strings
A.2.2. Tagged Template Strings
A.3. Optional Parameters and Default Values
A.4. Scope of Variables
A.4.1. Variable Hoisting
A.4.2. Block Scoping With let and const
A.4.3. Block Scope for Functions
A.5. Arrow Function Expressions, This, and That
A.5.1. Rest and Spread Operators
A.5.2. Generators
A.5.3. Destructuring
A.6. Iterating with forEach(), for-in, and for-of
A.6.1. Using the Method forEach()
A.6.2. Using the for-in Loops
A.6.3. Using for-of
A.7. Classes and Inheritance
A.7.1. Constructors
A.7.2. Static Variables
A.7.3. Getters, Setters, and Method Definitions
A.7.4. The super Keyword and the super Function
A.8. Asynchronous Processing with Promises
A.8.1. A Callback Hell
A.8.2. ES6 Promises
A.8.3. Resolving Several Promises at Once
A.9. Modules
A.9.1. Imports and Exports
A.9.2. Loading Modules Dynamically With ES6 Module Loader
A.10. Summary
Appendix B: TypeScript as a Language for Angular Applications
B.1. Why Writing Angular Apps in TypeScript
B.2. The Role of Transpilers
B.3. Getting Started With TypeScript
B.3.1. Installing and Using TypeScript Compiler
B.4. TypeScript as a Superset of JavaScript
B.5. Optional Types
B.5.1. Functions
B.5.2. Default Parameters
B.5.3. Optional Parameters
B.5.4. Arrow Function Expressions
B.6. Classes
B.6.1. Access Modifiers
B.6.2. Methods
B.6.3. Inheritance
B.7. Generics
B.8. Interfaces
B.8.1. Declaring Custom Types with Interfaces
B.8.2. Using the Keyword implements
B.8.3. Using Callable Interfaces
B.9. TypeScript Modules
B.10. Adding the Class Metadata With Annotations
B.11. The Type Definition Files
B.11.1. TypeScript Definition Managers
B.11.2. Controlling the Code Style with TSLint
B.12. Overview of the TypeScript/Angular Development Process
B.13. Summary
Erscheinungsdatum | 02.09.2016 |
---|---|
Verlagsort | New York |
Sprache | englisch |
Gewicht | 726 g |
Einbandart | kartoniert |
Themenwelt | Informatik ► Software Entwicklung ► User Interfaces (HCI) |
Informatik ► Web / Internet ► JavaScript | |
Informatik ► Web / Internet ► Web Design / Usability | |
Informatik ► Weitere Themen ► Smartphones / Tablets | |
Schlagworte | Angular • TypeScript • Web Design • Web Development • Webentwicklung |
ISBN-10 | 1-61729-312-1 / 1617293121 |
ISBN-13 | 978-1-61729-312-2 / 9781617293122 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich