Angular: From Zero to Expert

Angular: From Zero to Expert

Angular 21: What's new

The most significant shift is the zoneless-by-default approach. The future is reactive, performant, and decidedly signal-driven—and Angular is leading the way.

Amos Isaila's avatar
Amos Isaila
Nov 20, 2025
∙ Paid
Angular 21: What's new

1. @angular/animations

2. @angular/common

a) Zero-Configuration HTTP Services - PR

HTTP services are now automatically provided in the root injector, eliminating the need for explicit provideHttpClient().

import { bootstrapApplication } from '@angular/platform-browser';
import { provideHttpClient } from '@angular/common/http';

// Before
bootstrapApplication(AppComponent, {
  providers: [
    provideHttpClient() // ❌ Required for basic HTTP functionality
  ]
});

// After
bootstrapApplication(AppComponent, {
  providers: [
    // ✅ HTTP services automatically available
  ]
});

Advanced Configuration: For custom interceptors, client configuration, or specific features, continue using provideHttpClient():

Thanks for reading Angular: From Zero to Expert! This post is public so feel free to share it.

Share

bootstrapApplication(AppComponent, {
  providers: [
    provideHttpClient(
      withInterceptors([authInterceptor]),
      withFetch() // Custom features require explicit provider
    )
  ]
});

b) ⚠️ NgComponentOutlet NgModuleFactory Removal - PR

The ngModuleFactory input of NgComponentOutlet was a legacy feature that relied on the deprecated NgModuleFactory class, creating unnecessary complexity and maintenance overhead.

Now ngModuleFactory input from NgComponentOutlet is removed, using only the modern NgModule approach.

User's avatar

Continue reading this post for free, courtesy of Amos Isaila.

Or purchase a paid subscription.
© 2026 Amos Isaila · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture