Introduction
Angular is a powerful TypeScript framework for building robust and scalable web applications. In 2026, it remains the preferred choice for enterprises due to its performance and mature ecosystem. This tutorial guides you from installation to creating a fully functional application. You will learn how to structure your code, manage data, and apply professional standards. Each step includes ready-to-use code that you can copy directly.
Prerequisites
- Node.js 20 or higher
- Basic knowledge of TypeScript and HTML
- Terminal and code editor (VS Code recommended)
Installing Angular CLI
npm install -g @angular/cli@latest
ng versionThis command installs the Angular CLI globally. The second command verifies the installation and displays the version. Make sure you have administrator rights if necessary.
Creating the Project
ng new mon-app-angular --standalone --routing --style=css
cd mon-app-angular
ng serveCreates a modern Angular project with standalone mode, routing, and CSS. The ng serve command starts the development server at http://localhost:4200.
Main Component
import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
@Component({
selector: 'app-root',
standalone: true,
imports: [CommonModule],
template: `<h1>Bienvenue sur {{ title }}</h1>`
})
export class AppComponent {
title = 'Mon Application Angular 2026';
}This standalone component displays a dynamic title. The @Component decorator defines the selector and inline template for quick setup.
Adding a Service
import { Injectable } from '@angular/core';
@Injectable({ providedIn: 'root' })
export class DataService {
getItems() {
return ['Item 1', 'Item 2', 'Item 3'];
}
}An injectable service provides data to the application. The providedIn: 'root' enables automatic injection without manual declaration.
Using the Service
import { Component, OnInit } from '@angular/core';
import { CommonModule } from '@angular/common';
import { DataService } from './data.service';
@Component({
selector: 'app-root',
standalone: true,
imports: [CommonModule],
template: `<ul><li *ngFor="let item of items">{{ item }}</li></ul>`
})
export class AppComponent implements OnInit {
items: string[] = [];
constructor(private dataService: DataService) {}
ngOnInit() {
this.items = this.dataService.getItems();
}
}The component injects the service and displays the list. ngFor enables dynamic rendering of the items.
Best Practices
- Always use standalone mode for new projects
- Separate business logic into services
- Enable TypeScript strict mode
- Write unit tests from the beginning
- Follow Angular naming conventions
Common Errors
- Forgetting to import CommonModule for directives
- Not initializing properties in the constructor
- Ignoring TypeScript typing errors
- Modifying the DOM directly instead of using data binding
Going Further
Deepen your Angular skills with our complete courses on Learni Group.