Programação & Dev

Pare de arriscar seu frontend: a arquitetura definitiva do Angular 22

O Angular 22 chegou. Descubra como as mudanças arquiteturais e os novos primitivos de reatividade o tornam a escolha ideal para sistemas enterprise.

Pare de arriscar seu frontend: a arquitetura definitiva do Angular 22

Guia técnico · Framework corporativo · Angular 22 · Junho de 2026 Estável atual: Angular 22.0 (lançado em 3 de junho de 2026)


A Decisão Estratégica

Angular não é uma escolha do desenvolvedor. É uma escolha organizacional.

Quando uma equipe de 5 pessoas escolhe o Angular, na prática, elas estão decidindo como uma equipe de 50 trabalhará daqui a três anos. Poucas decisões de stack carregam esse peso.

Angular é opinativo por design. Ele prescreve como estruturar módulos (ou standalone components), como injetar dependências, como lidar com roteamento, formulários, testes, HTTP e internacionalização. Para equipes que valorizam a flexibilidade, isso soa como uma restrição. Para equipes que valorizam a consistência, soa como liberdade de não ter que decidir todas essas coisas toda vez.

Essa é a verdadeira divisão. O Angular não compete com o React em velocidade de aprendizado ou tamanho de ecossistema — e nem deveria. Ele compete em algo diferente: a capacidade de uma base de código Angular de 100 mil linhas ser navegável por um engenheiro que nunca a viu antes, porque as convenções são impostas pelo framework, não pela disciplina da equipe.

O contexto de 2026: O Angular 22 (junho de 2026) estabilizou Signal Forms e Angular Aria, tornou o zoneless o padrão para todos os novos projetos e promoveu o servidor MCP para estável. Após anos de críticas sobre a curva de aprendizado e o Zone.js, o Angular passou por uma transformação arquitetural que fechou aproximadamente 80% da lacuna de performance de runtime em relação ao JS puro no krausest js-framework-benchmark. A questão não é mais "O Angular ainda é relevante?" — é "O meu problema se encaixa no que o Angular resolve melhor?"

"Arquitetura é o que resta quando a funcionalidade está pronta." Angular é para equipes que levam isso a sério.


Os Pilares do Framework

O Angular entrega um framework completo, não uma biblioteca. Tudo o que outras stacks montam a partir de peças externas, o Angular entrega integrado e testado em conjunto.

Dependency Injection

DI hierárquica integrada ao núcleo do framework. Services, repositories, guards, interceptors — todos declarados com @Injectable e resolvidos automaticamente. Permite substituição para testes sem mocks manuais e modularização genuína de responsabilidades.

Signals (Estável desde a v20)

signal(), computed(), e effect() estão estáveis para produção. Rastreamento automático de dependências sem arrays manuais. Signal Forms (experimental na v21, estável na v22) substitui o padrão RxJS/FormControl por uma API mais simples e performática.

Zoneless Change Detection (Padrão desde a v21)

Novos projetos gerados com ng new excluem o Zone.js por padrão. A mudança reduz o tamanho do bundle, limpa os stack traces e melhora a interoperabilidade. Projetos existentes migram gradualmente via schematics usando a ferramenta onpush_zoneless_migration do servidor Angular MCP.

Standalone Components (Padrão desde a v17)

Components, pipes e directives se autodeclaram sem NgModule. Elimina o boilerplate que foi a crítica mais comum ao Angular por anos. Permite lazy loading por componente, tree-shaking mais eficiente e composição mais explícita.

Routing

Roteamento declarativo com lazy loading, guards, resolvers e modo de renderização por rota (SSR, CSR, prerender por rota — estável desde a v20). Nenhuma escolha de biblioteca necessária: o roteador oficial funciona com SSR, animações e o Angular CDK por design.

Forms

Dois modelos de formulário incluídos. Reactive Forms (baseado em RxJS) é o padrão atual para complexidade. Signal Forms (@angular/forms/signals) é estável na v22 — elimina o padrão valueChanges.pipe(…takeUntil(this.destroy$)) que todo desenvolvedor Angular já escreveu dezenas de vezes.


Sintaxe de Template Moderna: @if, @for, @switch

O Angular 17 substituiu *ngIf, *ngFor, e *ngSwitch por uma sintaxe de bloco nativa. As diretivas antigas foram depreciadas na v20 e serão removidas em versões futuras.

Antes — diretivas antigas (depreciadas):

HTML
<div *ngIf="user; else loading">  <div *ngFor="let item of items; trackBy: trackFn">    {{ item.name }}  </div></div><ng-template #loading>  Loading...</ng-template>

Depois — sintaxe de bloco (v17+):

HTML
@if (user) {  @for (item of items; track item.id) {    <div>{{ item.name }}</div>  }} @else {  <div>Loading...</div>}

Signals: Do Zone.js para Reatividade de Granularidade Fina

TYPESCRIPT
// BEFORE: Zone.js + ChangeDetectorRef@Component({ changeDetection: ChangeDetectionStrategy.OnPush })export class CounterComponent {  counter = 0;  constructor(private cdr: ChangeDetectorRef) {}  increment() {    this.counter++;    this.cdr.detectChanges(); // manual trigger  }}// AFTER: Signals (Angular 20+ stable)@Component({ standalone: true })export class CounterComponent {  counter = signal(0);                      // signal primitive  double  = computed(() => this.counter() * 2); // derived, lazy  increment() {    this.counter.update(v => v + 1);       // no manual trigger    // Angular detects automatically via reactive graph  }}// Zoneless — app.config.ts (default in new Angular 22 projects)export const appConfig: ApplicationConfig = {  providers: [    provideZonelessChangeDetection(),    provideBrowserGlobalErrorListeners(),    provideRouter(routes),  ]};

httpResource: HTTP Reativo com Signals

TYPESCRIPT
import { httpResource } from '@angular/common/http';import { signal, Component } from '@angular/core';@Component({ standalone: true })export class UserComponent {  userId = signal(1);  // Automatically re-fetches when userId() changes  user = httpResource<User>(    () => `/api/users/${this.userId()}`  );  // user.value()     → current value  // user.isLoading() → reactive boolean  // user.error()     → reactive error}

Começando com o Angular 22

O Angular 22 foi lançado em 3 de junho de 2026 e é a versão recomendada para novos projetos — Signal Forms estável, Angular Aria estável, zoneless por padrão e servidor MCP estável.

Passo 1 — Requisitos de Ambiente

O Angular 22 requer Node.js v22.22.0+ ou v24.13.1+ e TypeScript 6. Verifique antes de qualquer coisa — versões mais antigas bloqueiam a CLI antes mesmo de rodar.

BASH
# Check Node.js (needs v22.22.0+ or v24.x)node --version# Install or update to Node LTS via nvmnvm install --lts && nvm use --lts# Install the latest Angular CLI globallynpm install -g @angular/cli# Confirm CLI versionng version# Angular CLI: 22.x.x  ✓

Passo 2 — Criar o Projeto

BASH
# Create a new project with recommended flags for 2026ng new my-app \  --style=scss \  --routing \  --ssr# The CLI asks about SSR/SSG — answer Y for SSR# Result: project with:#   ✓  Standalone components (no NgModule)#   ✓  Zoneless change detection (no zone.js)#   ✓  Vitest as test runner#   ✓  esbuild + Vite for builds#   ✓  @angular/ssr configured#   ✓  TypeScript 6 strict modecd my-appng serve  # http://localhost:4200

Passo 3 — Estrutura do Projeto

TYPESCRIPT
my-app/├── src/│   ├── app/│   │   ├── app.component.ts        # root component (standalone)│   │   ├── app.config.ts           # bootstrap without AppModule│   │   ├── app.routes.ts           # declarative routing│   │   └── app.config.server.ts    # SSR config│   ├── main.ts                     # bootstrapApplication()│   └── main.server.ts              # SSR entry point├── vitest.config.ts                # test runner (no karma.conf)├── angular.json                    # workspace config└── package.json                    # no zone.js in dependencies ✓

Passo 4 — O app.config.ts moderno

TYPESCRIPT
// src/app/app.config.ts — generated by ng new in Angular 22import { ApplicationConfig, provideZonelessChangeDetection } from '@angular/core';import { provideRouter }                from '@angular/router';import { provideClientHydration }       from '@angular/platform-browser';import { provideHttpClient, withFetch } from '@angular/common/http';import { routes }                        from './app.routes';export const appConfig: ApplicationConfig = {  providers: [    // Zoneless: no Zone.js, changes detected by Signals    provideZonelessChangeDetection(),    // Router with lazy loading by default    provideRouter(routes),    // Incremental hydration for SSR — reduces TTI by 40-50%    provideClientHydration(),    // HTTP with native Fetch API (not XMLHttpRequest)    provideHttpClient(withFetch()),  ]};

Passo 5 — Seu Primeiro Componente Signal-First

TYPESCRIPT
// src/app/features/user/user.component.tsimport {  Component, signal, computed, input} from '@angular/core';import { httpResource } from '@angular/common/http';import { DatePipe }     from '@angular/common';interface User {  id: number;  name: string;  email: string;}@Component({  selector: 'app-user',  standalone: true,  imports: [DatePipe],  template: `    @if (user.isLoading()) {      <p>Loading...</p>    } @else if (user.error()) {      <p>Error: {{ user.error()?.message }}</p>    } @else {      <article>        <h2>{{ user.value()?.name }}</h2>        <p>{{ user.value()?.email }}</p>        <p>Score: {{ scoreFormatted() }}</p>        <small>Loaded at {{ now | date:'HH:mm:ss' }}</small>      </article>    }    <button (click)="nextId()">Next user</button>  `,})export class UserComponent {  // Signal input — works in zoneless without traditional @Input()  userId = input.required<number>();  // Reactive HTTP: re-fetches when userId() changes  user = httpResource<User>(    () => `/api/users/${this.userId()}`  );  // Lazy derived — only recalculates when user.value() changes  scoreFormatted = computed(() => {    const u = this.user.value();    return u ? `${u.id * 7} pts` : '—';  });  now = new Date();  nextId() {    console.log('current id:', this.userId());  }}// Generate via CLI:// ng generate component features/user --standalone

Passo 6 — Comandos Essenciais da CLI

BASH
# Developmentng serve                            # server with HMR and template hot reloadng serve --configuration=staging    # with specific environment# Code generationng generate component features/dashboard --standaloneng generate service core/api/userng generate guard core/auth/auth --implements CanActivateng generate pipe shared/pipes/truncateng generate directive shared/directives/highlight# Buildng build                            # production build with esbuildng build --stats-json               # for bundle analysis# Tests (Vitest in Angular 22)ng test                             # runs Vitest in watch modeng test --coverage                  # coverage report# Upgrade and migrationng update @angular/core @angular/cli   # upgrade with automatic schematicsng update                              # shows what can be updated# MCP Server for AI tooling (Angular 22 stable)ng mcp                              # starts the Angular MCP server

Passo 7 — Migrando de Versões Anteriores

Importante: O Angular requer upgrades sequenciais — você não pode pular versões.

BASH
# v19 → v20ng update @angular/core@20 @angular/cli@20# v20 → v21 (zoneless becomes default for new projects)ng update @angular/core@21 @angular/cli@21# v21 → v22 (Signal Forms stable, Angular Aria stable, MCP stable)ng update @angular/core@22 @angular/cli@22# Check and run additional migrationsng update   # shows available migrations# Automatic migration to zoneless via MCPng mcp  # activates onpush_zoneless_migration for the codebase

Os Cinco Critérios de Avaliação

01 — Escalabilidade

O Angular escala equipes, não apenas aplicações. DI hierárquica, tipagem estrita do TypeScript e standalone components com contratos de API claros fazem as bases de código crescerem de forma previsível. O Angular detém 48,24% de market share entre frameworks frontend especializados, com mais de 51.737 empresas em todo o mundo. Google, Microsoft Office 365, Deutsche Bank e Samsung usam Angular para aplicações de grande escala. A adoção de Signals de granularidade fina (v17) e a migração para zoneless change detection por padrão (v21) fecharam aproximadamente 80% da lacuna de performance de runtime em relação ao JS puro.

02 — Curva de Aprendizado

A crítica histórica permanece parcialmente verdadeira. TypeScript, DI, decorators, standalone components, roteamento, formulários — muitos conceitos chegam simultaneamente. Desenvolvedores Angular recebem um prêmio de aproximadamente US$ 10 mil, com média de US$ 130 mil/ano vs. aproximadamente US$ 120 mil/ano para desenvolvedores React (Glassdoor, médias dos EUA). A direção em 2026 é a simplificação: standalone components eliminaram o NgModule, Signals eliminaram a maior parte do RxJS para gerenciamento de estado, Signal Forms (estável na v22) elimina padrões verbosos de RxJS.

03 — Performance e Throughput

O Angular pós-Signals é substancialmente mais rápido do que na era do Zone.js. O compilador AOT gera JavaScript altamente otimizado em tempo de build. A hidratação incremental (estável na v20) reduz o Time to Interactive em 40-50%, de acordo com o roadmap oficial. Com Signals + zoneless, o Angular sabe exatamente quais nós do DOM precisam ser atualizados — sem travessia completa da árvore.

04 — Latência e SSR

O Angular Universal entrega SSR completo. O modo de renderização por rota (estável na v20) permite que cada rota seja configurada individualmente como SSR, prerender ou CSR. O tamanho do bundle base é aproximadamente 2,7x maior que o do React — irrelevante para aplicações corporativas internas, mas uma consideração real para apps de consumo mobile.

05 — Suporte da Comunidade

O suporte do Google é a vantagem mais subestimada do Angular — Gmail, Google Cloud Console, AdSense, Google Fonts, todos rodam em Angular. Regressões chegam à equipe antes de chegarem à sua aplicação. Um lançamento principal a cada 6 meses, versões LTS com 18 meses de suporte. 92% de retenção de uso. Satisfação: 44,7% 'admirado' (State of JS 2025) vs React 52,1% e Vue 50,9%. Adoção crescendo a +5% ao ano, sustentada pelo setor corporativo.


Linha do Tempo de Versões

Versão

Data

Marco Principal

v17

Nov 2023

Signals dev preview, @if/@for sintaxe de bloco, standalone default, Vite + esbuild, @defer

v18

Mai 2024

Zoneless experimental, suporte zoneless para CDK/Material

v19

Nov 2024

Hidratação incremental (dev preview), modo de renderização por rota (dev preview), template HMR

v20

Mai 2025

Signals estável, hidratação incremental estável, modo de renderização por rota estável, httpResource experimental

v21

Nov 2025

Zoneless por padrão, Vitest substitui Karma, Signal Forms experimental, Angular Aria dev preview, servidor MCP

v22

Jun 2026

Signal Forms estável, Angular Aria estável, provideWebMcpTools(), servidor MCP estável

⚠ Fim da Vida Útil (EOL): O Angular 19 atingiu o EOL em maio de 2026. CVEs ativos (patches apenas para v19, v20, v21): CVE-2025-59052 (CVSS 7.1), CVE-2025-66035 (CVSS 7.7), CVE-2025-66412 (XSS no compilador SVG/MathML).


Ecossistema

Angular Material + CDK

Mais de 30 componentes de Material Design acessíveis. O CDK fornece primitivas de comportamento: drag-and-drop, overlay, virtual scroll, acessibilidade, stepper.

BASH
npm install @angular/material @angular/cdk

SSR

BASH
ng add @angular/ssr

Integrado com a CLI. Suporta Node.js, Deno e Cloudflare Workers via adaptadores.

Gerenciamento de Estado

Opção

Quando usar

Signals + computed

Estado local, valores derivados — cobre a maioria dos componentes no Angular 22

NgRx

Efeitos colaterais complexos, DevTools, time-travel debugging, grandes equipes

Akita / Elf

Alternativas mais leves ao NgRx

Testes

O Angular 22 substituiu o Karma pelo Vitest como o executor de testes padrão.

TYPESCRIPT
import { TestBed } from '@angular/core/testing';import { CounterComponent } from './counter.component';describe('CounterComponent', () => {  beforeEach(() => {    TestBed.configureTestingModule({      imports: [CounterComponent], // standalone: imported directly    });  });  it('should increment the signal on click', () => {    const fixture = TestBed.createComponent(CounterComponent);    const comp = fixture.componentInstance;    expect(comp.counter()).toBe(0);    comp.increment();    TestBed.tick();  // replaces deprecated TestBed.flushEffects()    expect(comp.counter()).toBe(1);    expect(comp.double()).toBe(2);  });});

Microfrontends

Module Federation (Webpack 5) é o padrão corporativo Angular para microfrontends. Nx é a toolchain de monorepo mais adotada para Angular em larga escala.

TYPESCRIPT
// module-federation.config.ts (shell app)import { ModuleFederationConfig } from '@nx/webpack';export const config: ModuleFederationConfig = {  name: 'shell',  remotes: ['checkout', 'catalog', 'user'],};// Each remote is an independent Angular standalone app// Lazy-loaded as a route in the shell

Angular e Agentes de IA

Nota agnóstica a SDK: SDKs de LLM são TypeScript/JavaScript — agnósticos a framework. Vercel AI SDK (streamText, generateObject), Firebase Genkit, Anthropic SDK e OpenAI SDK funcionam no Angular sem modificações. O que muda é a camada de UI: em vez de React hooks, você usa Signals + RxJS + DI.

Quatro Forças Principais

1. DI isola o cliente de LLM. O serviço de IA vive em um @Injectable com uma interface bem definida. Troque de Claude para Gemini, ou de REST para WebSocket, sem tocar nos componentes. Em testes, injete um mock — a UI nunca saberá a diferença.

2. Signals + RxJS para streaming de tokens. Tokens chegam via SSE. RxJS — já embutido no Angular — é o modelo mental natural: Observable para o stream, pipe(scan()) para acumular tokens, takeUntilDestroyed() para limpeza automática quando o componente for destruído.

3. WebMCP — sua UI como um conjunto de ferramentas chamável por agentes. O Angular 22 introduziu provideWebMcpTools() e declareWebMcpTool(). Sua aplicação expõe capacidades que qualquer agente com acesso ao navegador pode descobrir e chamar via navigator.modelContext. Inversão de controle: o agente chama a UI.

4. Protocolo AG-UI. O protocolo AG-UI padroniza a comunicação entre agentes (LangGraph, Mastra, CrewAI) e frontends. A implementação Angular usa o Resource API — o mesmo padrão que httpResource() — tornando o estado do agente (histórico de chat, widgets, chamadas de ferramenta) dados reativos nativos.

Chat com Streaming de Tokens

TYPESCRIPT
@Injectable({ providedIn: 'root' })export class ChatAiService {  messages   = signal<Message[]>([]);  streamText = signal('');  loading    = signal(false);  private createStream(payload: object): Observable<string> {    return new Observable(observer => {      const controller = new AbortController();      fetch('/api/chat/stream', {        method: 'POST',        headers: { 'Content-Type': 'application/json' },        body: JSON.stringify(payload),        signal: controller.signal,      })      .then(async res => {        const reader  = res.body!.getReader();        const decoder = new TextDecoder();        while (true) {          const { done, value } = await reader.read();          if (done) { observer.complete(); break; }          const chunk = decoder.decode(value, { stream: true });          for (const line of chunk.split('\n\n')) {            if (!line.startsWith('data: ')) continue;            const data = line.slice(6);            if (data === '[DONE]') { observer.complete(); return; }            observer.next(data);          }        }      })      .catch(err => { if (err.name !== 'AbortError') observer.error(err); });      return () => controller.abort(); // cleanup on unsubscribe    });  }  async send(text: string): Promise<void> {    this.messages.update(m => [...m, { role: 'user', content: text }]);    this.loading.set(true);    this.streamText.set('');    this.createStream({ messages: this.messages() }).subscribe({      next:     token => this.streamText.update(s => s + token),      error:    ()    => this.loading.set(false),      complete: ()    => {        this.messages.update(m => [          ...m, { role: 'assistant', content: this.streamText() }        ]);        this.streamText.set('');        this.loading.set(false);      },    });  }}

Angular vs Next.js para Apps de Agentes de IA

Critério

Angular 22

Next.js 15 (React)

SDKs de LLM

Igual — TypeScript, funcionam em ambos

Igual — TypeScript, funcionam em ambos

Streaming de tokens (SSE)

RxJS + Signal, limpeza automática via takeUntilDestroyed()

useChat (React hook) ou manual ReadableStream

Múltiplos agentes paralelos

Signal por agente, isolamento por DI, interferência zero

useState por agente, Context ou Zustand

UI como ferramenta chamável por agente

provideWebMcpTools()nativo no Angular 22

Sem equivalente nativo

Ferramentas de IA no IDE

ng mcp estável — RAG + migração automática

Sem servidor MCP oficial

Escalabilidade de equipe em apps de IA

DI + estrutura opinativa = localização previsível do serviço de IA

Dependente de convenção

Limpeza automática de stream na navegação

takeUntilDestroyed() — configuração zero

AbortController + limpeza manual useEffectlimpeza

Server Functions / API Routes

Via @angular/ssr (em evolução)

Next.js Server Actions — mais maduro


Casos de Uso

✅ Use Angular

  • SPA corporativa em escala — ERP, CRM, plataformas financeiras, saúde. 10+ desenvolvedores, manutenção de vários anos. Arquitetura opinativa garante navegabilidade por novos engenheiros.

  • Dashboards em tempo real — IoT, monitoramento financeiro, telemetria. Signals + zoneless: apenas o widget que recebe novos dados é atualizado.

  • Formulários complexos — Seguros, crédito, onboarding regulamentado. Reactive Forms + Signals para validação granular e regras de negócio integradas via DI.

  • SaaS corporativo multi-tenant — Módulos lazy por tenant, permissões via guards, i18n por localidade, temáticas por cliente — tudo primitivas nativas do Angular.

  • Dashboards de agentes de IA — Múltiplos agentes paralelos, exposição de ferramentas WebMCP, serviços de IA isolados por DI. A estrutura compensa conforme a camada de IA cresce.

⚠️ Avalie com cuidado

  • Apps de consumo com SEO/mobile crítico — Bundle maior, ferramentas de SSR menos maduras que o Next.js.

  • MVPs e projetos de curta duração — Semanas de rampa de aprendizado antes da produtividade. React ou Vue entregam mais rápido.

  • Equipes pequenas sem experiência em Angular — Pipeline de contratação mais longo, custo por engenheiro mais alto.


Alinhando aos Objetivos de Negócio

Para o negócio, escolher Angular não é uma aposta tecnológica. É uma aposta organizacional — que a consistência compensa o custo de onboarding, que a base de código será sustentável por equipes que ainda não existem e que evitar os debates de "qual biblioteca devemos usar?" economiza mais horas do que o tempo de configuração.

Essa aposta tem um perfil específico: projetos de médio e longo prazo, equipes em crescimento, domínios complexos onde a estrutura do código é tão importante quanto a funcionalidade. Com 18,2% de adoção (Stack Overflow 2025), mais de 51 mil empresas globalmente e o suporte do Google, a relevância do Angular não está em questão.

A aposta não faz sentido para MVPs, apps de consumo com requisitos críticos de SEO ou equipes pequenas onde o overhead de configuração supera os benefícios de escalabilidade.

Escolha Angular quando:

  • Horizonte de 3+ anos, equipe em crescimento

  • Domínio complexo: financeiro, saúde, governo, B2B corporativo

  • Consistência da base de código sobre flexibilidade

  • TypeScript strict é um requisito de engenharia

  • Isolamento por DI para serviços de IA ou clientes externos importa arquiteturalmente

Considere alternativas quando:

  • Velocidade de MVP é prioridade → React

  • App de consumo com SEO crítico → Next.js

  • Site de conteúdo / blog → Astro

  • Equipe < 5 sem experiência em Angular → custo de rampa de aprendizado importa mais


Fontes

  • Angular Blog (angular.dev/blog) — Anunciando o Angular v20 (Minko Gechev, maio de 2025).

  • angular.dev/roadmap (acessado em junho de 2026) — Roadmap oficial de funcionalidades e linha do tempo.

  • FrontendMinds (frontendminds.com, junho de 2026) — Detalhes do lançamento do Angular 22: Signal Forms estável, Angular Aria estável, MCP estável.

  • Bacancy Technology (bacancytechnology.com, junho de 2026) — Novas funcionalidades do Angular 22 e guia de upgrade.

  • Cmarix (cmarix.com, março de 2026) — "60+ Estatísticas do Angular 2026" — 51.737 empresas, 4,65M downloads/semana, 18,2% Stack Overflow, 48,24% market share, 92% retenção.

  • mpiric Software (mpiricsoftware.com, junho de 2026) — "React vs Angular vs Vue em 2026: Qual para o setor corporativo?"

  • Scrimba (scrimba.com, abril de 2026) — "React vs Angular 2026" — Dados do Stack Overflow 2025, dados salariais do Glassdoor.

  • HeroDevs (herodevs.com, março de 2026) — CVEs do Angular: CVE-2025-59052, CVE-2025-66035, CVE-2025-66412. Angular 19 EOL em maio de 2026.

  • Angular Architects (angulararchitects.io, maio de 2026) — "Implementando AG-UI com Angular."

  • Level Up Coding (maio de 2026) — "Sua Web App, conheça seu Agente de IA — Angular WebMCP."

  • Angular Blog (blog.angular.dev, setembro de 2025) — "Além do Horizonte: Como o Angular está abraçando a IA" — Servidor Angular MCP, Habilidades Angular para agentes de codificação.


A versão e os dados refletem junho de 2026. O Angular 22 foi lançado em 3 de junho de 2026. Verifique angular.dev/roadmap para o status atual de qualquer funcionalidade. Os valores salariais são médias dos EUA do Glassdoor e podem diferir significativamente por região.