In recent years a lot of effort has gone into making HTML and JavaScript a better place for web apps rather than just web content. With Angular, you can exploit these new and modern concepts to take it to the next level. By using a componentized approach, Angular is better equipped than ever to build performant data-driven web-apps. While Angular takes care of data binding, navigation and server communication; TypeScript allows you to use the most advanced features JavaScript has to offer on any browser. Features like strong typing make your application more maintainable, better structured and flexible. This course is constantly being updated to the latest version of Angular, currently Angular 6. Enjoy this beautiful synergy between Google's Angular and Microsoft's TypeScript.
This course targets professional web developers who are looking for a kick-start into the world of Angular and TypeScript. Participants of this course need to have a good understanding of JavaScript, HTML and CSS and a notion of node.js and npm.
Before attending this course, students must have:
Module 1: Introduction to Angular
In this module you'll see what Angular is all about and why it is so important in modern web development.
Lessons
After completing this module, students will be able to:
Module 2: Strongly Typed JavaScript with TypeScript
Let's face it: JavaScript was never designed for big applications. Many constructs to tame complex code like interfaces and strong typing are completely absent. And many of the new cool JS features are not implemented in current browsers. TypeScript is the solution to both problems; allowing you to write modern, application-scale JavaScript.
Lessons
Lab : Toy Store
After completing this module, students will be able to:
Module 3: Core Concepts
In this module you'll get acquainted with the most important building blocks for any Angular application. This is the foundation of all following chapters.
Lessons
Lab : Inspecting a First Project
After completing this module, students will be able to:
Module 4: Data binding
Data binding allows you to forget about the HTML while writing JavaScript code. It allows you to inject data into a view without creating a strong dependency between the two. This results into more flexible, testable and maintainable code.
Lessons
Lab : TaskManager with Data Binding
After completing this module, students will be able to:
Module 5: Components
In this module we'll dive a bit deeper into Components. You'll learn how to create a hierarchy of components and how to communicate between them.
Lessons
Lab : TaskManager: Using Multiple Components
After completing this module, students will be able to:
Module 6: Attribute Directives
What if you want to add custom behavior to an existing element? In this module you'll explore existing directives like NgClasses and NgStyle; and learn how to build your own.
Lessons
After completing this module, students will be able to:
Module 7: Structural Directives
With structural directives you can change the flow in your HTML. For example, how do you generate HTML dynamically based upon your data without having to write HTML in your JavaScript?
Lessons
After completing this module, students will be able to:
Module 8: Dependency Injection and Providers
Dependency Injection (DI) is the art of taking two strongly coupled objects and tearing them apart. This helps you write understandable, maintainable and testable code. It's not really a choice in Angular either: you have to do it. Angular has an entire mechanism based on Providers to support DI which you will explore in this module.
Lessons
Lab : Creating a Task Service
After completing this module, students will be able to:
Module 9: Pipes
Pipes are a convenient way to make little changes to values in a view. This includes formatting and filtering of data. It's easy to use and to extend the possibilities of pipes.
Lessons
Lab : Temperature Pipe
After completing this module, students will be able to:
Module 10: Working with Forms
Forms are essential to any app that allows you to manage data. You need to do more than just data binding. You need validation, automatic formatting, respond to data changes a so on. Angular provides two different approaches to dealing with this: Template-driven forms and Model-driven forms. This module will explore both.
Lessons
Lab : Task Editor Form
After completing this module, students will be able to:
Module 11: Talking to the Server
This module will teach you how to retrieve and send data to your backend. We will focus on REST and use RxJS's Observables to get the job done.
Lessons
Lab : Working with Observables
Lab : Talking to the Server
After completing this module, students will be able to:
Module 12: Building a Single Page Application
Instead of hopping from one page to the next, you can design your website as a Single Page Application. This makes your website feel and perform more like an application. SPAs have many advantages, but are usually difficult to implement. This module will teach about the constructs available in Angular to build a SPA.
Lessons
Lab : 7Building a SPA: Rabbit Rescue
After completing this module, students will be able to: