This ebook helps you get the philosophy of Angular (currently 13.0.0 ), the new tools (like ES2015, TypeScript, Webpack, Angular CLI...), and each part of the framework in a pragmatic way. You will be able to kickstart your project by the end of the reading, and build your amazing apps!
Current versions:
• Angular: 13.0.0
• Angular CLI: 13.0.1
A.1. v13.0.0 - 2021-11-04
The templating syntax
• Remove the canonical bind-, on-, ref- syntax that has been deprecated in Angular v13 (2021-11-04)
Going to production
• Remove the section about differential loading as it has been removed in Angular v13 (2021-11-04)
• Remove the fullTemplateTypeCheck explanation, as it is deprecated in Angular v13, and only keep its remplacement strictTemplates. (2021-11-04)
Author(s): Ninja Squad
Edition: 13.0.0
Publisher: Ninja Squad
Year: 2021
Language: English
Pages: 322
Become a ninja with Angular
Table of Contents
Chapter 1. Introduction
Chapter 2. A gentle introduction to ECMAScript 2015+
2.1. Transpilers
2.2. let
2.3. Constants
2.4. Shorthands in object creation
2.5. Destructuring assignment
2.6. Default parameters and values
2.7. Rest operator
2.8. Classes
2.9. Promises
2.10. Arrow functions
2.11. Async/await
2.12. Sets and Maps
2.13. Template literals
2.14. Modules
2.15. Conclusion
Chapter 3. Going further than ES2015+
3.1. Dynamic, static and optional types
3.2. Enters TypeScript
3.3. A practical example with DI
Chapter 4. Diving into TypeScript
4.1. Types as in TypeScript
4.2. Enums
4.3. Return types
4.4. Interfaces
4.5. Optional arguments
4.6. Functions as property
4.7. Classes
4.8. Working with other libraries
4.9. Decorators
Chapter 5. Advanced TypeScript
5.1. readonly
5.2. keyof
5.3. Mapped type
5.4. Union types and type guards
Chapter 6. The wonderful land of Web Components
6.1. A brave new world
6.2. Custom elements
6.3. Shadow DOM
6.4. Template
6.5. Frameworks on top of Web Components
Chapter 7. Grasping Angular’s philosophy
Chapter 8. From zero to something
8.1. Node.js and NPM
8.2. Angular CLI
8.3. Application structure
8.4. Our first component
8.5. Our first Angular Module
8.6. Bootstrapping the app
Chapter 9. The templating syntax
9.1. Interpolation
9.2. Using other components in our templates
9.3. Property binding
9.4. Events
9.5. Expressions vs statements
9.6. Local variables
9.7. Structural directives
9.8. Other template directives
9.9. Summary
Chapter 10. Dependency injection
10.1. DI yourself
10.2. Easy to develop
10.3. Easy to configure
10.4. Other types of provider
10.5. Hierarchical injectors
10.6. DI without types
Chapter 11. Services
11.1. Title service
11.2. Meta service
11.3. Making your own service
Chapter 12. Pipes
12.1. Pied piper
12.2. json
12.3. slice
12.4. keyvalue
12.5. uppercase
12.6. lowercase
12.7. titlecase
12.8. number
12.9. percent
12.10. currency
12.11. date
12.12. async
12.13. A pipe in your code
12.14. Creating your own pipes
Chapter 13. Reactive Programming
13.1. Call me maybe
13.2. General principles
13.3. RxJS
13.4. Reactive programming in Angular
Chapter 14. Building components and directives
14.1. Introduction
14.2. Directives
14.3. Components
Chapter 15. Styling components and encapsulation
15.1. Shadow DOM strategy
15.2. Emulated strategy
15.3. None strategy
15.4. Styling the host
Chapter 16. Testing your app
16.1. The problem with troubleshooting is that trouble shoots back
16.2. Unit test
16.3. Fake dependencies
16.4. Testing components
16.5. Testing with fake templates, providers…
16.6. Simpler, cleaner unit tests with ngx-speculoos
16.7. End-to-end tests (e2e)
Chapter 17. Send and receive data through HTTP
17.1. Getting data
17.2. Transforming data
17.3. Advanced options
17.4. Jsonp
17.5. Interceptors
17.6. Context
17.7. Tests
Chapter 18. Router
18.1. En route
18.2. Navigation
18.3. Redirects
18.4. Matching strategy
18.5. Hierarchical and empty-path routes
18.6. Guards
18.7. Resolvers
18.8. Router events
18.9. Parameters and data
18.10. Lazy loading
Chapter 19. Forms
19.1. Forms, dear forms
19.2. Template-driven
19.3. Code-driven
19.4. Adding some validation
19.5. Errors and submission
19.6. Add some style
19.7. Creating a custom validator
19.8. Grouping fields
19.9. Reacting to changes
19.10. Updating on blur or on submit only
19.11. Super simple validation error messages with ngx-valdemort
19.12. Summary
Chapter 20. Zones and the Angular magic
20.1. AngularJS 1.x and the digest cycle
20.2. Angular and zones
Chapter 21. Angular compilation: Just in Time vs Ahead of Time
21.1. Code generation
21.2. Ahead of Time compilation
Chapter 22. Advanced observables
22.1. Subscribe, unsubscribe and async pipe
22.2. Leveraging operators
22.3. Building your own Observable
Chapter 23. Advanced components and directives
23.1. View queries
23.2. Content
23.3. Content queries
23.4. Host listener
23.5. Host binding
Chapter 24. Internationalization
24.1. The locale
24.2. Default currency
24.3. Translating text
24.4. Process and tooling
24.5. Translating messages in the code
24.6. Pluralization
24.7. Best practices
Chapter 25. Performances
25.1. First load
25.2. Reload
25.3. Profiling
25.4. Runtime performances
Chapter 26. Going to production
26.1. Environments and configurations
26.2. strictTemplates
26.3. enableProdMode
26.4. Package your application
26.5. Server configuration
26.6. Conclusion
Chapter 27. This is the end
Appendix A: Changelog
A.1. v13.0.0 - 2021-11-04
A.2. v12.2.0 - 2021-08-05
A.3. v12.1.0 - 2021-06-25
A.4. v12.0.0 - 2021-05-13
A.5. v11.2.0 - 2021-02-12
A.6. v11.1.0 - 2021-01-21
A.7. v11.0.0 - 2020-11-12
A.8. v10.2.0 - 2020-10-22
A.9. v10.1.0 - 2020-09-03
A.10. v10.0.0 - 2020-06-25
A.11. v9.1.0 - 2020-03-26
A.12. v9.0.0 - 2020-02-07
A.13. v8.2.0 - 2019-08-01
A.14. v8.1.0 - 2019-07-02
A.15. v8.0.0 - 2019-05-29
A.16. v7.2.0 - 2019-01-09
A.17. v7.1.0 - 2018-11-27
A.18. v7.0.0 - 2018-10-25
A.19. v6.1.0 - 2018-07-26
A.20. v6.0.0 - 2018-05-04
A.21. v5.2.0 - 2018-01-10
A.22. v5.0.0 - 2017-11-02
A.23. v4.3.0 - 2017-07-16
A.24. v4.2.0 - 2017-06-09
A.25. v4.0.0 - 2017-03-24
A.26. v2.4.4 - 2017-01-25
A.27. v2.2.0 - 2016-11-18
A.28. v2.0.0 - 2016-09-15
A.29. v2.0.0-rc.5 - 2016-08-25
A.30. v2.0.0-rc.0 - 2016-05-06
A.31. v2.0.0-alpha.47 - 2016-01-15