
Capítulo 1: Introdução ao Next.js
-
O que é Next.js?
- Visão geral do Next.js e seus recursos.
- Por que escolher Next.js em vez de outras estruturas?
- Aplicações reais do Next.js.
-
Pré-requisitos
- Conhecimento básico de JavaScript, React e Node.js.
- Software necessário (Node.js, npm/yarn).
- Configuração do ambiente de desenvolvimento (VS Code ou qualquer editor de sua preferência).
Capítulo 2: Configurando o Projeto Next.js
-
Instalando Next.js
- Criando um novo projeto Next.js com npx create-next-app.
- Visão geral da estrutura de diretórios.
- Usando TypeScript com Next.js.
-
Compreendendo a estrutura do arquivo
- Diretório de páginas e sistema de roteamento.
- Diretório público para ativos estáticos.
- Diretório API para rotas de back-end.
Capítulo 3: Construindo sua primeira página
-
Criando páginas
- Introdução à pasta Pages.
- Criação e vinculação de páginas.
- Navegando entre páginas com próximo/link.
-
Roteamento Dinâmico
- Criando rotas dinâmicas com [param].
- Roteamento aninhado e seus casos de uso.
-
Compreendendo a pré-renderização
- Geração estática versus renderização no lado do servidor.
- Como usar getStaticProps e getServerSideProps.
Capítulo 4: Estilo em Next.js
-
Módulos CSS
- Como usar módulos CSS para estilo com escopo definido.
- Gerenciamento de CSS global.
-
Componentes estilizados
- Configurando componentes estilizados em Next.js.
- Gerenciamento de temas.
-
Usando Sass com Next.js
- Instalando e configurando o Sass.
- Práticas recomendadas para usar Sass em um projeto Next.js.
Capítulo 5: Buscando dados em Next.js
-
Busca de dados do lado do cliente
- Usando fetch e axios para buscar dados no componente.
-
Busca de dados do lado do servidor
- Usando getServerSideProps para renderização no lado do servidor.
-
Busca de dados estáticos
- Usando getStaticProps e getStaticPaths para geração estática.
- Regeneração Estática Incremental (ISR) para conteúdo dinâmico.
Capítulo 6: Rotas de API em Next.js
-
Criando rotas de API
- Visão geral do diretório API.
- Criando APIs RESTful simples.
-
Tratamento de solicitações de API
- Noções básicas sobre objetos de solicitação e resposta.
- Tratamento de erros e códigos de resposta.
Capítulo 7: Usando Next.js com um CMS
-
Configurando um CMS
- Por que usar um CMS com Next.js?
- Integração com opções populares de CMS (WordPress, Contentful, Sanity, etc.).
-
Buscando dados CMS em Next.js
- Como conectar seu CMS ao Next.js.
- Gerenciamento de conteúdo dinâmico com um CMS.
Capítulo 8: Next.js e autenticação
-
Implementando Autenticação
- Estratégias de autenticação em Next.js.
- Uso de tokens JWT, cookies e gerenciamento de sessão.
-
Autenticação de terceiros
- Configurando provedores OAuth (Google, GitHub).
- Usando bibliotecas como NextAuth.js para autenticação.
Capítulo 9: Otimizando o Desempenho
-
Otimização de imagem
- Usando o componente Next.js Image para imagens otimizadas.
- Imagens de carregamento lento.
-
Otimização de script
- Compreendendo o componente Next.js Script.
- Adiar e carregar script assíncrono.
-
Divisão de código e carregamento lento
- Como Next.js lida com a divisão de código automaticamente.
- Implementação de importações dinâmicas para melhor desempenho.
Capítulo 10: SEO em Next.js
-
Compreendendo o SEO em Next.js
- Importância do SEO para aplicativos Next.js.
-
Meta tags e gráfico aberto
- Usando next/head para tags SEO.
- Configurando tags Open Graph e Twitter Card.
-
Gerando Sitemaps e Robots.txt
- Criando sitemaps dinâmicos.
- Usando robots.txt para rastreadores.
Capítulo 11: Implantando Next.js
-
Plataformas de implantação
- Vercel: a plataforma recomendada para Next.js.
- Outras plataformas: AWS, Netlify e DigitalOcean.
-
Implantando no Vercel
- Guia passo a passo para implantar seu aplicativo no Vercel.
-
Configurando para produção
- Variáveis de ambiente em Next.js.
- Práticas recomendadas para um aplicativo Next.js pronto para produção.
Capítulo 12: Configuração e Personalização Avançadas
-
Personalizando a configuração do Webpack
- Usando next.config.js para configuração avançada.
- Adicionando carregadores e plug-ins Webpack personalizados.
-
Servidor personalizado
- Quando usar um servidor personalizado.
- Implementando um servidor personalizado com Express.
Capítulo 13: Gerenciamento de estado em Next.js
-
Introdução à Gestão do Estado
- Quando e por que usar o gerenciamento de estado em Next.js.
- Opções para gerenciamento de estado (React Context, Redux, Recoil, Zustand).
-
Usando a API React Context
- Configurando o estado global com React Context.
- Passando estado entre componentes.
-
Integrando Redux com Next.js
- Configurando Redux com Next.js.
- Tratamento de estado em ambientes do lado do servidor e do lado do cliente.
Capítulo 14: Teste em Next.js
-
Por que testar aplicativos Next.js?
- Importância dos testes e diferentes tipos de testes.
- Visão geral das ferramentas de teste (Jest, React Testing Library, Cypress).
-
Teste unitário com Jest
- Configurando o Jest em um projeto Next.js.
- Escrita de testes unitários para componentes e funções utilitárias.
-
Teste de integração com biblioteca de testes React
- Testando componentes e páginas com React Testing Library.
- Simulação de busca de dados e chamadas de API.
Conclusão
-
Considerações Finais
- Resumo das principais conclusões.
- Recursos para aprendizagem adicional.
- Incentivando os leitores a explorar e experimentar o Next.js.
Para um aprendizado mais aprofundado, continue sua jornada aqui.