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.

Keep reading with a 7-day free trial

Subscribe to Angular: From Zero to Expert to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 Amos Isaila
Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture