Friday, January 11, 2019

The Application Shell

The Application Shell

You begin by creating an initial application using the Angular CLI. Throughout this tutorial, you’ll modify and extend that starter application to create the Tour of Heroes app.
In this part of the tutorial, you'll do the following:
  1. Set up your environment.
  2. Create a new workspace and initial app project.
  3. Serve the application.
  4. Make changes to the application.

Set up your environment

To set up your development environment, follow these instructions in Getting Started:
Note: You do not need to complete the entire Getting Started. After you complete the above two sections of Getting Started, your environment is set up. Continue below to create the Tour of Heroes workspace and an initial app project.

Create a new workspace and an initial application

You develop apps in the context of an Angular workspace. A workspace contains the files for one or more projects. A project is the set of files that comprise an app, a library, or end-to-end (e2e) tests. For this tutorial, you will create a new workspace.
To create a new workspace and an initial app project:
  1. Ensure that you are not already in an Angular workspace folder. For example, if you have previously created the Getting Started workspace, change to the parent of that folder.
  2. Run the CLI command ng new and provide the name angular-tour-of-heroes, as shown here:
    ng new angular-tour-of-heroes
  3. The ng new command prompts you for information about features to include in the initial app project. Accept the defaults by pressing the Enter or Return key.
The Angular CLI installs the necessary Angular npm packages and other dependencies. This can take a few minutes.
It also creates the following workspace and starter project files:
  • A new workspace, with a root folder named angular-tour-of-heroes.
  • An initial skeleton app project, also called angular-tour-of-heroes (in the src subfolder).
  • An end-to-end test project (in the e2e subfolder).
  • Related configuration files.
The initial app project contains a simple Welcome app, ready to run.

Serve the application

Go to the workspace directory and launch the application.
cd angular-tour-of-heroes
ng serve --open

The ng serve command builds the app, starts the development server, watches the source files, and rebuilds the app as you make changes to those files.
The --open flag opens a browser to http://localhost:4200/.
You should see the app running in your browser.

Angular components

The page you see is the application shell. The shell is controlled by an Angular component named AppComponent.
Components are the fundamental building blocks of Angular applications. They display data on the screen, listen for user input, and take action based on that input.

Make changes to the application

Open the project in your favorite editor or IDE and navigate to the src/app folder to make some changes to the starter app.
You'll find the implementation of the shell AppComponent distributed over three files:
  1. app.component.ts— the component class code, written in TypeScript.
  2. app.component.html— the component template, written in HTML.
  3. app.component.css— the component's private CSS styles.

Change the application title

Open the component class file (app.component.ts) and change the value of the title property to 'Tour of Heroes'.


app.component.ts (class title property)

title = 'Tour of Heroes';

Open the component template file (app.component.html) and delete the default template generated by the Angular CLI. Replace it with the following line of HTML.


app.component.html (template)

<h1>{{title}}</h1>

The double curly braces are Angular's interpolation binding syntax. This interpolation binding presents the component's title property value inside the HTML header tag.
The browser refreshes and displays the new application title.

Add application styles

Most apps strive for a consistent look across the application. The CLI generated an empty styles.css for this purpose. Put your application-wide styles there.
Here's an excerpt from the styles.css for the Tour of Heroes sample app.


src/styles.css (excerpt)

  1. /* Application-wide Styles */
  2. h1 {
  3. color: #369;
  4. font-family: Arial, Helvetica, sans-serif;
  5. font-size: 250%;
  6. }
  7. h2, h3 {
  8. color: #444;
  9. font-family: Arial, Helvetica, sans-serif;
  10. font-weight: lighter;
  11. }
  12. body {
  13. margin: 2em;
  14. }
  15. body, input[type="text"], button {
  16. color: #888;
  17. font-family: Cambria, Georgia;
  18. }
  19. /* everywhere else */
  20. * {
  21. font-family: Arial, Helvetica, sans-serif;
  22. }

Final code review

The source code for this tutorial and the complete Tour of Heroes global styles are available in the live example / download example.
Here are the code files discussed on this page.



import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'Tour of Heroes';
}

Summary


  • You created the initial application structure using the Angular CLI.
  • You learned that Angular components display data.
  • You used the double curly braces of interpolation to display the app title.

No comments:

Post a Comment

No String Argument Constructor/Factory Method to Deserialize From String Value

  In this short article, we will cover in-depth the   JsonMappingException: no String-argument constructor/factory method to deserialize fro...