Angular 8 is a platform and framework which is used in HTML and TypeScript to build client applications.
Angular 8 is written in TypeScript. It implements both core and optional functionality as a collection of TypeScript libraries you can import into your applications.
An Angular application's basic building blocks are NgModules which provide a compiling context for components. NgModules gather the related code into functional sets; a collection of NgModules determines an Angular app. An application always has at least one root module that allows bootstrapping, and typically has a lot more feature modules.
Key parts of Angular 8 Architecture:
In Angular 8, all components and services are simply classes with decorators marking their types and providing metadata that direct Angular to do things.
Each Angular application always has at least one root component known to link a page hierarchy to page DOM. -- component defines a class that contains data and logic for the application, and is associated with an HTML template that defines a view to be displayed in a target environment.
Metadata of Component class
In general, there are several functional modules available in any Angular 8 app.
Some important features of Anngular 8 Modules:
A template is used in Angular 8 to combine HTML with Angular Markup, and to modify HTML elements before display. Template directives provide logic for the system, and binding markup connects data from your application and DOM.
There are two types of binding to data:
In Angular 8, developers build a data or logic service class that isn't associated with a particular view and want to share across components.
Dependency Injection (DI) is used to make the classes of your components lean and effective. DI does not fetch server data, validate user input, or log directly into the console; it simply makes services to these tasks.
In Angular 8, Router is a NgModule that provides a service that allows developers to establish a navigation path between the various application states and to show hierarchies in their application.
It operates in the same way as navigation works in a browser. E.g.: