Introduction to Angular | Angular Essentials JumpStart is a three-day, hands-on course that thoroughly explores the latest Angular features and advances, demonstrating how to solve the traditional challenges of JavaScript web application development. Students will build custom components, using application routes, form validation, and unit-testing. The course starts with an introduction of Angular CLI and TypeScript or JavaScript. It then delves into component-driven development with Angular components, covering data-binding, directives, services, routing, HTTP, the RxJS library, forms unit testing and REST.
Skills Gained
- What Angular is and why should you use it
- How Angular reduces the amount of code that you must write to add rich functionality to both existing and new web pages
- What TypeScript is, why it is useful, and how to use it with Angular
- How to facilitate development and deployment using Angular CLI
- How to work with the various aspects of the Angular architecture to implement clean, responsive web interfaces
- How Routers can support navigation within a Single Page Application
- What the best practices are for using Angular so that it works unobtrusively and performs well
- How to use Angular with HTTP to support JSON, REST, and other services
- Best practices for Angular so that it works unobtrusively and performs well
Who Can Benefit
In order to be successful in this class, incoming attendees are required to have current, hands-on experience in developing basic web applications, and be versed in HTML5, CSS3 and JavaScript. This is an introductory level Angular development course but an intermediate level web development class, designed for experienced web developers that need to further extend their skills in web development.
Session: Getting Started with Angular
Lesson: Overview of Angular Architecture
- Angular Versioning
- Model-View-*
- Data Binding
- Components and Dependency Injection
- Services and Events
- Common Component Lifecycles and Hooks
Lesson: Getting Started with TypeScript
- Angular, ES6 and TypeScript
- Transpilers
- Typing and Classes
- Abstract Classes and Interfaces
- Annotations
Lesson: Bootstrapping with Angular CLI
- Angular CLI Overview
- New Projects with CLI
- Testing and Generating with CLI
- Angular Console
Lesson: Angular Project Structure
- Configuration Files
- Top-Level Directories
- Contents of app folder
Session: Unit Testing with Angular
Lesson: Testing and Angular
- Testing Dependencies
- Options for Testing in Angular
- Karma
- Jasmine
- Protractor
Session: Working with Angular
Lesson: Components and Events
- Data Binding and Components
- Event Binding
- Custom Events
- Parent/Child Events
- EventEmitter/emit()
Lesson: Third Party Libraries
- Angular and the Need for Libraries
- Options for adding Libraries
- Working with npm install
- Working with angular.json
- ng2 Wrappers
Lesson: Dynamic Views
- View Encapsulation
- Structural/Attribute Directives
- Conditional Styling
Lesson: Pipes
- Overview of Pipes
- Built-in Pipes
- Formatting and Conversions
- Parameterizing Pipes
- Pure vs. Impure Pipes
- Customizing Pipes
Session: Angular Forms
Lesson: Forms and the Forms API
- Forms and NgModel
- NG Form Groups
- NG Form Validation
- Model-Driven Reactive Forms
- FormBuilder API
- Reactive Form Validation
Session: Single Page Applications and Routes
Lesson: Single Page Applications
- Overview of the SPA Concept
- Routing for Page Display
- Working with ActivatedRouter
- Location Strategies
- Nested Routes
Lesson: Services and Dependency Injection
- Angular’s DI Framework
- Components and Injectables
- Tree-shakeable providers
- Service Interfaces and DI
- Constructor Injection
Lesson: Modules
- Overview of Modules
- Feature Modules
- Feature Module Routing
- Shared Modules
Session: Using RESTful Services
Lesson: Overview of REST
- REpresentational State Transfer
- REST and HTTP
- REST/HTTP: Representation-Oriented
- REST Design Principles
Lesson: Angular and REST
- REST in Angular
- Promises, Observables, Subject
- HttpClient and Observables
- async Pipes and HttpClient Interceptors
Session: Angular Best Practices
Lesson: Angular Style Guide
- Recent Angular Improvements
- Upgrading Angular
- Single Responsibility Principle
- Naming Conventions
- Coding Conventions
- Application Structure
- Routing
Lesson: What is New in Angular 9 (or newer versions if applicable)
- Angular 9 and the Ivy Compiler and Runtime
- Bundling Improvements
- Improvements to Testing Performance
- New Debugging Features
- Improved Update Processes
- Updating from Angular 8
Bonus Topics (Time Permitting)
- ES6 Classes and Modules
- ES6 Arrow Functions and Array Methods
- ES6 Template Literals
- ES6 Spread Operator, Rest Parameter and Destructuring
- Variables
- Nesting
- Partials
- Import
- Mixins
- Extend/Inheritance
- Operators