Course Overview
This course has been designed to give each student a comprehensive explanation of all the techniques necessary to build solid web applications with Google's Angular. During the course student will work from scratch as wel as use the ng cli.
Course Prerequisites
Students for this course will be familiar with JavaScript and have a strong understanding of HTML/CSS. Some experience of TypeScript would be helpful. We recommend to follow our Introduction to Modern JavaScript and TypeScript Introduction courses before.
Outline
This thrilling course offers experienced developers an excellent way to delve deeper into Angular. Throughout the course, developers will be guided by our stimulating course to take on a deeper knowledge and understanding of Angular without assuming any prior knowledge of Angular or AngularJS.
We will support students as they develop their knowledge from the basics of Angular through intermediate levels and beyond to include some advanced topics.
During the course, you will work on a case (a recipe web application). You will use webpack, typescript, scss, and the jasmine test framework.
Below is a list of the goals:
Angular
Core
- Understand the role of components
- Develop Components (using decorators)
- Bootstrapping an angular 2 application
- Understand ngModule
- Appreciate the different data-binding styles (property, event, two-way, class, style, ...)
- Use Interpolation and built-in directives
- Understand and develop pipes
- Building forms with angular (including validation)
- Building application using Angular cli
Directives
- Input and Output/Events for component directives
- Develop and use attribute directives
- Develop and use structural Directives
- Implementing life-cycle hooks
- React to changes (including
IterableDiffers
) - Creating a micro-language (*-desugaring)
- Creating feature modules
Services
- More on dependency injection
- Define services
- Register and inject services
- Different injection techniques (named, using a factory)
- Understand Promises
Reactive
- Introduction to RxJS
- Understand and use Observables
- Explore RxJS Functional reactive programming operators
- Build Reactive services (e.g., http)
- use reactive forms (the
ReactiveFormsModule
module)
Routing
- Implement Routing
- Child routes and route hierarchies
- Define routes in submodules
- constructing route urls
- route directives
Router
andActivatedRoute
APIs- Accessing Route parameters,
- Using route guards (e.g., for authorization)
Testing
- Testing angular application using jasmine
- Testing with and without a TestBed
- unit testing services, components etc
- Using jasmine spys in Angular Applications
- mocking http request using HttpClientTestingModule
- discuss e2e options for Angular
- e2e testing with cypress
This course has been designed to deliver maximum knowledge transfer and understanding while remaining dynamic and engaging.