Guia To-Do List para Front-End Developer
(2025)
1. Fundamentos Básicos
- [ ] Aprender HTML:
- [x] Sintaxe básica
- [x] Tags semânticas (
<header>
, <main>
,
<section>
, <footer>
, etc.)
- [ ] Formulários e inputs
- [ ] Aprender CSS:
- Seletores e especificidade
- Box model
- Flexbox e Grid Layout
- Responsividade (media queries)
- Animações e transições
- [ ] Aprender JavaScript básico:
- Sintaxe e estruturas de controle (if/else, loops, funções)
- Manipulação do DOM
- Eventos
- Fetch API e requisições assíncronas
2. Ferramentas Essenciais
- [ ] Aprender a usar o Git e GitHub:
- Comandos básicos (commit, push, pull, branch)
- Resolução de conflitos
- [ ] Configurar um ambiente de desenvolvimento:
- Instalar Node.js e npm/yarn
- Usar um editor de código (VS Code, Sublime, etc.)
- [ ] Aprender a usar ferramentas de build:
- Webpack, Vite ou Parcel
- Babel para transpilar JavaScript moderno
3. JavaScript Avançado
- [ ] Aprender ES6+:
- Arrow functions
- Destructuring
- Promises e async/await
- Módulos (import/export)
- [ ] Entender conceitos de programação funcional:
- Funções puras
- Imutabilidade
- Higher-order functions
- [ ] Aprender manipulação de arrays e objetos:
- Métodos como
map
, filter
, reduce
4. Frameworks e Bibliotecas
- [ ] Escolher um framework principal:
- React (mais popular) ou Vue/Angular
- [ ] Aprender os conceitos básicos do framework escolhido:
- Componentes
- Estado (state) e props
- Ciclo de vida (lifecycle methods)
- [ ] Aprender gerenciamento de estado:
- Redux (para React) ou Vuex (para Vue)
- Context API (React)
- [ ] Aprender roteamento:
- React Router (React) ou Vue Router (Vue)
5. Testes
- [ ] Aprender testes unitários:
- Jest (para JavaScript/React)
- Testing Library (para testar componentes)
- [ ] Aprender testes end-to-end (E2E):
- [ ] Aprender técnicas de otimização de performance:
- Lazy loading
- Code splitting
- Minificação e compressão de arquivos
- [ ] Entender métricas de performance:
- Core Web Vitals (LCP, FID, CLS)
- [ ] Aprender a usar ferramentas de análise:
- Lighthouse
- Chrome DevTools
7. TypeScript
- [ ] Aprender TypeScript:
- Tipos básicos
- Interfaces e tipos genéricos
- Integração com React/Vue
8. Ferramentas Modernas
- [ ] Aprender CSS-in-JS (Styled Components, Emotion) ou Utility-first CSS
(Tailwind CSS)
- [ ] Aprender GraphQL para consultas de API
- [ ] Explorar Server-Side Rendering (SSR) e Static Site Generation (SSG):
- Next.js (React) ou Nuxt.js (Vue)
9. Boas Práticas e Padrões
- [ ] Aprender padrões de código limpo (Clean Code)
- [ ] Entender princípios SOLID
- [ ] Aprender sobre arquitetura de projetos:
- Atomic Design
- Component-driven development
10. Projetos Práticos
- [ ] Criar projetos para praticar:
- Portfolio pessoal
- E-commerce básico
- Aplicação com autenticação e API
- [ ] Contribuir para projetos open source no GitHub
11. Acompanhar Novidades
- [ ] Seguir blogs, newsletters e canais de front-end
- [ ] Participar de comunidades (GitHub, Discord, Reddit)
- [ ] Acompanhar atualizações de frameworks e ferramentas
- Foque em aprender fazendo. Crie projetos reais para consolidar o conhecimento.
- Não tente aprender tudo de uma vez. Siga o roadmap passo a passo.
- Revise conceitos antigos regularmente para fixar o aprendizado.