Description
During this course you will build applications with the user experience of a desktop application and the ease of deployment of a web application. Start from scratch by learning the basics of JavaScript package manager (npm), the language (TypeScript), and how to use all of the Angular tools. Use those foundational skills to implement an Angular application using components, templates, services, routing, and tests. Along the way, best practices as well as the architecture and design of Angular applications will be taught.
Objectives
Upon successful completion of this course, the student will be able to:
- Understand how single-page web application architectures are different than traditional web application architectures
- Use new JavaScript (ES6) language features including Classes, Modules, and Arrow Functions
- Use new TypeScript language features including Types, Decorators, Interfaces, and Generics
- Learn Angular coding and architecture best practices including project layout and using container and presentation components
- Understand and use Angular model-driven forms, observables, dependency injection, and routing
- Communicate with a backend server using Angular’s HttpClient to load and save data
- Configure the router and navigate between components
- Unit test all parts of an application including Components, Services, and Pipes
- Understand RxJS and Observables and where they can be used
- Implement Authentication and Authorization in an Angular Application
- Optimize Angular Performance by changing Change Detection Strategies
- Setup new projects from scratch using the Angular CLI
- Scaffold modules, components, services, models, routes, and unit tests in accordance with best practices using the Angular CLI
- Build and deploy an application to production using the Angular CLI
- Write End-to-End Tests (optional; taught only if this applies to your group)
- Upgrade an existing application from AngularJS to Angular 6 (optional if applicable)
Prerequisites
All Angular training students must have substantial prior experience developing with JavaScript. If no JavaScript experience, a 1-2 day intensive JavaScript primer class should precede this class.