## glossário

O que é Angular?

Angular é um framework de aplicações web mantido pelo Google, lançado em 2016 como reescrita completa do AngularJS (2010). Diferente de React e Vue, ele é deliberadamente completo: roteador, cliente HTTP, formulários, validação, injeção de dependência e ferramenta de linha de comando vêm na caixa.

A escolha é filosófica. Onde React entrega liberdade e exige decisões, Angular entrega decisões e exige aderência. Em organizações grandes, com muitas equipes e rotatividade, essa padronização vale mais que a flexibilidade.

TypeScript não é opcional

Angular é escrito em TypeScript e assume seu uso. Decorators como @Component e @Injectable são parte da sintaxe do framework, e a tipagem forte atravessa desde os formulários até as respostas HTTP.

Componente e serviço injetado
@Injectable({ providedIn: 'root' })
export class PedidoService {
  constructor(private http: HttpClient) {}

  listar(): Observable<Pedido[]> {
    return this.http.get<Pedido[]>('/api/pedidos');
  }
}

@Component({
  selector: 'app-pedidos',
  template: '<li *ngFor="let p of pedidos">{{ p.cliente }}</li>',
})
export class PedidosComponent implements OnInit {
  pedidos: Pedido[] = [];

  // o Angular entrega a instância automaticamente
  constructor(private service: PedidoService) {}

  ngOnInit() {
    this.service.listar().subscribe((r) => (this.pedidos = r));
  }
}

Conceitos que você precisa dominar

  • Injeção de dependência — o framework instancia e entrega os serviços, facilitando testes e desacoplamento.
  • RxJS e Observables — fluxos assíncronos são tratados como streams, não como Promises. É a maior barreira de entrada.
  • Módulos e standalone components — a organização do código; versões recentes tornaram os módulos opcionais.
  • Change detection — o mecanismo que decide quando atualizar a tela, ajustável para ganhos de desempenho.
  • Angular CLI — gera componentes, serviços e builds com um comando, padronizando a estrutura.

Onde ele compensa — e onde não

Angular rende em sistemas corporativos de vida longa: ERPs, plataformas bancárias, painéis administrativos complexos, times de dezenas de pessoas. Perde em projetos pequenos, protótipos e sites de conteúdo, onde o peso inicial e a curva do RxJS não se pagam. Se o objetivo é uma landing page ou um blog, outro framework quase certamente entrega antes.

## faq

Perguntas frequentes

Qual a diferença entre Angular e AngularJS?

São frameworks diferentes que compartilham o nome. AngularJS (versão 1.x) é de 2010, usa JavaScript e um modelo de two-way binding com scopes. Angular (2 em diante) é uma reescrita de 2016 em TypeScript, com arquitetura completamente distinta. Não há caminho de atualização simples entre eles.

Angular está morrendo?

Não. Perdeu espaço para o React em popularidade geral e em startups, mas segue firme no mercado corporativo e recebe atualizações frequentes do Google, incluindo mudanças recentes significativas como signals e componentes standalone.

Preciso aprender RxJS para usar Angular?

Sim, ao menos o essencial. O cliente HTTP retorna Observables, e o roteador expõe parâmetros da mesma forma. Dominar subscribe, map, switchMap e o operador async no template cobre a maior parte do uso cotidiano.