Angular Essentials – Introduction to Angular
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.
This class 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 to 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.
Course Information
Price: $2,595.00
Duration: 5 days
Certification:
Exam:
Learning Credits:
Check out our full list of training locations and learning formats. Please note that the location you choose may be an Established HD-ILT location with a virtual live instructor.
- Live Classroom
Train face-to-face with the live instructor.
- Established HD-ILT Location
Interact with a live, remote instructor from a specialized, HD-equipped classroom near you. An SLI sales rep will confirm location availability prior to registration confirmation.
- Virtual Remote
Attend the live class from the comfort of your home or office.
All Sunset Learning dates are guaranteed to run!
Register
- Please Contact Us to request a class date or speak with someone about scheduling options.
Prerequisites:
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.
Attendees should have experience with the topics in the following courses, or should have recently attended these as a pre-requisite:
- TT4650 Web Essentials: HTML5 / CSS3 & JavaScript
Target Audience:
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 Objectives:
At the end of this three-day course, students will have an application up and running that incorporates components, directives, custom pipes, reactive forms, routes, services, and the REST API.
Working within an engaging, hands-on learning environment, guided by our expert team, attendees will learn to:
- 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
Course Outline:
Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We’ll work with you to tune this course and level of coverage to target the skills you need most. Topics, agenda, and labs are subject to change and may adjust during live delivery based on audience needs and skill-level.
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: TypeScript
- Angular, ES6 and TypeScript
- Transpilers
- Typing and Classes
- Abstract Classes and Interfaces
- Annotations
- Exercise: Angular and ES6
- Exercise: Angular and TypeScript
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
- Exercise: Creating Projects with Angular CLI
Session: Working with Angular
Lesson: Components and Events
- Data Binding and Components
- Event Binding
- Custom Events
- Parent/Child Events
- EventEmitter/emit()
- Exercise: Nested Components
Lesson: Third-Party Libraries
- Angular and the Need for Libraries
- Options for adding Libraries
- Working with npm install
- Working with angular.json
- ng2 Wrappers
- Exercise: Third-Party Libraries
Lesson: Dynamic Views
- View Encapsulation
- Structural/Attribute Directives
- Conditional Styling
- Exercise: Working with Directives
Lesson: Pipes
- Overview of Pipes
- Built-in Pipes
- Formatting and Conversions
- Parameterizing Pipes
- Pure vs. Impure Pipes
- Customizing Pipes
- Exercise: Built-in and Custom 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
- Exercise: Template-Driven Forms
- Exercise: Reactive Forms
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
- Exercise: Routing
Lesson: Services and Dependency Injection
- Angular’s DI Framework
- Components and Injectables
- Tree-shakeable providers
- Service Interfaces and DI
- Constructor Injection
- Exercise: Services
Lesson: Modules
- Overview of Modules
- Feature Modules
- Feature Module Routing
- Shared Modules
- Exercise: 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
- Exercise: Working with a REST API
Session: Angular Best Practices
Lesson: Angular Style Guide
- Recent Angular Improvements
- Upgrading Angular
- Single Responsibility Principle
- Naming Conventions
- Coding Conventions
- Application Structure
- Routing
Lesson: 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
Session: Additional Angular Topics (Time Permitting)
Lesson: 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+
Lesson: Sass and SCSS for Angular and Material
- Variables
- Nesting
- Partials
- Import
- Mixins
- Extend/Inheritance
- Operators