Angular: Implementing best practices
- Dependency injection.
- Types of shared applications.
- PWA: Service workers.
- Advanced HTTP requests.
- Lazy loading.
- Automating documentation.
- Internationalization.
Hands-on work
Analyzing and optimizing an app.
Angular's internal functioning
- ZoneJS: The concept.
- Optimizing rendering cycles, running outside ZoneJS.
- Choosing RxJS.
- Using observables.
- Creating and combining key operators.
- Ahead-of-time compiling.
- Webpack bundle analyzer.
- Angular 9 Ivy Engine configuration and migration.
Hands-on work
Creating an app using RxJS.
Creating distributable components
- Web components.
- Methodology: Interactive component sheet.
- Decorators.
- Change detection mode.
- Neutral vs. stateful components. Communication between components, ES6 optimization.
- Content projection, managing child components.
- Preparing components for distribution.
- Documentation: Dynamic generation.
Hands-on work
Developing and packaging distributable components.
Rich components and external libraries
- Exploring the Angular ecosystem for data management, AngularFire, NgRx.
- UI libraries: Angular Material, Prime NG, etc.
- Animations.
- Multi-project development management.
Hands-on work
Reusing components, integrated external libraries.
Dynamic forms: FormBuilder
- Creating dynamic forms: ReactiveFormsModule.
- FormControl and FormGroup, AbstractControl, FormArray.
- Custom error management and validation.
- Creating data models.
- Using FormBuilder.
- Dynamic template creation.
- Abstracting form business components.
Hands-on work
Implementing the generating of forms and advanced form validation cycles.
Unit tests. Best practices and tools.
- Karma and Jasmine.
- Integration testing with Protractor.
- Code-Coverage.
- Behavior-driven development, Test-driven development.
- Test cases: Pipe, component, service, etc.
Hands-on work
TDD: Developing an application with unit tests.