Working with Angular | JumpStart to Angular
About this Course
Angular is one of the most popular JavaScript frameworks for creating web and native mobile applications by implementing several features and capabilities:
- Single Page Applications (SPAs) load a single HTML page that is dynamically updated based on user interaction. SPAs can communicate with the server-side to load data into the application without a full-page refresh.
- Two-way data binding means that when the data store updates, the UI is immediately updated (and vice versa).
- Modules divide code into reusable parts with related components, directives, pipes, and services grouped together and can be combined with each other to create an application.
- Angular uses a dependency injection design pattern for services, increasing code efficiency and modularity.
- Thanks to Angular's Model-View-* architecture, enforcing the Single Responsibility Principle (SRP) and Don't Repeat Yourself (DRY) techniques, coding is reduced into the smallest pieces possible.
- The declarative user interface means the presentational logic in HTML is separated from the imperative logic and Angular’s data binding.
- Angular is also easily integrated into other frameworks, such as Ionic.
Students will build custom components, using application routes, form validation, and unit-testing. The course starts with an introduction of Angular CLI and TypeScript. 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.
Audience/Prerequisites
In order to be successful in this class, incoming attendees are required to:
- Have current, hands-on experience in developing basic web applications
- 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.
Course Outline
Part 1: Getting Started with Angular
1. Overview of Angular Architecture
- Angular Versioning
- Model-View-*
- Data Binding
- Components and Dependency Injection
- Services and Events
- Common Component Lifecycles and Hooks
2. TypeScript
- Angular, ES6 and TypeScript
- Transpilers
- Typing and Classes
- Abstract Classes and Interfaces
- Annotations
Exercise: Angular and ES6
Exercise: Angular and TypeScript
3. Bootstrapping with Angular CLI
- Angular CLI Overview
- New Projects with CLI
- Testing and Generating with CLI
- Angular Console
4. Angular Project Structure
- Configuration Files
- Top-Level Directories
- Contents of app folder
Exercise: Creating Projects with Angular CLI
Part 2: Working with Angular
1. Components and Events
- Data Binding and Components
- Event Binding
- Custom Events
- Parent/Child Events
- EventEmitter/emit()
Exercise: Nested Components
2. Third Party Libraries
- Angular and the Need for Libraries
- Options for adding Libraries
- Working with npm install
- Working with angular.json
- ng2 Wrappers
Exercise: Nested Components
3. Dynamic Views
- View Encapsulation
- Structural/Attribute Directives
- Conditional Styling
Exercise: Working with Directives
4. Pipes
- Overview of Pipes
- Built-in Pipes
- Formatting and Conversions
- Parameterizing Pipes
- Pure vs. Impure Pipes
- Customizing Pipes
Exercise: Built-in and Custom Pipes
Part 3: Angular Forms
1. Forms and the Forms API
- Forms and NgModel
- NG Form Groups
- NG Form Validation
- Model-Driven Reactive Forms
- FormBuilder API
- Reactive Form Validation
Exercise: Template-Driven Forms
Exercise: Reactive Forms
Part 4: Single Page Applications and Routes
1. Single Page Applications
- Overview of the SPA Concept
- Routing for Page Display
- Working with ActivatedRouter
- Location Strategies
- Nested Routes
Exercise: Routing
2. Services and Dependency Injection
- Angular’s DI Framework
- Components and Injectables
- Tree-shakeable providers
- Service Interfaces and DI
- Constructor Injection
Exercise: Services
3. Modules
- Overview of Modules
- Feature Modules
- Feature Module Routing
- Shared Modules
Exercise: Modules
Part 5: Using RESTful Services
1. Overview of REST
- REpresentational State Transfer
- REST and HTTP
- REST/HTTP: Representation-Oriented
- REST Design Principles
2. Angular and REST
- REST in Angular
- Promises, Observables, Subject
- HttpClient and Observables
- async Pipes and HttpClient Interceptors
Exercise: Working with a REST API
Part 6: Angular Best Practices
1. Angular Style Guide
- Recent Angular Improvements
- Upgrading Angular
- Single Responsibility Principle
- Naming Conventions
- Coding Conventions
- Application Structure
- Routing
2. Taking the Next Step with Angular
- Reactive Programming in Angular
- Angular and Security
- Further Enhancing the Interface
- Testing Angular Applications
- Optimizing Angular for the Enterprise
- Maintaining State in Angular
Part 7: Additional Angular Topics (Time Permitting)
1. ES6+
- ES6 Classes and Modules
- ES6 Arrow Functions and Array Methods
- ES6 Template Literals
- ES6 Spread Operator, Rest Parameter and Destructuring
Exercise: Deep Dive into Object-Oriented ES6+
2. Sass and SCSS for Angular and Material
- Variables
- Nesting
- Partials
- Import
- Mixins
- Extend/Inheritance Operators
Sorry! It looks like we haven’t updated our dates for the class you selected yet. There’s a quick way to find out. Contact us at 502.265.3057 or email info@training4it.com
Request a Date