diff --git a/aio/content/guide/architecture-components.md b/aio/content/guide/architecture-components.md
index d1377ff9f3..bf7fda4691 100644
--- a/aio/content/guide/architecture-components.md
+++ b/aio/content/guide/architecture-components.md
@@ -1,7 +1,7 @@
# Introduction to components and templates
-A *component* controls a patch of screen called a *view*.
-For example, individual components define and control each of the following views from the [Tutorial](tutorial):
+A *component* controls a patch of screen called a [*view*](guide/glossary#view "Definition of view").
+For example, individual components define and control each of the following views from the [Tour of Heroes tutorial](tutorial):
* The app root with the navigation links.
* The list of heroes.
diff --git a/aio/content/guide/docs-style-guide.md b/aio/content/guide/docs-style-guide.md
index 3973bb39ff..457a368e30 100644
--- a/aio/content/guide/docs-style-guide.md
+++ b/aio/content/guide/docs-style-guide.md
@@ -1010,21 +1010,21 @@ Callouts use the same _urgency levels_ that alerts do.
-
- Getting Started assumes the [StackBlitz](https://stackblitz.com/) online development environment.
- To learn how to export an app from StackBlitz to your local environment, skip ahead to the [Deployment](start/start-deployment "Getting Started: Deployment") section.
-
-
-
+* Work through the [Tour of Heroes Tutorial](tutorial), a complete hands-on exercise that introduces you to the app development process using the Angular CLI and walks through important subsystems.
* To learn more about using the Angular CLI, see the [CLI Overview](cli "CLI Overview"). In addition to creating the initial workspace and app scaffolding, you can use the CLI to generate Angular code such as components and services. The CLI supports the full development cycle, including building, testing, bundling, and deployment.
-
* For more information about the Angular files generated by `ng new`, see [Workspace and Project File Structure](guide/file-structure).
diff --git a/aio/content/marketing/docs.md b/aio/content/marketing/docs.md
index 6e84d6f2a2..61e2a382fd 100644
--- a/aio/content/marketing/docs.md
+++ b/aio/content/marketing/docs.md
@@ -1,28 +1,35 @@
-

+
-
Get Started
-
Start building an Angular application.
+
Try it now
+
Explore Angular's capabilities with a ready-made sample app. No setup required.
diff --git a/aio/content/navigation.json b/aio/content/navigation.json
index 6f50a13020..7164537ef8 100644
--- a/aio/content/navigation.json
+++ b/aio/content/navigation.json
@@ -51,52 +51,15 @@
"tooltip": "Introduction to the Angular documentation",
"hidden": false
},
- {
- "url": "guide/docs-style-guide",
- "title": "Doc authors style guide",
- "tooltip": "Style guide for documentation authors.",
- "hidden": true
- },
{
"title": "Getting Started",
- "tooltip": "Learn the basics by building your first Angular application.",
+ "tooltip": "Set up your environment and learn basic concepts",
"children": [
{
- "url": "start",
- "title": "Your First App",
- "tooltip": "Introduction to Angular's component model, template syntax, and component communication."
+ "url": "guide/setup-local",
+ "title": "Setup",
+ "tooltip": "Setting up for local development with the Angular CLI."
},
- {
- "url": "start/start-routing",
- "title": "Routing",
- "tooltip": "Introduction to routing between components using the browser's URL."
- },
- {
- "url": "start/start-data",
- "title": "Managing Data",
- "tooltip": "Introduction to services and accessing external data via HTTP."
- },
- {
- "url": "start/start-forms",
- "title": "Forms",
- "tooltip": "Learn about fetching and managing data from users with forms."
- },
- {
- "url": "start/start-deployment",
- "title": "Deployment",
- "tooltip": "Move to local development, or deploy your application to Firebase or your own server."
- }
- ]
- },
- {
- "url": "guide/setup-local",
- "title": "Setup",
- "tooltip": "Setting up for local development with the Angular CLI."
- },
- {
- "title": "Fundamentals",
- "tooltip": "The fundamentals of Angular",
- "children": [
{
"title": "Angular Concepts",
"tooltip": "Introduction to basic concepts for Angular applications.",
@@ -129,51 +92,93 @@
]
},
{
- "title": "Tour of Heroes App",
+ "url": "guide/glossary",
+ "title": "Angular Glossary",
+ "tooltip": "Brief definitions of the most important words in the Angular vocabulary."
+ },
+ {
+ "title": "Try it",
+ "tooltip": "Examine and work with a ready-made sample app, with no setup.",
+ "children": [
+ {
+ "url": "start",
+ "title": "A Sample App",
+ "tooltip": "Take a look at Angular's component model, template syntax, and component communication."
+ },
+ {
+ "url": "start/start-routing",
+ "title": "In-app Navigation",
+ "tooltip": "Navigate among different page views using the browser's URL."
+ },
+ {
+ "url": "start/start-data",
+ "title": "Manage Data",
+ "tooltip": "Use services and access external data via HTTP."
+ },
+ {
+ "url": "start/start-forms",
+ "title": "Forms for User Input",
+ "tooltip": "Learn about fetching and managing data from users with forms."
+ },
+ {
+ "url": "start/start-deployment",
+ "title": "Deployment",
+ "tooltip": "Move to local development, or deploy your application to Firebase or your own server."
+ }
+ ]
+ },
+ {
+ "title": "Tutorial: Tour of Heroes",
"tooltip": "The Tour of Heroes app is used as a reference point in many Angular examples.",
"children": [
- {
- "url": "tutorial",
- "title": "Introduction",
- "tooltip": "Introduction to the Tour of Heroes app and tutorial"
- },
- {
- "url": "tutorial/toh-pt0",
- "title": "Create a Project",
- "tooltip": "Creating the application shell"
- },
- {
- "url": "tutorial/toh-pt1",
- "title": "1. The Hero Editor",
- "tooltip": "Part 1: Build a simple editor"
- },
- {
- "url": "tutorial/toh-pt2",
- "title": "2. Display a List",
- "tooltip": "Part 2: Build a master/detail page with a list of heroes."
- },
- {
- "url": "tutorial/toh-pt3",
- "title": "3. Create a Feature Component",
- "tooltip": "Part 3: Refactor the master/detail views into separate components."
- },
- {
- "url": "tutorial/toh-pt4",
- "title": "4. Add Services",
- "tooltip": "Part 4: Create a reusable service to manage hero data."
- },
- {
- "url": "tutorial/toh-pt5",
- "title": "5. Add In-app Navigation",
- "tooltip": "Part 5: Add the Angular router and navigate among the views."
- },
- {
- "url": "tutorial/toh-pt6",
- "title": "6. Get Data from a Server",
- "tooltip": "Part 6: Use HTTP to retrieve and save hero data."
- }
+ {
+ "url": "tutorial",
+ "title": "Introduction",
+ "tooltip": "Introduction to the Tour of Heroes app and tutorial"
+ },
+ {
+ "url": "tutorial/toh-pt0",
+ "title": "Create a Project",
+ "tooltip": "Creating the application shell"
+ },
+ {
+ "url": "tutorial/toh-pt1",
+ "title": "1. The Hero Editor",
+ "tooltip": "Part 1: Build a simple editor"
+ },
+ {
+ "url": "tutorial/toh-pt2",
+ "title": "2. Display a List",
+ "tooltip": "Part 2: Build a master/detail page with a list of heroes."
+ },
+ {
+ "url": "tutorial/toh-pt3",
+ "title": "3. Create a Feature Component",
+ "tooltip": "Part 3: Refactor the master/detail views into separate components."
+ },
+ {
+ "url": "tutorial/toh-pt4",
+ "title": "4. Add Services",
+ "tooltip": "Part 4: Create a reusable service to manage hero data."
+ },
+ {
+ "url": "tutorial/toh-pt5",
+ "title": "5. Add In-app Navigation",
+ "tooltip": "Part 5: Add the Angular router and navigate among the views."
+ },
+ {
+ "url": "tutorial/toh-pt6",
+ "title": "6. Get Data from a Server",
+ "tooltip": "Part 6: Use HTTP to retrieve and save hero data."
+ }
]
- },
+ }
+ ]
+ },
+ {
+ "title": "Fundamentals",
+ "tooltip": "The fundamentals of Angular",
+ "children": [
{
"title": "Components & Templates",
"tooltip": "Building dynamic views with data binding",
@@ -193,6 +198,21 @@
"title": "User Input",
"tooltip": "User input triggers DOM events. Angular listens to those events with event bindings that funnel updated values back into your app's components and models."
},
+ {
+ "url": "guide/attribute-directives",
+ "title": "Attribute Directives",
+ "tooltip": "Attribute directives attach behavior to elements."
+ },
+ {
+ "url": "guide/structural-directives",
+ "title": "Structural Directives",
+ "tooltip": "Structural directives manipulate the layout of the page."
+ },
+ {
+ "url": "guide/pipes",
+ "title": "Pipes",
+ "tooltip": "Pipes transform displayed values within a template."
+ },
{
"url": "guide/lifecycle-hooks",
"title": "Lifecycle Hooks",
@@ -217,32 +237,17 @@
"url": "guide/elements",
"title": "Angular Elements",
"tooltip": "Convert components to Custom Elements."
- },
- {
- "url": "guide/attribute-directives",
- "title": "Attribute Directives",
- "tooltip": "Attribute directives attach behavior to elements."
- },
- {
- "url": "guide/structural-directives",
- "title": "Structural Directives",
- "tooltip": "Structural directives manipulate the layout of the page."
- },
- {
- "url": "guide/pipes",
- "title": "Pipes",
- "tooltip": "Pipes transform displayed values within a template."
}
]
},
{
- "title": "Forms",
- "tooltip": "Angular Forms",
+ "title": "Forms for User Input",
+ "tooltip": "Forms creates a cohesive, effective, and compelling data entry experience.",
"children": [
{
"url": "guide/forms-overview",
"title": "Introduction",
- "tooltip": "A form creates a cohesive, effective, and compelling data entry experience. An Angular form coordinates a set of data-bound user controls, tracks changes, validates input, and presents errors."
+ "tooltip": "An Angular form coordinates a set of data-bound user controls, tracks changes, validates input, and presents errors."
},
{
"url": "guide/reactive-forms",
@@ -268,7 +273,7 @@
},
{
"title": "Observables & RxJS",
- "tooltip": "Observables & RxJS",
+ "tooltip": "Using observables for message passing in Angular.",
"children": [
{
"url": "guide/observables",
@@ -278,17 +283,17 @@
{
"url": "guide/rx-library",
"title": "The RxJS Library",
- "tooltip": "The RxJS library provides useful operators."
+ "tooltip": "A library for reactive programming using observables to compose asynchronous or callback-based code."
},
{
"url": "guide/observables-in-angular",
"title": "Observables in Angular",
- "tooltip": "How Angular subsystems make us of observables."
+ "tooltip": "How Angular subsystems use and expect observables."
},
{
"url": "guide/practical-observable-usage",
"title": "Practical Usage",
- "tooltip": "Domains in which observables are useful."
+ "tooltip": "Domains in which observables are particularly useful."
},
{
"url": "guide/comparing-observables",
@@ -407,11 +412,22 @@
{
"url": "guide/router",
"title": "Routing & Navigation",
- "tooltip": "Discover the basics of screen navigation with the Angular Router."
+ "tooltip": "Build in-app navigation among views using the Angular Router."
},
+ {
+ "url": "guide/security",
+ "title": "Security",
+ "tooltip": "Developing for content security in Angular applications."
+ }
+ ]
+ },
+ {
+ "title": "Techniques",
+ "tooltip": "Techniques for putting Angular to work in your environment",
+ "children": [
{
"title": "Animations",
- "tooltip": "A guide to Angular's animation system.",
+ "tooltip": "Enhance the user experience with animation.",
"children": [
{
"url": "guide/animations",
@@ -440,22 +456,6 @@
}
]
},
- {
- "url": "guide/zone",
- "title": "NgZone",
- "tooltip": "How NgZone works"
- }
- ]
- },
- {
- "title": "Techniques",
- "tooltip": "Techniques for putting Angular to work in your environment",
- "children": [
- {
- "url": "guide/security",
- "title": "Security",
- "tooltip": "Developing for content security in Angular applications."
- },
{
"url": "guide/i18n",
"title": "Internationalization (i18n)",
@@ -483,7 +483,7 @@
{
"url": "guide/app-shell",
"title": "App Shell",
- "tooltip": "Enabling the App Shell in a CLI project."
+ "tooltip": "Render a portion of your app quickly to improve the startup experience."
},
{
"url": "guide/service-worker-communications",
@@ -493,7 +493,7 @@
{
"url": "guide/service-worker-devops",
"title": "Service Worker in Production",
- "tooltip": "Running applications with service workers, managing application update, debugging, and killing applications."
+ "tooltip": "Running apps with service workers, managing app update, debugging, and killing apps."
},
{
"url": "guide/service-worker-config",
@@ -502,6 +502,11 @@
}
]
},
+ {
+ "url": "guide/web-worker",
+ "title": "Web Workers",
+ "tooltip": "Using web workers for background processing."
+ },
{
"url": "guide/universal",
"title": "Server-side Rendering",
@@ -592,12 +597,6 @@
"title": "Dev Workflow",
"tooltip": "Build, testing, and deployment information.",
"children": [
- {
- "url": "guide/upgrade-setup",
- "title": "Upgrade setup",
- "tooltip": "How to set up the Angular QuickStart seed in the context of upgrading from AngularJS.",
- "hidden": true
- },
{
"title": "AOT Compiler",
"tooltip": "Understanding ahead-of-time compilation.",
@@ -665,7 +664,7 @@
},
{
"title": "Configuration",
- "tooltip": "Workspace and project structure, configuration files.",
+ "tooltip": "Workspace and project file structure and configuration.",
"children": [
{
"url": "guide/file-structure",
@@ -694,6 +693,59 @@
}
]
},
+ {
+ "title": "Extending Angular",
+ "tooltip": "Working with libraries and extending the CLI.",
+ "children": [
+ {
+ "title": "Angular Libraries",
+ "tooltip": "Extending Angular with shared libraries.",
+ "children": [
+ {
+ "url": "guide/libraries",
+ "title": "Libraries Overview",
+ "tooltip": "Understand how and when to use or create libraries."
+ },
+ {
+ "url": "guide/using-libraries",
+ "title": "Using Published Libraries",
+ "tooltip": "Integrate published libraries into an app."
+ },
+ {
+ "url": "guide/creating-libraries",
+ "title": "Creating Libraries",
+ "tooltip": "Extend Angular by creating, publishing, and using your own libraries."
+ }
+ ]
+ },
+ {
+ "title": "Schematics",
+ "tooltip": "Understanding schematics.",
+ "children": [
+ {
+ "url": "guide/schematics",
+ "title": "Schematics Overview",
+ "tooltip": "Extending CLI generation capabilities."
+ },
+ {
+ "url": "guide/schematics-authoring",
+ "title": "Authoring Schematics",
+ "tooltip": "Understand the structure of a schematic."
+ },
+ {
+ "url": "guide/schematics-for-libraries",
+ "title": "Schematics for Libraries",
+ "tooltip": "Use schematics to integrate your library with the Angular CLI."
+ }
+ ]
+ },
+ {
+ "url": "guide/cli-builder",
+ "title": "CLI Builders",
+ "tooltip": "Using builders to customize Angular CLI."
+ }
+ ]
+ },
{
"title": "Release Information",
"tooltip": "Angular release practices, updating, and upgrading.",
@@ -722,32 +774,58 @@
"url": "guide/ivy",
"title": "Angular Ivy",
"tooltip": "About the Angular Ivy compilation and rendering pipeline."
+ },
+ {
+ "title": "Upgrading from AngularJS",
+ "tooltip": "Incrementally upgrade an AngularJS application to Angular.",
+ "children": [
+ {
+ "url": "guide/upgrade",
+ "title": "Upgrading Instructions",
+ "tooltip": "Incrementally upgrade an AngularJS application to Angular."
+ },
+ {
+ "url": "guide/upgrade-setup",
+ "title": "Setup for Upgrading from AngularJS",
+ "tooltip": "Use code from the Angular QuickStart seed as part of upgrading from AngularJS."
+ },
+ {
+ "url": "guide/upgrade-performance",
+ "title": "Upgrading for Performance",
+ "tooltip": "Upgrade from AngularJS to Angular in a more flexible way."
+ },
+ {
+ "url": "guide/ajs-quick-reference",
+ "title": "AngularJS-Angular Concepts",
+ "tooltip": "Learn how AngularJS concepts and techniques map to Angular."
+ }
+ ]
}
]
},
{
- "title": "Quick Reference",
- "tooltip": "Summaries of Angular syntax, coding, and terminology.",
+ "title": "Angular Style and Usage",
+ "tooltip": "Summaries of Angular syntax, coding, and doc styles.",
"children": [
{
"url": "guide/cheatsheet",
- "title": "Cheat Sheet",
+ "title": "Quick Reference",
"tooltip": "A quick guide to common Angular coding techniques."
},
{
"url": "guide/styleguide",
- "title": "Style Guide",
- "tooltip": "Write Angular with style."
+ "title": "Coding Style Guide",
+ "tooltip": "Guidelines for writing Angular code."
},
{
- "url": "guide/glossary",
- "title": "Glossary",
- "tooltip": "Brief definitions of the most important words in the Angular vocabulary."
+ "url": "guide/docs-style-guide",
+ "title": "Documentation Style Guide",
+ "tooltip": "Style guide for documentation authors."
}
]
},
{
- "title": "CLI Commands",
+ "title": "CLI Command Reference",
"tooltip": "Angular CLI command reference.",
"children": [
{
@@ -763,7 +841,7 @@
]
},
{
- "title": "API",
+ "title": "API Reference",
"tooltip": "Details of the Angular packages, classes, interfaces, and other types.",
"url": "api"
}
diff --git a/aio/content/start/index.md b/aio/content/start/index.md
index 045c66ff2c..26992786de 100644
--- a/aio/content/start/index.md
+++ b/aio/content/start/index.md
@@ -1,21 +1,20 @@
-# Getting Started with Angular: Your First App
+# Part 1: Getting started with a basic Angular app
Welcome to Angular!
This tutorial introduces you to the essentials of Angular by walking you through a simple e-commerce site with a catalog, shopping cart, and check-out form.
-To help you get started right away, this guide uses a simple ready-made application that you can examine and play with interactively.
+To help you get started right away, this guide uses a simple ready-made application that you can examine and modify interactively (without having to [set up a local work environment](guide/setup-local "Setup guide")).
-
There are many resources to complement the Angular docs. Mozilla's MDN docs include both [HTML](https://developer.mozilla.org/en-US/docs/Learn/HTML "Learning HTML: Guides and tutorials") and [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript "JavaScript") introductions. [TypeScript's docs](https://www.typescriptlang.org/docs/home.html "TypeScript documentation") include a 5-minute tutorial. Various online course platforms, such as [Udemy](http://www.udemy.com "Udemy online courses") and [Codecademy](https://www.codecademy.com/ "Codecademy online courses"), also cover web development basics.
{@a new-project}
-## Create a new project
+## Create the sample project
Click here to create the ready-made sample project in StackBlitz.
@@ -58,11 +57,11 @@ example apps.
-
+
If you go directly to the [StackBlitz online development environment](https://stackblitz.com/) and choose to [start a new Angular workspace](https://stackblitz.com/fork/angular), you get a generic stub application, rather than this [illustrative sample](#new-project). Once you have been introduced to the basic concepts here, this can be helpful for working interactively while you are learning Angular.
-In actual development you will typically use the [Angular CLI](guide/glossary#command-line-interface-cli), a powerful command-line tool that lets you generate and modify applications. For more information, see the [CLI Overview](cli).
+In actual development you will typically use the [Angular CLI](guide/glossary#command-line-interface-cli "Definition of CLI"), a powerful command-line tool that lets you generate and modify applications. For a full step-by-step guide that shows how to use the CLI to create a new project and all of its parts, see [Tutorial: Tour of Heroes](tutorial).
@@ -163,8 +162,7 @@ In the process, you've learned to use five common features of Angular's template
-For more information about the full capabilities of Angular's
-template syntax, see [Template Syntax](guide/template-syntax "Template Syntax").
+For a fuller introduction to Angular's template syntax, see [Introduction to components and templates](guide/architecture-components#template-syntax "Template Syntax").
@@ -218,7 +216,7 @@ The next section expands the app's capabilities by adding a new component—
-For more information about components and how they interact with templates, see [Introduction to Components](guide/architecture-components "Architecture > Introduction to Components").
+For more information about components and how they interact with templates, see [Introduction to Components](guide/architecture-components "Concepts > Introduction to Components and Templates").
@@ -358,5 +356,5 @@ You've learned about the foundation of Angular: components and template syntax.
You've also learned how the component class and template interact, and how components communicate with each other.
To continue exploring Angular, choose either of the following options:
-* [Continue to the "Routing" section](start/start-routing "Getting Started: Routing") to create a product details page that can be accessed by clicking a product name and that has its own URL pattern.
-* [Skip ahead to the "Deployment" section](start/start-deployment "Getting Started: Deployment") to move to local development, or deploy your app to Firebase or your own server.
+* [Continue to the "In-app navigation" section](start/start-routing "Try it: In-app navigation") to create a product details page that can be accessed by clicking a product name and that has its own URL pattern.
+* [Skip ahead to the "Deployment" section](start/start-deployment "Try it: Deployment") to move to local development, or deploy your app to Firebase or your own server.
diff --git a/aio/content/start/start-data.md b/aio/content/start/start-data.md
index a8f5393659..7470101693 100644
--- a/aio/content/start/start-data.md
+++ b/aio/content/start/start-data.md
@@ -1,18 +1,18 @@
-# Getting Started with Angular: Managing Data
+# Try it: Manage data
-At the end of [Routing](start/start-routing "Getting Started: Routing"), the online store application has a product catalog with two views: a product list and product details.
+At the end of [In-app Navigation](start/start-routing "Try it: In-app Navigation"), the online store application has a product catalog with two views: a product list and product details.
Users can click on a product name from the list to see details in a new view, with a distinct URL, or route.
This page guides you through creating the shopping cart in three phases:
-* Update the product details page to include a "Buy" button, which adds the current product to a list of products that a cart service manages.
+* Update the product details view to include a "Buy" button, which adds the current product to a list of products that a cart service manages.
* Add a cart component, which displays the items in the cart.
* Add a shipping component, which retrieves shipping prices for the items in the cart by using Angular's `HttpClient` to retrieve shipping data from a `.json` file.
{@a services}
## Services
-Services are an integral part of Angular applications. In Angular, a service is an instance of a class that you can make available to any part of your application using Angular's [dependency injection system](guide/glossary#dependency-injection-di "dependency injection definition").
+Services are an integral part of Angular applications. In Angular, a service is an instance of a class that you can make available to any part of your application using Angular's [dependency injection system](guide/glossary#dependency-injection-di "Dependency injection definition").
Services are the place where you share data between parts of your application. For the online store, the cart service is where you store your cart data and methods.
@@ -24,28 +24,28 @@ simulate sharing and being notified about product changes.
They cannot, however, buy products.
In this section, you add a "Buy" button to the product
-details page and set up a cart service to store information
+details view and set up a cart service to store information
about products in the cart.
-Later, the [Forms](start/start-forms "Getting Started: Forms") part of
-this tutorial guides you through accessing this cart service
-from the page where the user checks out.
+A later part of this tutorial, [Use forms for user input](start/start-forms "Try it: Forms for user input"), guides you through accessing this cart service from the view where the user checks out.
{@a generate-cart-service}
### Define a cart service
-1. Generate a cart service.
-
- 1. Right click on the `app` folder, choose `Angular Generator`, and choose `Service`. Name the new service `cart`.
+1. To generate a cart service, right click on the `app` folder, choose `Angular Generator`, and choose `Service`. Name the new service `cart`.
- 1. StackBlitz might generate the `@Injectable()` decorator without the `{ providedIn: 'root' }` statement as above. Instead, the generator provides the cart service in `app.module.ts` by default. For the purposes
- of this tutorial, either way works. The `@Injectable()` `{ providedIn: 'root' }` syntax allows [tree shaking](/guide/dependency-injection-providers#tree-shakable-providers), which is beyond the scope of this guide.
+
Intro to Services and DI").
+
+
1. In the `CartService` class, define an `items` property to store the array of the current products in the cart.
@@ -121,18 +121,18 @@ This section walks you through using the cart service to add a product to the ca
-## Create the cart page
+## Create the cart view
At this point, users can put items in the cart by clicking "Buy", but they can't yet see their cart.
-Create the cart page in two steps:
+Create the cart view in two steps:
-1. Create a cart component and configure routing to the new component. At this point, the cart page will only have default text.
+1. Create a cart component and configure routing to the new component. At this point, the cart view has only default text.
1. Display the cart items.
### Set up the component
- To create the cart page, begin by following the same steps you did to create the product details component and configure routing for the new component.
+ To create the cart view, begin by following the same steps you did to create the product details component and configure routing for the new component.
1. Generate a cart component, named `cart`.
@@ -160,7 +160,7 @@ Create the cart page in two steps:
1. To see the new cart component, click the "Checkout" button. You can see the "cart works!" default text, and the URL has the pattern `https://getting-started.stackblitz.io/cart`, where `getting-started.stackblitz.io` may be different for your StackBlitz project.
-For more information about services, see [Introduction to Services and Dependency Injection](guide/architecture-services "Architecture > Intro to Services and DI").
+For more information about services, see [Introduction to Services and Dependency Injection](guide/architecture-services "Concepts > Intro to Services and DI").
@@ -303,11 +303,11 @@ First, define a `get()` method.
-For more information about Angular's `HttpClient`, see [HttpClient](guide/http "HttpClient guide").
+For more information about Angular's `HttpClient`, see the [Client-Server Interaction](guide/http "Server interaction through HTTP") guide.
-## Define the shipping page
+## Define the shipping view
Now that your app can retrieve shipping data, create a shipping component and template.
@@ -347,7 +347,7 @@ Now that your app can retrieve shipping data, create a shipping component and t
The `async` pipe returns the latest value from a stream of data and continues to do so for the life of a given component. When Angular destroys that component, the `async` pipe automatically stops. For detailed information about the `async` pipe, see the [AsyncPipe API documentation](/api/common/AsyncPipe).
-1. Add a link from the cart page to the shipping page:
+1. Add a link from the cart view to the shipping view:
-
-Whether you came here directly from [Your First App](start "Getting Started: Your First App"), or completed the entire online store application through the [Routing](start/start-routing "Getting Started: Routing"), [Managing Data](start/start-data "Getting Started: Managing Data"), and [Forms](start/start-forms "Getting Started: Forms") sections, you have an application that you can deploy by following the instructions in this section.
-
+Whether you came here directly from [Part 1](start "Try it: A basic app"), or completed the entire online store application through the [In-app navigation](start/start-routing "Try it: In-app navigation"), [Manage data](start/start-data "Try it: Manage data"), and [Forms for user input](start/start-forms "Try it: Forms for user input") sections, you have an application that you can deploy by following the instructions in this section.
@@ -81,7 +79,7 @@ Read more about development and distribution of your application in the [Buildin
## Join the Angular community
-You are now an Angular developer! [Share this moment](https://twitter.com/intent/tweet?url=https://angular.io/start&text=I%20just%20finished%20the%20Angular%20Getting%20Started%20Tutorial "Angular on Twitter"), tell us what you thought of this Getting Started, or submit [suggestions for future editions](https://github.com/angular/angular/issues/new/choose "Angular GitHub repository new issue form").
+You are now an Angular developer! [Share this moment](https://twitter.com/intent/tweet?url=https://angular.io/start&text=I%20just%20finished%20the%20Angular%20Getting%20Started%20Tutorial "Angular on Twitter"), tell us what you thought of this get-started exercise, or submit [suggestions for future editions](https://github.com/angular/angular/issues/new/choose "Angular GitHub repository new issue form").
Angular offers many more capabilities, and you now have a foundation that empowers you to build an application and explore those other capabilities:
@@ -91,7 +89,3 @@ Angular offers many more capabilities, and you now have a foundation that empowe
* Angular also has an extensive [network of 3rd-party tools and libraries](https://angular.io/resources "Angular resources list").
Keep current by following the [Angular blog](https://blog.angular.io/ "Angular blog").
-
-
-
-
diff --git a/aio/content/start/start-forms.md b/aio/content/start/start-forms.md
index 55fe15b9c1..00f2c98191 100644
--- a/aio/content/start/start-forms.md
+++ b/aio/content/start/start-forms.md
@@ -1,6 +1,6 @@
-# Getting Started with Angular: Forms
+# Try it: Use forms for user input
-At the end of [Managing Data](start/start-data "Getting Started: Managing Data"), the online store application has a product catalog and a shopping cart.
+At the end of [Managing Data](start/start-data "Try it: Managing Data"), the online store application has a product catalog and a shopping cart.
This section walks you through adding a form-based checkout feature to collect user information as part of checkout.
@@ -49,7 +49,7 @@ Now that you've defined the form model in the component class, you need a checko
## Create the checkout form
-Use the following steps to add a checkout form at the bottom of the "Cart" page.
+Use the following steps to add a checkout form at the bottom of the "Cart" view.
1. Open `cart.component.html`.
@@ -73,7 +73,7 @@ Use the following steps to add a checkout form at the bottom of the "Cart" page.
After putting a few items in the cart, users can now review their items, enter their name and address, and submit their purchase:
-For more information about the Angular Router, see [Routing & Navigation](guide/router "Routing & Navigation").
+For more information about the Angular Router, see [Routing & Navigation](guide/router "Routing & Navigation guide").
@@ -107,9 +105,9 @@ For more information about the Angular Router, see [Routing & Navigation](guide/
Congratulations! You have integrated routing into your online store.
-* Products are linked from the product list page to individual products.
+* Products are linked from the product list view to individual products.
* Users can click on a product name from the list to see details in a new view, with a distinct URL/route.
To continue exploring Angular, choose either of the following options:
-* [Continue to the "Managing Data" section](start/start-data "Getting Started: Managing Data") to add a shopping cart feature, use a service to manage the cart data and use HTTP to retrieve external data for shipping prices.
-* [Skip ahead to the Deployment section](start/start-deployment "Getting Started: Deployment") to deploy your app to Firebase or move to local development.
+* [Continue to the "Managing Data" section](start/start-data "Try it: Managing Data") to add a shopping cart feature, use a service to manage the cart data and use HTTP to retrieve external data for shipping prices.
+* [Skip ahead to the Deployment section](start/start-deployment "Try it: Deployment") to deploy your app to Firebase or move to local development.
diff --git a/aio/content/tutorial/index.md b/aio/content/tutorial/index.md
index 028766b558..307bc64043 100644
--- a/aio/content/tutorial/index.md
+++ b/aio/content/tutorial/index.md
@@ -1,39 +1,36 @@