Destino Dev

Cursos

JavaScript Avançado: Padrões de Design e Performance

Código do curso: github.com/johnpires/js-avancado-projeto-final

Este curso é destinado a desenvolvedores JavaScript que já dominam os fundamentos e os recursos intermediários da linguagem e desejam dar o próximo passo rumo à excelência técnica. Aqui você vai mergulhar nos padrões de design clássicos e modernos aplicados ao JavaScript, entendendo como arquitetar soluções robustas, reutilizáveis e de fácil manutenção. Você aprenderá a identificar problemas recorrentes no desenvolvimento de software e a aplicar os padrões mais adequados para cada situação, elevando a qualidade do seu código ao nível profissional.

Além dos padrões de design, o curso aborda temas avançados como programação funcional, metaprogramação com Proxy, Reflect e Symbols, técnicas de otimização de performance no V8 engine, testes avançados com Jest e Vitest, e o uso de Web APIs modernas. Cada tópico é abordado com profundidade, exemplos do mundo real e análise crítica das trade-offs envolvidas em cada decisão de design.

O curso é finalizado com um projeto prático: a construção de um sistema de gerenciamento de estado personalizado, semelhante ao Redux, implementando os padrões aprendidos ao longo do curso. Ao concluir, você estará preparado para liderar decisões de arquitetura frontend e backend, revisar código com visão sistêmica e contribuir para projetos de grande escala.

O que você vai aprender

Ao final deste curso, você será capaz de:

Pré-requisitos

Este curso exige sólido conhecimento de JavaScript intermediário: closures, Promises, async/await, classes ES6, módulos, manipulação de arrays/objetos, e experiência prática com pelo menos um framework moderno (React, Vue ou Node.js). Espera-se que o aluno tenha pelo menos 1-2 anos de experiência prática com JavaScript e esteja confortável lendo e escrevendo código assíncrono complexo.

Conteúdo do curso

Módulo 1: Padrões de Design Criacionais

Aprenda os padrões criacionais — Factory, Singleton, Builder e Prototype — e entenda quando e como aplicá-los para criar objetos de forma flexível e desacoplada.

  1. Factory Pattern: Criação Desacoplada de Objetos (35 min)
  2. Singleton Pattern: Instância Única Global (30 min)
  3. Builder Pattern: Construção Fluente de Objetos Complexos (35 min)
  4. Prototype Pattern: Clonagem e Herança Prototípica (30 min)

Módulo 2: Padrões de Design Estruturais

Aprenda os padrões Decorator, Proxy e Facade para compor objetos de forma flexível, controlar acesso e simplificar interfaces complexas.

  1. Decorator Pattern: Adicionando Comportamentos Dinamicamente (35 min)
  2. Proxy Pattern: Interceptando e Controlando Acesso (35 min)
  3. Facade Pattern: Simplificando Interfaces Complexas (30 min)

Módulo 3: Padrões de Design Comportamentais

Domine os padrões Observer, Strategy e Command para gerenciar comunicacao entre objetos, algoritmos intercambiáveis e operacoes reversíveis.

  1. Observer Pattern: Comunicação Baseada em Eventos (35 min)
  2. Strategy Pattern: Algoritmos Intercambiáveis (30 min)
  3. Command Pattern: Operações Encapsuladas e Reversíveis (35 min)

Módulo 4: Programação Funcional Avançada

Domine currying, composicao de funcoes, funcoes de alta ordem e monads para escrever código funcional expressivo, seguro e reutilizável.

  1. Currying e Aplicação Parcial (35 min)
  2. Composição Funcional e Programação Funcional Avançada (35 min)

Módulo 5: Metaprogramacao: Proxy, Reflect e Symbol

Explore o poder da metaprogramacao em JavaScript com Proxy, Reflect e Symbol para criar DSLs, interceptores e APIs elegantes.

  1. Symbol e Protocolos Internos do JavaScript (30 min)
  2. Reflect e Proxy Avancados: Metaprogramação Completa (35 min)

Módulo 6: Otimizacao de Performance no JavaScript

Aprenda a identificar e corrigir gargalos de performance analisando o V8 engine, gerenciando memoria e aplicando tecnicas avancadas de otimizacao.

  1. V8 Engine: JIT, Shapes e Otimizacoes de Memoria (35 min)
  2. Virtualizacao, Web Workers e Estrategias de Cache (35 min)

Módulo 7: Testes Avançados com JavaScript

Domine Jest com mocks, spies, snapshots e testes assíncronos para garantir qualidade no código JavaScript avançado.

  1. Testes Unitários e de Integração com Jest (35 min)
  2. Mocks, Stubs e Spies: Isolando Dependências (30 min)
  3. Snapshot Testing e Testes de Comportamento Assíncrono (25 min)

Módulo 8: Web APIs Modernas e Avançadas

Domine as APIs nativas do browser: Observers, Service Workers, Streams e Web Crypto para aplicações robustas.

  1. MutationObserver, IntersectionObserver e ResizeObserver (30 min)
  2. Service Workers, Streams e Web Crypto API (35 min)

Módulo 9: Projeto Final: Sistema de State Manager Personalizado

Construa um state manager completo do zero aplicando todos os padrões avançados do curso: padrões de design, metaprogramação, programação funcional e performance.

  1. Arquitetura do State Manager: Store, Actions e Reducers (40 min)
  2. Middleware Pipeline e Thunks (35 min)
  3. Reactive Bindings e Time-Travel Debugging (35 min)
  4. Testes Completos do State Manager (30 min)