Explorando Web Workers e Apps Offline no HTML Moderno
Debugging JavaScript: Ferramentas Cruciais no DevTools
Imagine que você escreveu algumas linhas de JavaScriptIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. para animar um botão em seu site. Tudo parecia simples, mas, na hora de testar, nada funciona como o esperado. Nesse momento, entra em cena uma das etapas mais importantes no desenvolvimento: o debugging. Saber como identificar a raiz de um problema e corrigi-lo de maneira eficiente pode fazer toda a diferença no seu aprendizado e na qualidade do seu código.
Neste tutorial, vamos explorar de forma narrativa e prática como aproveitar as Ferramentas de DesenvolvimentoEditores de Código e Ferramentas de DesenvolvimentoDescubra como escolher editores de código e utilizar DevTools para melhorar a criação e depuração de páginas HTML de forma prática e eficiente. do Navegador para investigar, analisar e corrigir problemas no seu código JavaScript
Introdução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente..
Visão Geral do Debugging🔗
O processo de debugging envolve detectar, diagnosticar e corrigir comportamentos indesejados em um programa. Em JavaScriptIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente., muitas vezes contamos com:
- Mensagens no Console: Exibir informações sobre o estado do programa.
- Breakpoints
Media Queries: Breakpoints e AbordagensDescubra como utilizar media queries para criar layouts responsivos. Aprenda sobre breakpoints, mobile-first e desktop-first e otimize a experiência digital. (Pontos de Interrupção): Parar o código em linhas específicas para inspecionar variáveis
Pré-processadores (SASS/SCSS): Variáveis, Mixins, NestingAprenda a manter seu CSS de forma otimizada com SASS/SCSS utilizando variáveis, mixins e nesting para um código limpo e produtivo..
- Ferramentas de Rede (Network): Verificar requisições e respostas HTTP.
- Performance: Analisar o consumo de recursos e tempos de carregamento.
- Application / Storage: Monitorar armazenamento local
APIs do HTML5: Geolocalização e LocalStorageEste tutorial ensina como usar as APIs de Geolocalização e LocalStorage do HTML5 para aprimorar a interatividade e persistência de dados em sites web., cookies e sessão.
Esses recursos fazem parte das Ferramentas de DesenvolvimentoEditores de Código e Ferramentas de DesenvolvimentoDescubra como escolher editores de código e utilizar DevTools para melhorar a criação e depuração de páginas HTML de forma prática e eficiente. providas pelos navegadores modernos, como Google Chrome, Mozilla Firefox, Microsoft Edge, entre outros.
Explorando o Console🔗
Quando o comportamento do código não está claro, a primeira ferramenta que muitos desenvolvedores utilizam é o Console. Nesse painel, podemos:
1. Exibir valores usando funçõesFunções e Escopo no JavaScriptAprenda a utilizar funções e escopos em JavaScript com nosso guia prático. Melhore sua organização de código e evolua seus projetos com boas práticas. como
console.log()
, console.warn()
ou console.error()
. Por exemplo:
console.log("Valor da variável:", minhaVariavel);
console.warn("Esta é uma mensagem de aviso!");
console.error("Este é um erro de exemplo!");
2. Ler mensagens de erro emitidas pela execução do JavaScriptIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente.. Se o navegador detectar problemas de sintaxe ou referência, ele notifica diretamente no console.
3. Executar testes rápidos: podemos digitar comandos na própria aba Console do navegador para inspecionar ou manipular o DOMIntrodução ao DOM e Seleção de ElementosDescubra como o DOM transforma o HTML em uma árvore de objetos. Aprenda a selecionar e manipular elementos com métodos JavaScript para páginas dinâmicas. em tempo real.
Essa é a forma mais simples de debug, pois permite verificar se o valor de variáveis, parâmetrosFunções e Escopo no JavaScriptAprenda a utilizar funções e escopos em JavaScript com nosso guia prático. Melhore sua organização de código e evolua seus projetos com boas práticas. e retornos de funções está coerente com o esperado.
Utilizando Breakpoints🔗
Muitas vezes, apenas imprimir valores não é suficiente para encontrar a fonte de um problema mais complexo. Nesse caso, podemos definir breakpointsMedia Queries: Breakpoints e AbordagensDescubra como utilizar media queries para criar layouts responsivos. Aprenda sobre breakpoints, mobile-first e desktop-first e otimize a experiência digital.:
1. Abra o DevToolsEditores de Código e Ferramentas de DesenvolvimentoDescubra como escolher editores de código e utilizar DevTools para melhorar a criação e depuração de páginas HTML de forma prática e eficiente.: normalmente pressionando a tecla F12 ou clicando com o botão direito na página e selecionando “Inspecionar”.
2. Navegue até a aba Sources (no Chrome) ou equivalente em outros navegadores.
3. Abra seu arquivo JavaScriptIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente., localize a linha que deseja inspecionar.
4. Clique no número da linha para criar um breakpointMedia Queries: Breakpoints e AbordagensDescubra como utilizar media queries para criar layouts responsivos. Aprenda sobre breakpoints, mobile-first e desktop-first e otimize a experiência digital..
Quando seu código chegar ao breakpointMedia Queries: Breakpoints e AbordagensDescubra como utilizar media queries para criar layouts responsivos. Aprenda sobre breakpoints, mobile-first e desktop-first e otimize a experiência digital., ele pausará a execução naquele ponto. A partir daí, você poderá:
- Inspecionar variáveis
Pré-processadores (SASS/SCSS): Variáveis, Mixins, NestingAprenda a manter seu CSS de forma otimizada com SASS/SCSS utilizando variáveis, mixins e nesting para um código limpo e produtivo.: verificar os valores atuais delas.
- Step Over (F10): avançar para a próxima linha de execução.
- Step Into (F11): entrar em funções
Funções e Escopo no JavaScriptAprenda a utilizar funções e escopos em JavaScript com nosso guia prático. Melhore sua organização de código e evolua seus projetos com boas práticas. chamadas naquela linha para ver o que ocorre internamente.
- Step Out (Shift + F11): sair de uma função
Funções e Escopo no JavaScriptAprenda a utilizar funções e escopos em JavaScript com nosso guia prático. Melhore sua organização de código e evolua seus projetos com boas práticas. e retornar ao contexto anterior.
Esse métodoClasses e Herança em ES6+Aprenda a dominar classes e herança em ES6+: escreva códigos JavaScript claros e eficientes com métodos, getters e setters. passo a passo possibilita analisar cada detalhe do fluxo lógico do seu programa.
A Instrução "debugger"🔗
Além de configurar breakpointsMedia Queries: Breakpoints e AbordagensDescubra como utilizar media queries para criar layouts responsivos. Aprenda sobre breakpoints, mobile-first e desktop-first e otimize a experiência digital. manualmente nas ferramentas, o JavaScript tem a palavra-chave
debugger
. Se inserida no meio do código, ela irá forçar a parada do fluxo na linha especificada, exatamente como um breakpointMedia Queries: Breakpoints e AbordagensDescubra como utilizar media queries para criar layouts responsivos. Aprenda sobre breakpoints, mobile-first e desktop-first e otimize a experiência digital.. Por exemplo:
function calculaDesconto(preco, porcentagem) {
const desconto = (preco * porcentagem) / 100;
debugger; // A execução irá pausar aqui
return preco - desconto;
}
Ao executar o trecho acima com o DevToolsEditores de Código e Ferramentas de DesenvolvimentoDescubra como escolher editores de código e utilizar DevTools para melhorar a criação e depuração de páginas HTML de forma prática e eficiente. aberto, o navegador interromperá a execução no ponto em que encontrar a instrução
debugger
.
Monitorando Requisições e Respostas (Network)🔗
Quando nosso código depende de requisições externas (por exemplo, para buscar dados de uma APIConsumindo APIs com Fetch e AxiosDescubra como integrar APIs com Fetch e Axios em JavaScript. Aprenda a fazer requisições HTTP, tratar erros e usar métodos GET e POST com exemplos práticos.), é comum precisarmos verificar se a chamada foi bem-sucedida. Na aba Network, você pode:
- Ver a lista
Listas Ordenadas e Não Ordenadas: `<ul>`, `<ol>`, `<li>`Aprenda a criar listas ordenadas e não ordenadas em HTML. Descubra exemplos práticos e boas práticas para organizar conteúdos e facilitar a compreensão. de requisições feitas pela página (CSS, JS, APIs
Consumindo APIs com Fetch e AxiosDescubra como integrar APIs com Fetch e Axios em JavaScript. Aprenda a fazer requisições HTTP, tratar erros e usar métodos GET e POST com exemplos práticos. etc.).
- Verificar status code (200, 404, 500, entre outros).
- Conferir tempo de carregamento e tamanho da resposta.
- Ver headers enviados e recebidos.
- Visualizar dados retornados em formatos como JSON
Trabalhando com JSON e LocalStorageAprenda a manipular JSON e utilizar LocalStorage para persistir dados, otimizar a experiência do usuário e desenvolver aplicações web interativas..
Se algo estiver dando errado no carregamento de recursos, a seção Network geralmente é o primeiro lugar a investigar.
Analisando Performance🔗
Se você percebe que seu site está lento ou travando, as Ferramentas de DesenvolvimentoEditores de Código e Ferramentas de DesenvolvimentoDescubra como escolher editores de código e utilizar DevTools para melhorar a criação e depuração de páginas HTML de forma prática e eficiente. contam com uma aba de Performance (ou Performance Monitor). Você consegue:
- Identificar gargalos do JavaScript
Introdução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. que podem estar causando bloqueios.
- Observar a linha do tempo de eventos: quando o layout é recalculado, quando o JavaScript
Introdução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. é executado, etc.
- Medir FPS (frames por segundo), tempo de respostas e uso de CPU.
Esse diagnóstico detalhado oferecerá insights sobre como otimizar seu código ou o próprio layout da página.
Outras Sessões Úteis do DevTools🔗
- Application (ou Storage): Permite checar Local Storage
Trabalhando com JSON e LocalStorageAprenda a manipular JSON e utilizar LocalStorage para persistir dados, otimizar a experiência do usuário e desenvolver aplicações web interativas., Session Storage
Armazenamento e Cookies no NavegadorDescubra como utilizar Local Storage, Session Storage e Cookies para armazenar dados no navegador. Garanta agilidade, segurança e personalização em sites., IndexedDB, Cookies e outros dados armazenados no navegador.
- Elements (ou Inspected Element): Foca no HTML
O que é HTML? Fundamentos, História e Evolução da LinguagemDescubra a origem e evolução do HTML, entendendo sua importância na estrutura da web e como influenciou o desenvolvimento digital moderno. e CSS
O que é CSS?Descubra como o CSS transforma a aparência das páginas web, separando conteúdo de design para melhor organização e flexibilidade. da página. Embora seja mais voltado a estilização, também pode mostrar listeners de eventos JavaScript
Introdução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. associados a elementos do DOM.
- Security: Mostra detalhes de certificados SSL, conteúdo misto (HTTP vs HTTPS), entre outros aspectos de segurança.
Tabela Resumo🔗
Função | Descrição |
---|---|
Console | Exibe mensagens, erros, avisos e possibilita executar comandos no DevTools. |
Breakpoints | Pausa a execução do código em linhas específicas para análise detalhada. |
Instrução debugger | Força uma pausa na execução sem necessidade de configurar manualmente um breakpoint. |
Aba Network | Mostra requisições HTTP, status, tempos de carregamento e detalhes de resposta. |
Aba Performance | Coleta e exibe métricas de desempenho (tempo de execução, renderização e uso de CPU). |
Aba Application | Monitora Local Storage, Session Storage, service workers e cookies. |
Conclusão🔗
O debugging e o uso das Ferramentas de DesenvolvimentoEditores de Código e Ferramentas de DesenvolvimentoDescubra como escolher editores de código e utilizar DevTools para melhorar a criação e depuração de páginas HTML de forma prática e eficiente. do Navegador são caminhos fundamentais para quem trabalha com JavaScript
Introdução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. e deseja criar aplicações robustas. Com a combinação de Console, Breakpoints
Media Queries: Breakpoints e AbordagensDescubra como utilizar media queries para criar layouts responsivos. Aprenda sobre breakpoints, mobile-first e desktop-first e otimize a experiência digital. e demais recursos, você terá uma visão muito mais clara de como seu código se comporta em tempo real.
Sempre que você se deparar com um bug ou comportamento estranho, lembre-se: erros acontecem, e a solução pode estar a apenas alguns cliques no DevTools. Ao treinar seu olhar para analisar logs, definir breakpointsMedia Queries: Breakpoints e AbordagensDescubra como utilizar media queries para criar layouts responsivos. Aprenda sobre breakpoints, mobile-first e desktop-first e otimize a experiência digital. e monitorar requisições e performance, você se tornará cada vez mais eficiente na identificação e correção de problemas em seus projetos.
A melhor forma de aprender é praticando: abra uma página HTML simples, adicione um arquivo JavaScriptIntrodução ao JavaScript e Configuração do AmbienteDescubra neste tutorial narrativo como configurar seu ambiente de desenvolvimento e começar a programar em JavaScript de maneira prática e eficiente. com alguma lógica e exercite cada uma dessas etapas de debug nas Ferramentas de Desenvolvimento
Editores de Código e Ferramentas de DesenvolvimentoDescubra como escolher editores de código e utilizar DevTools para melhorar a criação e depuração de páginas HTML de forma prática e eficiente.. Você perceberá rapidamente como essa habilidade faz toda a diferença no seu dia a dia como desenvolvedor!
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.
Referências🔗
- Documentação oficial do MDN: developer.mozilla.org/pt-BR/docs/Web/JavaScript
- ECMAScript® Language Specification: tc39.es/ecma262/