Pular para o conteúdo
Início
Docs/Dev Browser

Dev Browser

O Dev Browser mostra suas páginas web em tela cheia, no WebView do sistema do seu dispositivo, com sete painéis DevTools (Console, Rede, Armazenamento, Elementos, CSS, Desemp. e Auditoria), 21 perfis de dispositivo, histórico, favoritos e capturas de tela. Funciona igual no Grátis e no Pro.

O que é e como abrir

É uma janela em tela cheia que cobre tudo, inclusive a barra de navegação inferior. Tem uma barra de endereço no alto, sua página embaixo e, quando você pede, um painel DevTools. Há uma única visualização de página: sem abas, sem modo anônimo e sem janelas pop-up. O editor o chama de DevBrowser; na página Editor, o botão dele é descrito como Abrir no navegador.

Formas de abrir

Onde você estáO que você tocaEndereço que abre
A página Editor (a das abas de arquivos)O ícone de globo no cabeçalho. Não tem texto visível: os leitores de tela o chamam de Abrir no navegador. Só aparece com um arquivo HTML, CSS, JavaScript ou TypeScript aberto (não externo) e fica cinza até o servidor local do projeto estar em execução.http://localhost:<porta>/<caminho do arquivo aberto>, com a porta que o servidor realmente obteve
O editor em tela cheiaO ícone de globo (DevBrowser) na barra superior, em qualquer arquivo, exceto Markdown e arquivos externos.http://localhost:<porta>/<caminho do arquivo no projeto>, com a porta do servidor local que está em execução
O menu ou a paleta de comandos do editorAbrir no DevBrowser, na seção Ferramentas, grupo Executar (ou busque por ele), em qualquer arquivo, exceto Markdown.http://localhost:<porta>/<caminho do arquivo no projeto>, com a porta do servidor local que está em execução
O painel Executar do editor, depois de executar um .htmlO chip Abrir no DevBrowserO mesmo endereço no servidor local: o caminho file:// que o runner imprime vira http://localhost:<porta>/<caminho do arquivo no projeto>
O ícone de globo do editor em tela cheia, o comando Abrir no DevBrowser e o chip do painel Executar perguntam ao app qual porta o servidor local realmente obteve (de 8765 a 8774), então chegam aos seus arquivos mesmo que outra coisa use a 8765. Se ainda não houver servidor local em execução, voltam para a 8765, onde ninguém responde: abra antes o projeto na página Editor, porque é isso que inicia o servidor.

O servidor local por trás da pré-visualização

  • Ao abrir um projeto na página Editor, um pequeno servidor HTTP para a pasta dele é iniciado sozinho; não há botão para iniciá-lo nem para pará-lo. Ele usa a primeira porta livre de 8765 a 8774 e escuta apenas em 127.0.0.1.
  • É um servidor estático: envia os arquivos do seu projeto, o index.html de uma pasta ou uma listagem de pasta, com Cache-Control: no-cache, no-store, must-revalidate, e nunca executa código de servidor.
  • Toda requisição precisa da credencial do servidor. O Dev Browser a adiciona por você, então suas páginas carregam; qualquer outra coisa que chegue ao servidor recebe 401 Unauthorized.
  • Seus próprios arquivos carregam sem conexão. O que sua página pedir à Internet (scripts de CDN, fontes, APIs) continua precisando de uma.

Como a janela se comporta

  • Não há botão de fechar nem atalho de teclado. Use o gesto ou o botão de voltar do sistema: ele volta primeiro pelo histórico da página e só fecha o Dev Browser quando não resta nenhum.
  • Fechá-lo não faz você perder o lugar. Ao abri-lo de novo com o mesmo endereço, a página volta e o console é mantido. Ao abri-lo com outro endereço, o console, a rede, o armazenamento, o DOM, o CSS, as métricas e a auditoria começam vazios; seu perfil de dispositivo, se o DevTools está visível, o histórico e os favoritos são mantidos.
  • Girar o dispositivo mantém a aba do DevTools, as caixas de diálogo abertas e a divisão entre página e painel. Na horizontal, a barra de status se oculta; deslize para trazê-la de volta.
  • O painel DevTools começa oculto.

Você não pode, e por quê

  • Abri-lo pelo painel Ferramentas, pela paleta de comandos global, pelo Início, pelas Configurações ou por um deep link: é uma ferramenta do editor, não um módulo próprio.De propósito
  • Ter várias páginas abertas: não há abas, nem modo anônimo, nem janelas pop-up.De propósito

Mapa de telas

Uma linha para cada tela, painel e caixa de diálogo do Dev Browser. Cada uma é explicada nas seções abaixo.

TelaComo chegarO que você pode fazer
Barra de endereçoSempre no alto.Digitar um endereço ou uma pesquisa, recarregar ou parar, abrir o DevTools, abrir o menu.
Menu do navegadorMenu do navegador (⋮) na barra de endereço.Voltar, avançar, localizar, capturas, dispositivo, histórico, favoritos, navegador do sistema, limpar cache.
Localizar na páginaMenu → Localizar na página.Buscar o texto da página e pular entre as ocorrências.
A páginaAbaixo da barra de endereço.Usar a página, dar zoom com os dedos, escolher arquivos para envio, copiar erros de carregamento.
Perfis de dispositivoMenu → Perfil de dispositivo.Emular o tamanho e o User-Agent de um celular, tablet ou desktop; girá-lo.
Histórico e FavoritosMenu → Histórico ou Favoritos.Reabrir páginas, excluir favoritos, limpar o histórico.
Adicionar MarcadorMenu → Adicionar favorito.Salvar a página atual com título e endereço editáveis.
Limpar cacheMenu → Limpar cache.Limpar o cache, os cookies e o armazenamento do site depois de confirmar.
Capturas de telaMenu → Tirar captura ou Captura (página completa).Salvar um PNG da parte visível ou da página inteira.
Painel DevToolsO botão </> (Ferramentas de desenvolvimento).Mostrar ou ocultar os sete painéis e redimensioná-los.
ConsoleDevTools → Console.Ler e filtrar as mensagens da página, executar JavaScript.
RedeDevTools → Rede.Ver as requisições da página com status, tamanho e duração; abrir o detalhe de uma.
ArmazenamentoDevTools → Armazenamento.Ver, copiar e excluir localStorage, sessionStorage e cookies.
ElementosDevTools → Elementos.Ler a árvore DOM, escolher um elemento na página, copiar o seletor dele, destacá-lo.
CSSDevTools → CSS.Aplicar seu próprio CSS à página e ler as regras da página.
DesempenhoDevTools → Desemp.Ler tempos de carregamento, Core Web Vitals e estatísticas da página.
AuditoriaDevTools → Auditoria.Executar a verificação local de qualidade do PocketCode (47 testes em cinco categorias).
Recarga automáticaNão há nada para tocar.A página recarrega quando o agente de IA grava um arquivo que a afeta.
Ferramentas do agente de IAChat IA.O agente abre, lê, clica, digita, audita e captura a página aberta.

Navegar por uma página

A barra de endereço fica sempre no alto e a página ocupa o resto da janela. Todo o resto está no Menu do navegador.

Barra de endereço

Toque no chip do endereço para editá-lo. O chip mostra o endereço sem https://, http://, www. nem a / final, com um cadeado nas páginas HTTPS e um globo nas demais. Uma barra de progresso embaixo dele se enche conforme a página carrega, com uma porcentagem real quando a página a informa.

Você pode

  • Digite um endereço ou uma pesquisa em Pesquisar ou digitar URL e toque na tecla Ir do teclado; o X (Cancelar) para de editar.
  • Recarregue com Recarregar; enquanto uma página carrega, o mesmo botão vira Parar.
  • Abra ou feche o painel DevTools com o botão </> (Ferramentas de desenvolvimento). Um selo vermelho conta os erros do console e para de contar em 99+.
  • Abra o Menu do navegador (⋮).

Você não pode, e por quê

  • Carregar endereços file://, content://, data:, javascript:, intent:, mailto: ou tel:: digitados na barra, viram uma pesquisa no Google.De propósito
  • Escolher outro buscador: o texto que não é um endereço é sempre pesquisado no Google.De propósito
  • Abrir endereços http:// simples da sua rede local (por exemplo http://192.168.1.20): a política de rede do app só permite HTTP sem criptografia para localhost, 127.0.0.1 e 10.0.2.2. Use HTTPS ou um túnel.Precisa de rede

O que acontece com o que você digita

Você digitaO Dev Browser carrega
http://… ou https://…O endereço como foi digitado.
Qualquer outro esquema (file://, data:, javascript:, mailto:…)Uma pesquisa no Google pelo texto.
localhost…, um endereço IPv4 ou host:portaO mesmo texto com http:// na frente.
Texto com um ponto, como example.comO mesmo texto com https:// na frente.
Qualquer outra coisaUma pesquisa no Google (https://www.google.com/search?q=…).

Menu do navegador

O botão ⋮ o abre. Estes são os 11 itens dele, nesta ordem.

ItemO que faz
VoltarVolta no histórico da página. Fica cinza quando não há para onde ir.
AvançarAvança no histórico da página. Fica cinza quando não há para onde ir.
Localizar na páginaAbre a barra de busca abaixo da barra de endereço.
Tirar capturaSalva a parte visível da página como PNG.
Captura (página completa)Salva a página inteira como um único PNG.
Perfil de dispositivoAbre o seletor de dispositivo.
HistóricoAbre a lista de páginas que você visitou.
FavoritosAbre seus favoritos.
Adicionar favoritoSalva a página atual como favorito.
Abrir no navegador do sistemaAbre o endereço atual no seu navegador padrão. Só para http e https; se não for possível abrir, o endereço aparece em um aviso vermelho.
Limpar cacheLimpa o cache, os cookies e o armazenamento do site, depois de você confirmar.

Localizar na página

Abre abaixo da barra de endereço quando você escolhe Localizar na página no menu.

Você pode

  • Digite o texto em Localizar na página: ele busca enquanto você digita, marca as ocorrências na página e mostra quantas há.
  • Pule para a próxima ou a anterior com Próxima e Anterior; a tecla Pesquisar do teclado também vai para a próxima.
  • Feche com Fechar; isso limpa a busca.

Você não pode, e por quê

—

A página

A página roda no WebView do sistema, com JavaScript e armazenamento DOM ativados.

Você pode

  • Use a página como de costume: role, toque, digite e dê zoom com os dedos.
  • Escolha arquivos para um campo de envio de arquivo com o seletor de arquivos do sistema.
  • Veja as caixas alert e confirm da própria página.
  • Leia os erros de carregamento em um aviso vermelho que você pode copiar: a mensagem do próprio WebView, HTTP <código> <motivo> quando a própria página responde com 400 ou mais, ou WebView render process crashed. Reload the page. Uma falha do processo de renderização da página não fecha o PocketCode.

Você não pode, e por quê

  • Seguir links com outros esquemas (tel:, mailto:, intent:, file:…): são ignorados, sem nenhuma mensagem.De propósito
  • Carregar conteúdo HTTP dentro de uma página HTTPS (conteúdo misto).De propósito
  • Continuar com um certificado TLS inválido, entrar com autenticação HTTP básica ou apresentar um certificado de cliente: a requisição é cancelada. Só as autoridades certificadoras do sistema são confiáveis.De propósito
  • Deixar uma página usar a câmera, o microfone ou sua localização: são sempre negados, e o Console mostra um aviso (Warning).De propósito
  • Baixar arquivos dentro do app: um link de download abre no navegador do sistema.De propósito
  • Abrir janelas pop-up.De propósito

Dispositivo e viewport

Escolha um dispositivo para ver como uma página aparece e se comporta nesse tamanho. Um perfil muda só duas coisas: o tamanho do viewport e o User-Agent que a página recebe.

  • A visualização da página usa a largura e a altura do perfil em pixels CSS. Se não couber na tela, ela é reduzida visualmente (os toques também são escalados), como no modo de dispositivo do Chrome.
  • O lado maior do viewport nunca passa de 1.600 pixels CSS: perfis maiores mantêm suas proporções dentro desse limite (o Desktop 4K, por exemplo, aparece em 1.600 × 900).
  • O User-Agent corresponde à família: Safari no iOS para os perfis de iPhone e iPad, Chrome no Android para os celulares e tablets Android, Chrome no Windows ou no Mac para os desktops.
  • A proporção de pixels mostrada ao lado de cada tamanho (como 2.625x) é só texto: não é aplicada à página.
  • Escolher um perfil recarrega a página quando há uma carregada. Responsivo remove o tamanho fixo, então a página preenche a área, mas mantém um User-Agent de Chrome no Android. Antes de escolher qualquer coisa, não há nenhuma emulação.

Você pode

  • Abra Perfil de dispositivo no menu. A caixa de diálogo se chama Perfis de dispositivo e abre no grupo do seu perfil atual.
  • Alterne entre Mobile, Tablet e Desktop.
  • Escolha Responsivo (Adapta-se ao tamanho do contêiner) ou um dos 21 perfis; o ativo é marcado com um visto (os leitores de tela leem Selecionado).
  • Gire 90° um perfil de celular ou de tablet com Girar dispositivo; a caixa de diálogo se fecha.

Você não pode, e por quê

  • Girar um perfil de desktop.De propósito
  • Passar de 1.600 pixels CSS no lado maior, seja qual for o perfil: a página deixaria de responder bem.De propósito

Os 21 perfis

GrupoPerfis (pixels CSS)
Mobile (7, giráveis)iPhone 15 Pro 393×852 · iPhone 15 Pro Max 430×932 · iPhone SE 375×667 · Google Pixel 8 412×915 · Google Pixel 8 Pro 448×998 · Samsung Galaxy S24 360×780 · Samsung Galaxy S24 Ultra 412×915
Tablet (6, giráveis)iPad Pro 11" 834×1194 · iPad Pro 13" 1024×1366 · iPad Air 820×1180 · iPad Mini 744×1133 · Google Pixel Tablet 1080×1920 · Samsung Galaxy Tab S9 1600×2560
Desktop (8, não giráveis)Desktop 1080p 1920×1080 · Desktop 1440p (2K) 2560×1440 · Desktop 4K 3840×2160 · Laptop (1366x768) · MacBook Pro 14" 1512×982 · MacBook Pro 16" 1728×1117 · iMac 24" 2240×1260 · Ultrawide (3440x1440)

O painel DevTools

Toque no botão </> (Ferramentas de desenvolvimento) na barra de endereço para mostrar ou ocultar o painel. Ele começa oculto.

  • Na vertical, o painel fica abaixo da página; na horizontal (quando a tela é mais larga do que alta), fica à direita.
  • Arraste a alça entre a página e o painel para redimensioná-lo: a página mantém entre 25% e 80% do espaço, 55% por padrão.
  • São sete abas. Só a selecionada mostra o nome, para que todas caibam.
  • Armazenamento, Elementos, CSS e Desemp. leem a página de novo toda vez que você as seleciona, desde que haja uma página carregada. Rede completa os tempos das requisições quando você a abre. Auditoria só executa quando você toca em Executar auditoria.
  • Em Rede, Armazenamento e Elementos, o detalhe de uma linha abre abaixo da lista, dentro do painel, para que a página continue visível. Tem um título, abas opcionais, algumas ações e Fechar, e rola quando é longo.

As sete abas

AbaO que mostra
ConsoleO que a página registra no log, mais uma linha para executar JavaScript.
RedeAs requisições que a página faz, com status, tamanho e duração.
ArmazenamentoO localStorage, o sessionStorage e os cookies da página.
ElementosA árvore DOM, com um seletor de elementos.
CSSUm editor de CSS e as regras da própria página.
Desemp.Tempos de carregamento, Core Web Vitals e estatísticas da página.
AuditoriaUma verificação local de qualidade com 47 testes.

Você não pode, e por quê

  • Definir breakpoints, conectar o DevTools remoto do Chrome (chrome://inspect), usar extensões do navegador, ou inspecionar IndexedDB, Cache Storage, service workers e o manifesto web: o motor é o WebView do sistema, o app não ativa a depuração remota e esses sete painéis são tudo o que existe.Dispositivo

Console

Mostra as mensagens console.* da página com o nível e o texto e, quando a página os fornece, a hora, o arquivo e a linha. Também mostra alguns avisos do app: permissões negadas, um problema de leitura do armazenamento e a recarga automática.

Você pode

  • Filtre por nível com os quatro chips (erro, aviso, info, depuração). Cada um mostra sua contagem; toque de novo para remover o filtro. Não há chip para um console.log simples: você os vê quando nenhum filtro está ativo. O número à direita é quantas mensagens estão listadas.
  • Esvazie o console com o ícone de lixeira (Limpar).
  • Execute JavaScript no frame principal da página: digite em Avaliar JavaScript… e toque em Executar. O comando e seu resultado (cortado em 2.000 caracteres) são adicionados como mensagens comuns, então os filtros se aplicam a eles.
  • Traga de volta comandos anteriores com Comando anterior: ele percorre os comandos em ciclo e nunca repete o mesmo comando duas vezes seguidas.
  • Copie uma mensagem mantendo o texto dela pressionado.
  • As mensagens novas rolam para a vista só se você já estava no fim da lista.

Você não pode, e por quê

  • Ver mais do que as últimas 1.000 mensagens: as mais antigas são descartadas. Navegar não esvazia o console, mas abrir o Dev Browser em outro endereço, sim.De propósito

Rede

Uma lista das requisições que a página faz, cada uma com uma letra para o tipo (D documento, C folha de estilo, J script, I imagem, F fonte ou fetch, X XHR, M mídia, ? outro), o nome do arquivo, o status, o tamanho, a duração e uma barra que compara a duração com a da mais lenta. Um resumo se lê como listed/total · KB · average ms. A lista é apenas observada: cada requisição é anotada quando o WebView a faz, sem bloqueá-la nem alterá-la, e o status, a duração, o tamanho e o tipo real são preenchidos depois, a partir de callbacks de erro e dos dados de Resource Timing da página, lidos quando uma página termina de carregar e quando você abre a aba. As únicas requisições que o próprio app faz são as ao servidor local do projeto, para adicionar a credencial dele.

Você pode

  • Filtre por tipo com os chips All, Doc, CSS, JS, XHR (inclui fetch) e Img. Essas palavras ficam sempre em inglês.
  • Toque em uma requisição para abrir o detalhe dela abaixo da lista, com três abas: Geral (url, method, status, size, time, duration e error), Cabeçalhos da solicitação (os cabeçalhos que o WebView entrega) e Cabeçalhos da resposta.
  • Esvazie a lista com o ícone de lixeira (Limpar).

Você não pode, e por quê

  • Ver corpos de requisição ou de resposta, cabeçalhos de resposta ou o tipo MIME: a aba Cabeçalhos da resposta sempre mostra Nenhuma, porque nada preenche esses campos ainda.Ainda não
  • Dividir uma requisição em fases de DNS, TLS e espera: cada requisição tem uma só barra, porque o WebView não fornece esses tempos.Dispositivo
  • Manter a lista de uma página para a outra: ela é esvaziada a cada navegação da página principal (só o novo documento permanece) e guarda no máximo 1.000 requisições.De propósito
  • Contar com um status em toda requisição bem-sucedida: ele vem dos dados de Resource Timing da página, e quando o WebView não o informa a coluna mostra um traço. Os status de erro (400 e acima) sempre aparecem.Dispositivo

Armazenamento

Mostra o localStorage, o sessionStorage e os cookies da página em três seções (LOCAL STORAGE, SESSION STORAGE e COOKIES), cada uma com sua contagem, mais um contador geral n itens. Lê a página quando você abre a aba e com Atualizar. Serve para olhar, copiar e excluir; para criar ou alterar um valor, execute JavaScript no Console.

Você pode

  • Toque em uma linha para abrir a chave e o valor completos no detalhe abaixo da lista.
  • Toque em Copiar para copiar o valor (Copiado para a área de transferência confirma).
  • Toque em Excluir para remover só aquela chave.
  • Esvazie uma seção inteira com o ícone vermelho de limpar ao lado do título dela (Limpar).
  • Quando a página não tem nada, o painel diz Sem dados de armazenamento e sugere experimentar um site como google.com.

Você não pode, e por quê

  • Ver cookies HttpOnly nem os atributos de um cookie (domínio, validade, Secure, SameSite): o painel lê document.cookie, que os esconde dos scripts da página.De propósito
  • Excluir um cookie definido para outro caminho ou domínio: excluir um cookie o faz expirar com path=/.De propósito

Elementos

Uma árvore somente leitura do DOM da página, colorida com o tema do seu código. Cada linha mostra <tag id class …>, o texto dos nós folha e o número de filhos (filho / filhos). Abre com <html> expandido e os filhos dele também, exceto <head>; toque em uma linha para expandi-la ou recolhê-la. O cabeçalho conta os nós. É um instantâneo, lido quando você abre a aba ou toca em Atualizar DOM: não se atualiza sozinho, e aqui você não pode editar nós nem ler estilos computados e eventos.

Você pode

  • Toque no ícone de seletor (Selecionar um elemento na página) e depois toque em qualquer coisa da página. O cabeçalho diz Toca num elemento na página; seu próximo toque escolhe o elemento sem ativá-lo (nenhum link é seguido e nenhum formulário é enviado), a árvore abre nesse elemento, destaca-o na página e abre o detalhe dele abaixo da lista. Se o elemento estiver mais fundo do que o instantâneo alcança, escolhe-se o ancestral mais profundo que estiver lá.
  • Leia o instantâneo de novo com Atualizar DOM.
  • Abra o detalhe de um nó com o ícone (i) dele (Detalhes da entrada): o <tag>, o seletor CSS e o id, a class, os atributos e o text.
  • Toque em Copiar seletor para copiar um seletor posicional como html > :nth-child(2) > :nth-child(1); ele usa posições, não ids nem classes.
  • Toque em Destacar na página para contornar o elemento em laranja e rolá-lo até o centro. O contorno fica até você destacar outro nó ou recarregar.
  • Quando nada está carregado, o painel diz Sem árvore DOM e Carregue uma página e toque em atualizar.

Você não pode, e por quê

  • Ver o DOM inteiro: o instantâneo para na profundidade 10, com 100 filhos por nó (um nó … +N more representa o resto), 20 atributos por elemento, 500 caracteres de texto e 200 caracteres por valor de atributo. Só contém elementos (sem comentários) e não olha dentro de iframes nem de Shadow DOM.De propósito

CSS

Um pequeno editor que aplica CSS à página aberta e uma lista das regras da própria página. O CSS vive só na página: o painel nunca grava nos arquivos do seu projeto, então copie o que quiser para a sua folha de estilo.

Você pode

  • Escreva CSS no editor (Editor) e toque em Aplicar CSS: ele cria, ou atualiza, um elemento <style> com o id pocket-css-inject na página.
  • Remova o que você aplicou com Remover (só fica ativo enquanto há algo aplicado).
  • O último CSS que você aplicou é aplicado de novo depois de cada carregamento, recarga e navegação, até para outro site, até você tocar em Remover. Ele se perde quando você abre o Dev Browser em outro endereço.
  • Passe para Regras (n) para ler as regras da página: o seletor, o número de propriedades, as três primeiras e de onde vem (o endereço da folha de estilo ou inline). Toque em uma regra para copiar as declarações dela para o editor; aplicá-las então sobrescreve a original em vez de editá-la no lugar.
  • Quando não há nada para listar, o painel diz Nenhuma regra CSS detectada.

Você não pode, e por quê

  • Ver mais de 200 regras, regras dentro de @media, @supports ou @keyframes, ou folhas de estilo que o navegador não deixa uma página ler: só as regras de nível superior são listadas, e as folhas ilegíveis são puladas sem mensagem.De propósito

Desempenho

Tempos de carregamento e estatísticas da página, lidos da API Performance da página. Toque em Atualizar para lê-los de novo. Não faz profiling de CPU nem de JavaScript e não tem throttling.

Você pode

  • Leia os cartões em CORE WEB VITALS: Primeira pintura (FP), Primeira pintura com conteúdo (FCP), DOM carregado (DCL) e Carregamento da página sempre; Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS) e Tempo de Bloqueio Total (TBT) quando o valor deles é maior que zero. Cada cartão é colorido como bom, precisa melhorar ou ruim segundo limites fixos (por exemplo, LCP 2.500 e 4.000 ms, CLS 0,1 e 0,25, TBT 200 e 600 ms).
  • Leia ESTATÍSTICAS DA PÁGINA: Nós DOM, Recursos e, quando o WebView os expõe, Heap JS e Transferido.
  • Leia a CASCATA DE RECURSOS (n): até 50 recursos com o tipo, os últimos 30 caracteres do nome e a duração.
  • Toque em Gravar: ele lê as métricas de novo a cada 1,5 segundo até você tocar em Parar. Não grava um trace; é uma atualização ao vivo.

Você não pode, e por quê

  • Ver os cartões de LCP, CLS e TBT quando o WebView não os informa: eles só aparecem quando o valor é maior que zero. O heap JS e o tamanho transferido também dependem do que o WebView expõe.Dispositivo

Auditoria

Uma estimativa local, não o Lighthouse. O PocketCode executa o próprio conjunto de 47 verificações como JavaScript dentro da página. Cada verificação recebe uma nota de 0 a 1 segundo limites fixos, e a nota de uma categoria é a média das suas verificações vezes 100. Não há Lighthouse, nem emulação de celular ou de rede, nem trace. Os nomes das verificações, os rótulos dos medidores e as palavras passed, warnings e failed ficam sempre em inglês.

Você pode

  • Toque em Executar auditoria (enquanto executa, lê Auditando…). A auditoria só executa quando você toca no botão. Antes da primeira execução, o painel diz Execute uma auditoria para analisar a qualidade da página e Analisa Desempenho, Acessibilidade, Boas Práticas, SEO e PWA.
  • Leia cinco medidores de 0 a 100 (Perf, A11y, BP, SEO e PWA; verde a partir de 90, laranja a partir de 50), o endereço auditado e quanto a auditoria levou, em milissegundos.
  • Leia o resumo (N passed, N warnings, N failed) e filtre com os chips Todas (n), passed, warnings e failed. Uma verificação passa com 0,9 ou mais, é um aviso de 0,5 até menos de 0,9 e falha abaixo de 0,5.
  • Recolha as categorias e abra uma verificação para ler o detalhe dela (até 8 linhas).
  • Toque de novo no botão, agora na barra superior, para medir outra vez.

Você não pode, e por quê

  • Obter notas comparáveis às do Lighthouse ou do PageSpeed Insights: são estimativas do próprio PocketCode, e algumas verificações olham só uma amostra da página (a profundidade do DOM lê os primeiros 150 elementos, o tamanho da fonte 100 e as áreas de toque 50).De propósito
  • Inspecionar um service worker: a verificação só detecta se algum controla a página.De propósito

As 47 verificações

CategoriaVerificações
Desempenho (12)First Contentful Paint · Largest Contentful Paint · Page Load Time · Time to First Byte · DOM Size · Maximum DOM Depth · Render-Blocking Resources · Minified JavaScript · Properly Sized Images · Resource Count · Total Transfer Size · Long Resource Loads
Acessibilidade (11)Image Alt Text · HTML lang Attribute · Document Title · Button Accessible Names · Link Accessible Names · Form Input Labels · Heading Hierarchy · Valid ARIA Roles · Tab Index Values · Landmark Regions · Valid List Structure
Boas práticas (9)HTTPS · Viewport Meta Tag · Document Type · Character Encoding · No Deprecated HTML · Safe Cross-Origin Links · Responsive Images · Image Aspect Ratio · No Mixed Content
SEO (9)Page Title · Meta Description · H1 Heading · Canonical URL · Structured Data · Robots Directives · Crawlable Links · Legible Font Sizes · Tap Target Size
PWA (6)Service Worker · Web App Manifest · HTTPS Required · Theme Color · Apple Touch Icon · App Icons

Histórico, favoritos e dados do site

O histórico, os favoritos e a caixa de diálogo do cache começam todos no Menu do navegador.

Histórico e Favoritos

Histórico e Favoritos abrem a mesma caixa de diálogo, em uma aba ou na outra. O título dela é o nome da aba ativa, e ela tem um botão Fechar. O histórico guarda as últimas 100 páginas, da mais nova para a mais antiga; uma página que você recarrega em sequência só atualiza o título. O app guarda até 200 favoritos e nunca repete um endereço. Os dois ficam no dispositivo entre as sessões.

Você pode

  • Alterne entre as abas Histórico e Favoritos.
  • Toque em uma entrada para abrir o endereço dela (segue as mesmas regras da barra de endereço) e fechar a caixa de diálogo.
  • Exclua um favorito com o ícone de lixeira (Excluir).
  • Exclua o histórico inteiro com o ícone vermelho de vassoura (Limpar), mostrado só na aba do histórico quando há entradas. Não pede confirmação.
  • Quando uma lista está vazia, ela diz Ainda não há histórico. Navegue por algumas páginas. ou Ainda não há favoritos. Adicione um pelo menu.

Você não pode, e por quê

  • Guardar mais de 100 entradas de histórico ou 200 favoritos.De propósito

Adicionar Marcador

A caixa de diálogo abre em Adicionar favorito no menu.

Você pode

  • Edite Título, preenchido com o título da página (ou o endereço dela), e URL, preenchida com o endereço atual.
  • Toque em Salvar, que fica desativado enquanto um dos campos está vazio, ou em Cancelar. Favorito adicionado aparece mesmo que o endereço já estivesse salvo; ele não é salvo duas vezes.

Você não pode, e por quê

—

Limpar cache

A caixa de diálogo pergunta: Isso limpará todos os dados em cache, incluindo cookies e armazenamento. Continuar?

Você pode

  • Toque em Confirmar ou Cancelar.
  • Ao confirmar, ele limpa o cache HTTP do WebView; o localStorage, o sessionStorage, os cookies visíveis ao JavaScript e os bancos IndexedDB do site da página aberta; e todos os cookies do WebView do app, não só os deste site. Depois o painel Armazenamento é atualizado e aparece Dados do site limpos.
  • Ele mantém seu histórico de navegação: nem o histórico de voltar e avançar da página nem a lista Histórico são limpos.

Você não pode, e por quê

  • Limpar os dados de um só site: a limpeza de cookies abrange todos os sites que o WebView do app conhece.De propósito

Capturas de tela

Duas ações no menu: Tirar captura e Captura (página completa). As duas salvam um PNG chamado screenshot_<milissegundos>.png em Pictures/PocketCode/Screenshots, então ele aparece na sua galeria, e respondem Captura salva (a de página completa acrescenta o tamanho, como (1080x4200)).

Você pode

  • Tirar captura salva o que a visualização da página mostra. Se o lado maior passar de 4.096 px, ela é reduzida proporcionalmente.
  • Captura (página completa) primeiro rola a página para baixo em até 12 saltos de cerca de 90% da tela, para que o conteúdo de carregamento lento (lazy-load) apareça; depois desenha o documento inteiro, apara o vazio no fim e leva você de volta ao ponto em que estava. Captura com densidade de até 2×.

Você não pode, e por quê

  • Capturar uma página muito alta sem aviso: o canvas da captura de página completa tem 1,45 vez a altura medida e é limitado a 20.000 px de altura e 64 MB. Quando esse tamanho passa do limite, o aviso termina com [truncada em 5 blocos], mesmo que a página inteira caiba. Apesar do texto, o corte é esse limite de altura e de memória, não uma contagem de blocos.Dispositivo
  • Salvar na galeria no Android 9, a versão mínima: lá o PNG vai para a pasta do próprio app (…/files/Pictures/PocketCode/Screenshots). A partir do Android 10, vai para a galeria.Dispositivo

Recarga automática

Quando o agente de IA grava um arquivo no seu projeto, a página recarrega sozinha se a página aberta for esse arquivo, ou o index.html da pasta dele, ou se a página aberta estiver em localhost, 127.0.0.1 ou [::1] e o arquivo for estático (.html, .htm, .css, .js, .mjs, .json, .svg, .png, .jpg, .jpeg, .gif, .webp, .woff, .woff2). O Console registra uma linha que começa com Live Reload: e termina com actualizado (esse texto é sempre em espanhol).

Você pode

  • Peça ao agente de IA no Chat IA que edite sua página enquanto o Dev Browser está aberto nela e veja a página recarregar.
  • Recarregue à mão a qualquer momento com Recarregar.

Você não pode, e por quê

  • Fazer a página recarregar quando você mesmo salva um arquivo no editor, ou ligar ou desligar a recarga automática: só as gravações do agente de IA a acionam.Ainda não

O agente de IA e o Dev Browser

O agente de IA no Chat IA tem 19 ferramentas que controlam o Dev Browser. Elas só funcionam enquanto o Dev Browser está aberto: do contrário, respondem Dev Browser is not open. Ask the user to open the Dev Browser, then call this tool again.

GrupoFerramentas
Abrir páginas (2)browser_navigate (http, https ou about; espera a página começar e terminar de carregar, até 5 s e 10 s) · browser_nav_action (BACK, FORWARD ou RELOAD)
Ler a página (7)browser_get_page_info · browser_get_elements · browser_get_console_logs · browser_get_network · browser_get_storage (lê a página ao vivo, também com a aba fechada) · browser_get_performance · browser_find_text
Agir na página (4)browser_click_element · browser_input_text · browser_scroll · browser_wait_for (um seletor, um texto ou rede ociosa; de 500 a 15.000 ms)
Auditoria e captura (2)browser_run_lighthouse_audit (a mesma verificação local da Auditoria) · browser_screenshot
Dispositivo, armazenamento e script (4)browser_set_device · browser_clear_storage · browser_set_cookie · browser_evaluate_js

Você pode

  • Peça ao agente que abra sua página, leia o console e as requisições dela, clique e digite para percorrer um fluxo, tire uma captura de tela ou execute a auditoria.
  • Feche o Dev Browser para impedir que o agente acesse a página.

Você não pode, e por quê

  • Usar as ferramentas com o Dev Browser fechado.De propósito
  • Executar um script com mais de 32.768 caracteres ou por mais de 15 segundos, ou usar um seletor com mais de 512 caracteres.De propósito
  • Definir um cookie HttpOnly: browser_set_cookie grava por meio de document.cookie.De propósito

Grátis e Pro

O Dev Browser não tem limites de plano: Grátis e Pro têm exatamente os mesmos painéis, histórico e captura. Os únicos limites dele são técnicos, estão listados em Limitações e são os mesmos para todos.

Privacidade e segurança

O que o Dev Browser guarda, onde, e o que ele consegue acessar.

  • O histórico e os favoritos ficam no seu dispositivo, no armazenamento privado do app (SharedPreferences, um texto JSON, sem criptografia). Nenhuma parte do código de sincronização do app os lê, então o Cloud Sync não os leva. O histórico guarda os endereços completos.
  • Sair da conta apaga tudo isso. Sair do PocketCode limpa os cookies, o armazenamento e o cache do WebView, junto com o histórico e os favoritos do Dev Browser, porque o WebView é compartilhado por todas as contas.
  • É um único navegador para o app inteiro. O WebView compartilha os cookies dele com o resto do app, então um site em que você entra aqui continua com a sessão iniciada até você sair do PocketCode ou usar Limpar cache, que remove todos os cookies do WebView.
  • Permissões. Os pedidos de câmera, microfone e localização de uma página são sempre negados.
  • Sem arquivos. A visualização da página não pode ler arquivos do dispositivo, o conteúdo misto é bloqueado e a Navegação segura do Google (Safe Browsing) está ativada.
  • O servidor local escuta apenas em 127.0.0.1 e recusa qualquer requisição sem a credencial dele; o próprio Dev Browser adiciona a credencial.
  • O que ele adiciona a uma página. Observadores de desempenho (window.__pcPerf), o CSS que você aplica (um elemento <style> com o id pocket-css-inject), o frame do seletor de elementos e uma classe de destaque. Não registra nenhuma ponte addJavascriptInterface, então as páginas não têm acesso a objetos do app.
  • O agente de IA pode ler a página aberta e agir nela enquanto o Dev Browser está aberto: executar JavaScript, clicar, digitar, limpar o armazenamento e definir cookies.

Limitações

Os principais limites do Dev Browser, cada um com seu motivo. As seções acima listam o resto.

  • O motor é o WebView do sistema do seu dispositivo, então a versão dele, e dados como performance.memory ou o status das respostas bem-sucedidas, dependem dele. Não há extensões nem depuração remota.Dispositivo
  • As páginas da Internet precisam de conexão; só o servidor local do projeto funciona sem uma.Precisa de rede
  • HTTP simples só é permitido para localhost, 127.0.0.1 e 10.0.2.2. Para um servidor da sua rede local, use HTTPS ou um túnel.Precisa de rede
  • Certificados TLS inválidos, autenticação HTTP básica e certificados de cliente são recusados, e só as autoridades certificadoras do sistema são confiáveis.De propósito
  • Um endereço digitado na barra deve ser http ou https; qualquer outra coisa vira uma pesquisa no Google, e o buscador não pode ser trocado.De propósito
  • Há uma única visualização de página: sem abas, sem modo anônimo, sem janelas pop-up e sem downloads dentro do app.De propósito
  • O conteúdo misto, a câmera, o microfone e a localização são bloqueados.De propósito
  • Não há botão de fechar nem atalho de teclado: você sai com o gesto de voltar do sistema, depois de esgotar o histórico da página.De propósito
  • Um perfil de dispositivo muda o tamanho do viewport, limitado a 1.600 pixels CSS no lado maior, e o User-Agent. Nada mais é emulado.De propósito
  • O painel Rede não mostra corpos, cabeçalhos de resposta nem tipos MIME, e a aba Cabeçalhos da resposta sempre diz Nenhuma.Ainda não
  • A Auditoria é a estimativa local própria do PocketCode, com 47 verificações, e não o Lighthouse, e os textos dela ficam sempre em inglês.De propósito
  • A recarga automática só reage a arquivos gravados pelo agente de IA, não ao que você salva à mão.Ainda não
  • Sem nenhum servidor local em execução, o ícone de globo do editor em tela cheia, Abrir no DevBrowser e o chip do painel Executar voltam para a porta 8765, onde ninguém responde: o espaço de trabalho do projeto inicia o servidor quando você abre o projeto na página Editor.Ainda não
  • As capturas de tela são limitadas pela memória: 4.096 px para a parte visível, 20.000 px e 64 MB para uma página inteira, e no Android 9 vão para a pasta do próprio app.Dispositivo

Problemas comuns

As mensagens abaixo são as reais que o app mostra. Quando uma mensagem vem do servidor local ou das ferramentas do agente de IA, o idioma dela é fixo.

O ícone de globo do cabeçalho do Editor está cinza ou não aparece

Ele só aparece quando o arquivo aberto é HTML, CSS, JavaScript ou TypeScript (e não externo), e fica cinza até o servidor local do projeto estar em execução. O servidor inicia sozinho quando a página Editor abre um projeto, então dê um instante a ele.

Minha página não carrega pelo ícone de globo do editor, por Abrir no DevBrowser nem pelo chip do painel Executar

Eles usam a porta do servidor local que está em execução (de 8765 a 8774). Se ainda não houver nenhum, voltam para http://localhost:8765/…, onde ninguém responde. Abra o projeto na página Editor, que inicia o servidor, espere um instante e tente de novo.

A página diz 404 e Archivo no encontrado: <caminho>

Essa página vem do servidor local do projeto, e o texto dela é sempre em espanhol. Não há arquivo nesse caminho no projeto que ele serve: confira o caminho e o nome do arquivo.

401 Unauthorized

O servidor local responde isso a qualquer requisição que chegue sem a credencial dele. O Dev Browser adiciona a credencial sozinho, então você só vê isso se o mesmo endereço for aberto em outro app ou navegador.

403 Forbidden: Acceso denegado

O endereço aponta para fora da pasta do projeto (por exemplo, com ../), e o servidor o recusa. Mantenha o caminho dentro do projeto.

Um aviso vermelho que diz HTTP <código> <motivo>

O documento principal da página respondeu com um status de erro, 400 ou acima (por exemplo, HTTP 404 Not Found). Imagens, scripts e chamadas de API que falham não geram aviso; procure-as em Rede, onde um status de erro aparece em vermelho.

WebView render process crashed. Reload the page.

O processo de renderização da página parou. O PocketCode continua aberto: toque em Recarregar.

Um aviso vermelho com outra mensagem, e a página não carrega

É o texto de erro do próprio WebView para o documento principal, por exemplo quando o servidor não pode ser alcançado ou o nome não pode ser resolvido. Confira o endereço e sua conexão. Lembre-se de que HTTP simples para um endereço da rede local é bloqueado (veja Limitações).

Não foi possível capturar a tela

Ainda não há visualização de página para capturar. Espere uma página aparecer e tente de novo.

Falha ao capturar a tela

Não foi possível desenhar a página em uma imagem, por exemplo porque uma página muito grande esgotou a memória. Tente Tirar captura (a parte visível) em vez da página completa.

Falha ao capturar o bitmap do WebView

Não foi possível transformar a parte visível em imagem: a visualização da página ainda não tinha tamanho, ou a memória acabou. Tente de novo quando a página estiver na tela.

Falha ao salvar a captura

A imagem foi desenhada, mas não foi possível gravar o PNG na galeria (ou na pasta do app no Android 9). Confira se o dispositivo tem espaço livre e tente de novo.

O aviso depois de uma captura de página completa termina com truncada em 5 blocos

O canvas da captura (a altura da página mais uma margem de segurança de 45 %) passou do limite de 20.000 px de altura e 64 MB. Com uma página muito alta, a imagem para onde o limite acabou; com uma mais curta, ela pode já conter a página inteira, então olhe o final. Apesar do texto, o corte não é uma contagem de blocos. Se a página for muito alta, role até a parte de que você precisa e use Tirar captura.

Não foi possível limpar os dados do site

Ainda não há visualização de página. Abra uma página primeiro e use Limpar cache de novo.

Sem atividade de rede

A lista é esvaziada a cada navegação da página principal e só guarda as requisições feitas desde então. Recarregue a página com a aba Rede aberta para vê-las de novo.

Sem dados de armazenamento

A página não tem localStorage, sessionStorage nem cookies (os cookies HttpOnly não aparecem). O painel sugere experimentar um site como google.com.

Sem árvore DOM e Carregue uma página e toque em atualizar

Elementos mostra um instantâneo, lido quando você abre a aba ou toca em Atualizar DOM. Carregue uma página e depois atualize.

Nenhuma regra CSS detectada

O painel lista as regras de nível superior das folhas de estilo que a página deixa ele ler. Uma página cujas regras estão todas dentro de @media, ou cujas folhas vêm de outro site, pode não mostrar nenhuma.

Falha na auditoria: Audit script returned no data

O script de auditoria não retornou nada, por exemplo quando nenhuma página está carregada. Carregue uma página, espere ela terminar e toque em Executar auditoria de novo.

O console mostra Permission denied by Dev Browser: <recurso> ou Geolocation denied by Dev Browser for origin: <origem>

A página pediu a câmera, o microfone ou sua localização. O Dev Browser sempre os nega e deixa um aviso (Warning) para você saber por que o pedido falhou.

A página não recarrega quando salvo no editor

A recarga automática só acontece quando o agente de IA grava o arquivo. Salvar à mão não a aciona: toque em Recarregar.

Dev Browser is not open. Ask the user to open the Dev Browser, then call this tool again.

É o que uma ferramenta browser_* do agente de IA responde quando o Dev Browser está fechado. Abra o Dev Browser na sua página e peça ao agente que tente de novo.