Saltar al contenido
Inicio
Docs/Dev Browser

Dev Browser

El Dev Browser muestra tus páginas web a pantalla completa, sobre el WebView del sistema de tu dispositivo, con siete paneles DevTools (Consola, Red, Almacenamiento, Elementos, CSS, Rend. y Auditoría), 21 perfiles de dispositivo, historial, marcadores y capturas. Funciona igual en Free y en Pro.

Qué es y cómo se abre

Es una ventana a pantalla completa que lo tapa todo, también la barra de navegación inferior. Tiene una barra de direcciones arriba, tu página debajo y, cuando lo pides, un panel DevTools. Hay una sola vista de página: sin pestañas, sin modo privado y sin ventanas emergentes. El editor lo llama DevBrowser; en la página Editor su botón se describe como Abrir en el navegador.

Formas de abrirlo

Dónde estásQué pulsasDirección que abre
La página Editor (la de las pestañas de ficheros)El icono de globo de la cabecera. No tiene texto visible: los lectores de pantalla lo llaman Abrir en el navegador. Solo aparece con un fichero HTML, CSS, JavaScript o TypeScript abierto (no externo) y se queda en gris hasta que el servidor local del proyecto está en marcha.http://localhost:<puerto>/<ruta del fichero abierto>, con el puerto que el servidor ha conseguido de verdad
El editor a pantalla completaEl icono de globo (DevBrowser) de la barra superior, con cualquier fichero salvo Markdown y los externos.http://localhost:<puerto>/<ruta del fichero en el proyecto>, con el puerto del servidor local que está en marcha
El menú o la paleta de comandos del editorAbrir en DevBrowser, en la sección Herramientas, grupo Ejecutar (o búscalo), con cualquier fichero salvo Markdown.http://localhost:<puerto>/<ruta del fichero en el proyecto>, con el puerto del servidor local que está en marcha
El panel Ejecutar del editor, tras ejecutar un fichero .htmlEl chip Abrir en DevBrowserLa misma dirección en el servidor local: la ruta file:// que imprime el runner se convierte en http://localhost:<puerto>/<ruta del fichero en el proyecto>
El icono de globo del editor a pantalla completa, el comando Abrir en DevBrowser y el chip del panel Ejecutar le preguntan a la app qué puerto obtuvo de verdad el servidor local (de 8765 a 8774), así que llegan a tus ficheros aunque otra cosa tenga el 8765. Si todavía no hay ningún servidor local en marcha, vuelven al 8765, donde no contesta nadie: abre antes el proyecto en la página Editor, porque eso es lo que arranca el servidor.

El servidor local que hay detrás de la vista previa

  • Al abrir un proyecto en la página Editor se arranca solo un pequeño servidor HTTP para su carpeta; no hay botón para arrancarlo ni pararlo. Toma el primer puerto libre de 8765 a 8774 y escucha solo en 127.0.0.1.
  • Es un servidor estático: sirve los ficheros de tu proyecto, el index.html de una carpeta o un listado de carpeta, con Cache-Control: no-cache, no-store, must-revalidate, y nunca ejecuta código de servidor.
  • Cada petición necesita la credencial del servidor. El Dev Browser la añade por ti, así que tus páginas cargan; cualquier otra cosa que llegue al servidor recibe 401 Unauthorized.
  • Tus propios ficheros cargan sin conexión. Lo que tu página pida a Internet (scripts de CDN, fuentes, APIs) sigue necesitándola.

Cómo se comporta la ventana

  • No hay botón de cerrar ni atajos de teclado. Usa el gesto o el botón atrás del sistema: primero retrocede por el historial de la página y solo cierra el Dev Browser cuando no queda ninguno.
  • Cerrarlo no te hace perder el sitio. Si lo abres otra vez con la misma dirección, vuelve la página y se conserva la consola. Si lo abres con otra dirección, empiezan vacíos la consola, la red, el almacenamiento, el DOM, el CSS, las métricas y la auditoría; se conservan el perfil de dispositivo, si DevTools está visible, el historial y los marcadores.
  • Girar el dispositivo mantiene la pestaña de DevTools, los diálogos abiertos y el reparto entre página y panel. En horizontal la barra de estado se oculta; desliza para recuperarla.
  • El panel DevTools empieza oculto.

No puedes, y por qué

  • Abrirlo desde la hoja Herramientas, la paleta de comandos global, Inicio, Ajustes o un enlace profundo: es una herramienta del editor, no un módulo propio.A propósito
  • Tener varias páginas abiertas: no hay pestañas, ni modo privado, ni ventanas emergentes.A propósito

Mapa de pantallas

Una fila por cada pantalla, panel y diálogo del Dev Browser. Cada uno se explica en las secciones de abajo.

PantallaCómo llegasQué puedes hacer
Barra de direccionesSiempre arriba.Escribir una dirección o una búsqueda, recargar o detener, abrir DevTools, abrir el menú.
Menú del navegadorMenú del navegador (⋮) en la barra de direcciones.Atrás, adelante, buscar, capturas, dispositivo, historial, marcadores, navegador del sistema, limpiar caché.
Buscar en la páginaMenú → Buscar en la página.Buscar texto en la página y saltar entre coincidencias.
La páginaBajo la barra de direcciones.Usar la página, hacer zoom con los dedos, elegir ficheros para subir, copiar errores de carga.
Perfiles de dispositivoMenú → Perfil de dispositivo.Emular el tamaño y el User-Agent de un móvil, una tablet o un escritorio; rotarlo.
Historial y MarcadoresMenú → Historial o Marcadores.Reabrir páginas, borrar marcadores, borrar el historial.
Añadir MarcadorMenú → Agregar marcador.Guardar la página actual con título y dirección editables.
Limpiar cachéMenú → Limpiar caché.Borrar la caché, las cookies y el almacenamiento del sitio tras confirmar.
CapturasMenú → Tomar captura o Captura (página completa).Guardar un PNG de la parte visible o de la página entera.
Panel DevToolsEl botón </> (Herramientas de desarrollo).Mostrar u ocultar los siete paneles y cambiarles el tamaño.
ConsolaDevTools → Consola.Leer y filtrar los mensajes de la página, ejecutar JavaScript.
RedDevTools → Red.Ver las peticiones de la página con estado, tamaño y duración; abrir el detalle de una.
AlmacenamientoDevTools → Almacenamiento.Ver, copiar y borrar localStorage, sessionStorage y cookies.
ElementosDevTools → Elementos.Leer el árbol DOM, elegir un elemento en la página, copiar su selector, resaltarlo.
CSSDevTools → CSS.Aplicar tu propio CSS a la página y leer las reglas de la página.
RendimientoDevTools → Rend.Leer tiempos de carga, métricas web esenciales y estadísticas de la página.
AuditoríaDevTools → Auditoría.Lanzar la comprobación local de calidad de PocketCode (47 pruebas en cinco categorías).
Recarga automáticaNo hay nada que pulsar.La página se recarga cuando el agente de IA escribe un fichero que la afecta.
Herramientas del agente de IAChat IA.El agente abre, lee, pulsa, escribe, audita y captura la página abierta.

Navegar por una página

La barra de direcciones está siempre arriba y la página ocupa el resto de la ventana. Todo lo demás está en el Menú del navegador.

Barra de direcciones

Toca el chip de la dirección para editarla. El chip muestra la dirección sin https://, http://, www. ni la / final, con un candado en las páginas HTTPS y un globo en el resto. Debajo, una barra de progreso se llena mientras carga la página, con un porcentaje real cuando la página lo informa.

Puedes

  • Escribe una dirección o una búsqueda en Buscar o escribir URL y pulsa la tecla Ir del teclado; la X (Cancelar) deja de editar.
  • Recarga con Recargar; mientras una página carga, el mismo botón pasa a ser Detener.
  • Abre o cierra el panel DevTools con el botón </> (Herramientas de desarrollo). Una insignia roja cuenta los errores de la consola y se detiene en 99+.
  • Abre el Menú del navegador (⋮).

No puedes, y por qué

  • Cargar direcciones file://, content://, data:, javascript:, intent:, mailto: o tel:: escritas en la barra, se convierten en una búsqueda en Google.A propósito
  • Elegir otro buscador: el texto que no es una dirección se busca siempre en Google.A propósito
  • Abrir direcciones http:// sin cifrar de tu red local (por ejemplo http://192.168.1.20): la política de red de la app solo permite HTTP sin cifrar hacia localhost, 127.0.0.1 y 10.0.2.2. Usa HTTPS o un túnel.Requiere red

Qué pasa con lo que escribes

EscribesEl Dev Browser carga
http://… o https://…La dirección tal cual.
Cualquier otro esquema (file://, data:, javascript:, mailto:…)Una búsqueda en Google del texto.
localhost…, una dirección IPv4 o host:puertoEl mismo texto con http:// delante.
Texto con un punto, como example.comEl mismo texto con https:// delante.
Cualquier otra cosaUna búsqueda en Google (https://www.google.com/search?q=…).

Menú del navegador

El botón ⋮ lo abre. Estos son sus 11 elementos, en este orden.

ElementoQué hace
AtrásRetrocede en el historial de la página. En gris si no hay adónde ir.
AdelanteAvanza en el historial de la página. En gris si no hay adónde ir.
Buscar en la páginaAbre la barra de búsqueda bajo la barra de direcciones.
Tomar capturaGuarda la parte visible de la página como PNG.
Captura (página completa)Guarda la página entera como un PNG.
Perfil de dispositivoAbre el selector de dispositivo.
HistorialAbre la lista de páginas que visitaste.
MarcadoresAbre tus marcadores.
Agregar marcadorGuarda la página actual como marcador.
Abrir en el navegador del sistemaAbre la dirección actual en tu navegador predeterminado. Solo para http y https; si no se puede abrir, la dirección sale en un aviso rojo.
Limpiar cachéBorra la caché, las cookies y el almacenamiento del sitio, tras confirmar.

Buscar en la página

Se abre bajo la barra de direcciones al elegir Buscar en la página en el menú.

Puedes

  • Escribe el texto en Buscar en la página: busca mientras escribes, marca las coincidencias en la página y muestra cuántas hay.
  • Salta a la coincidencia siguiente o a la anterior con Siguiente y Anterior; la tecla Buscar del teclado también va a la siguiente.
  • Ciérrala con Cerrar; eso borra la búsqueda.

No puedes, y por qué

—

La página

La página se ejecuta en el WebView del sistema, con JavaScript y almacenamiento DOM activados.

Puedes

  • Usa la página como siempre: desplázate, toca, escribe y haz zoom con los dedos.
  • Elige ficheros para un campo de subida con el selector de ficheros del sistema.
  • Ve los diálogos alert y confirm de la propia página.
  • Lee los errores de carga en un aviso rojo que puedes copiar: el mensaje del propio WebView, HTTP <código> <motivo> cuando la propia página responde con 400 o más, o WebView render process crashed. Reload the page. Que falle el proceso de renderizado de la página no cierra PocketCode.

No puedes, y por qué

  • Seguir enlaces con otros esquemas (tel:, mailto:, intent:, file:…): se ignoran, sin ningún mensaje.A propósito
  • Cargar contenido HTTP dentro de una página HTTPS (contenido mixto).A propósito
  • Continuar con un certificado TLS no válido, iniciar sesión con autenticación HTTP básica o presentar un certificado de cliente: la petición se cancela. Solo se confía en las autoridades de certificación del sistema.A propósito
  • Dejar que una página use la cámara, el micrófono o tu ubicación: se deniegan siempre y la Consola muestra un aviso (Warning).A propósito
  • Descargar ficheros dentro de la app: un enlace de descarga se abre en el navegador del sistema.A propósito
  • Abrir ventanas emergentes.A propósito

Dispositivo y viewport

Elige un dispositivo para ver cómo se ve y se comporta una página con ese tamaño. Un perfil cambia solo dos cosas: el tamaño del viewport y el User-Agent que recibe la página.

  • La vista de la página toma el ancho y el alto del perfil en píxeles CSS. Si no caben en pantalla, se reduce visualmente (los toques también se escalan), como el modo dispositivo de Chrome.
  • El lado largo del viewport nunca pasa de 1600 píxeles CSS: los perfiles más grandes conservan sus proporciones dentro de ese límite (Desktop 4K, por ejemplo, se ve a 1600 × 900).
  • El User-Agent corresponde a la familia: Safari en iOS para los perfiles de iPhone y iPad, Chrome en Android para los móviles y tablets Android, Chrome en Windows o Mac para los escritorios.
  • El ratio de píxeles que aparece junto a cada tamaño (como 2.625x) es solo texto: no se aplica a la página.
  • Elegir un perfil recarga la página si hay una cargada. Adaptable quita el tamaño fijo, así que la página llena el área, pero mantiene un User-Agent de Chrome en Android. Antes de elegir nada no hay ninguna emulación.

Puedes

  • Abre Perfil de dispositivo en el menú. El diálogo se titula Perfiles de dispositivo y se abre en el grupo de tu perfil actual.
  • Cambia entre Móvil, Tablet y Escritorio.
  • Elige Adaptable (Se adapta al tamaño del contenedor) o uno de los 21 perfiles; el activo lleva una marca de verificación (los lectores de pantalla leen Seleccionado).
  • Rota 90° un perfil de móvil o de tablet con Rotar dispositivo; el diálogo se cierra.

No puedes, y por qué

  • Rotar un perfil de escritorio.A propósito
  • Superar los 1600 píxeles CSS en el lado largo, sea cual sea el perfil: la página dejaría de responder con fluidez.A propósito

Los 21 perfiles

GrupoPerfiles (píxeles CSS)
Móvil (7, rotables)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, rotables)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
Escritorio (8, no rotables)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)

El panel DevTools

Toca el botón </> (Herramientas de desarrollo) de la barra de direcciones para mostrar u ocultar el panel. Empieza oculto.

  • En vertical el panel va debajo de la página; en horizontal (cuando la pantalla es más ancha que alta) va a la derecha.
  • Arrastra el asa entre la página y el panel para cambiarle el tamaño: la página conserva entre el 25 % y el 80 % del espacio, el 55 % por defecto.
  • Hay siete pestañas. Solo la seleccionada muestra su nombre, para que quepan todas.
  • Almacenamiento, Elementos, CSS y Rend. vuelven a leer la página cada vez que las seleccionas, mientras haya una página cargada. Red completa los tiempos de las peticiones al abrirla. Auditoría solo se ejecuta cuando pulsas Ejecutar auditoría.
  • En Red, Almacenamiento y Elementos, el detalle de una fila se abre debajo de la lista, dentro del panel, para que la página siga visible. Tiene un título, pestañas opcionales, algunas acciones y Cerrar, y hace scroll si es largo.

Las siete pestañas

PestañaQué muestra
ConsolaLo que la página escribe en el log, más una línea para ejecutar JavaScript.
RedLas peticiones que hace la página, con estado, tamaño y duración.
AlmacenamientoEl localStorage, el sessionStorage y las cookies de la página.
ElementosEl árbol DOM, con un selector de elementos.
CSSUn editor de CSS y las reglas propias de la página.
Rend.Tiempos de carga, métricas web esenciales y estadísticas de la página.
AuditoríaUna comprobación local de calidad con 47 pruebas.

No puedes, y por qué

  • Poner puntos de interrupción, conectar las DevTools remotas de Chrome (chrome://inspect), usar extensiones del navegador, o inspeccionar IndexedDB, Cache Storage, service workers y el manifiesto web: el motor es el WebView del sistema, la app no activa la depuración remota y estos siete paneles son todo lo que hay.Dispositivo

Consola

Muestra los mensajes console.* de la página con su nivel y su texto y, cuando la página los da, la hora, el fichero y la línea. También muestra algunos avisos de la app: permisos denegados, un problema al leer el almacenamiento y la recarga automática.

Puedes

  • Filtra por nivel con los cuatro chips (error, aviso, info, depuración). Cada uno muestra su contador; tócalo otra vez para quitar el filtro. No hay chip para un console.log normal: se ven cuando no hay filtro. El número de la derecha es cuántos mensajes se listan.
  • Vacía la consola con el icono de papelera (Limpiar).
  • Ejecuta JavaScript en el marco principal de la página: escríbelo en Evalúa JavaScript… y toca Ejecutar. El comando y su resultado (cortado a 2.000 caracteres) se añaden como mensajes normales, así que los filtros también les afectan.
  • Recupera comandos anteriores con Comando anterior: los recorre y nunca repite el mismo comando dos veces seguidas.
  • Copia un mensaje manteniendo pulsado su texto.
  • Los mensajes nuevos se desplazan a la vista solo si ya estabas al final de la lista.

No puedes, y por qué

  • Ver más de los últimos 1.000 mensajes: los más antiguos se descartan. Navegar no vacía la consola, pero abrir el Dev Browser con otra dirección sí.A propósito

Red

Una lista de las peticiones que hace la página, cada una con una letra para su tipo (D documento, C hoja de estilos, J script, I imagen, F fuente o fetch, X XHR, M multimedia, ? otro), su nombre de fichero, estado, tamaño, duración y una barra que compara su duración con la de la más lenta. Un resumen dice mostradas/total · KB · ms medios. La lista se observa: cada petición se anota cuando el WebView la hace, sin bloquearla ni cambiarla, y su estado, duración, tamaño y tipo real se completan después con los avisos de error y con los datos de Resource Timing de la página, que se leen al terminar de cargar una página y al abrir la pestaña. Las únicas peticiones que hace la propia app son las del servidor local del proyecto, para añadirles su credencial.

Puedes

  • Filtra por tipo con los chips All, Doc, CSS, JS, XHR (incluye fetch) e Img. Esas palabras salen siempre en inglés.
  • Toca una petición para abrir su detalle bajo la lista, con tres pestañas: General (url, method, status, size, time, duration y error), Cabeceras de solicitud (las que entrega el WebView) y Cabeceras de respuesta.
  • Vacía la lista con el icono de papelera (Limpiar).

No puedes, y por qué

  • Ver los cuerpos de la petición o de la respuesta, las cabeceras de respuesta o el tipo MIME: la pestaña Cabeceras de respuesta siempre dice Ninguna, porque nada rellena todavía esos campos.Aún no
  • Desglosar una petición en fases de DNS, TLS y espera: cada petición tiene una sola barra, porque el WebView no da esos tiempos.Dispositivo
  • Conservar la lista de una página a la siguiente: se vacía en cada navegación de la página principal (solo se queda el documento nuevo) y guarda como máximo 1.000 peticiones.A propósito
  • Contar con un estado en toda petición correcta: sale de los datos de Resource Timing de la página, y cuando el WebView no lo informa la columna muestra un guion. Los estados de error (400 y más) siempre salen.Dispositivo

Almacenamiento

Muestra el localStorage, el sessionStorage y las cookies de la página en tres secciones (LOCAL STORAGE, SESSION STORAGE y COOKIES), cada una con su recuento, más un contador total n elementos. Lee la página al abrir la pestaña y con Actualizar. Sirve para mirar, copiar y borrar; para crear o cambiar un valor, ejecuta JavaScript en la Consola.

Puedes

  • Toca una fila para abrir su clave y su valor completos en el detalle bajo la lista.
  • Toca Copiar para copiar el valor (Copiado al portapapeles lo confirma).
  • Toca Eliminar para quitar esa clave.
  • Vacía una sección entera con el icono rojo de limpiar junto a su título (Borrar).
  • Cuando la página no tiene nada, el panel dice Sin datos de almacenamiento y sugiere probar un sitio como google.com.

No puedes, y por qué

  • Ver las cookies HttpOnly ni los atributos de una cookie (dominio, caducidad, Secure, SameSite): el panel lee document.cookie, que las oculta a los scripts de la página.A propósito
  • Borrar una cookie creada para otra ruta o dominio: borrar una cookie la caduca con path=/.A propósito

Elementos

Un árbol de solo lectura del DOM de la página, coloreado con tu tema de código. Cada fila muestra <etiqueta id class …>, el texto de los nodos hoja y el número de hijos (hijo / hijos). Se abre con <html> expandido y sus hijos también, salvo <head>; toca una fila para expandirla o plegarla. La cabecera cuenta los nodos. Es una instantánea, leída al abrir la pestaña o al tocar Refrescar DOM: no se actualiza sola, y aquí no puedes editar nodos ni ver estilos calculados ni eventos.

Puedes

  • Toca el icono del selector (Seleccionar un elemento en la página) y luego toca cualquier cosa de la página. La cabecera dice Toca un elemento en la página; tu siguiente toque elige el elemento sin activarlo (no se sigue ningún enlace ni se envía ningún formulario), y el árbol se abre en ese elemento, lo resalta en la página y abre su detalle bajo la lista. Si el elemento está más hondo de lo que llega la instantánea, elige el ancestro más profundo que sí está.
  • Vuelve a leer la instantánea con Refrescar DOM.
  • Abre el detalle de un nodo con su icono (i) (Detalles de la entrada): su <etiqueta>, su selector CSS y su id, class, atributos y text.
  • Toca Copiar selector para copiar un selector posicional como html > :nth-child(2) > :nth-child(1); usa posiciones, no ids ni clases.
  • Toca Resaltar en la página para rodear el elemento con un contorno naranja y llevarlo al centro. El contorno se queda hasta que resaltes otro nodo o recargues.
  • Si no hay nada cargado, el panel dice Sin árbol DOM y Carga una página y pulsa refrescar.

No puedes, y por qué

  • Ver todo el DOM: la instantánea se detiene a profundidad 10, 100 hijos por nodo (un nodo … +N more representa el resto), 20 atributos por elemento, 500 caracteres de texto y 200 caracteres por valor de atributo. Solo incluye elementos (sin comentarios) y no mira dentro de iframes ni de Shadow DOM.A propósito

CSS

Un pequeño editor que aplica CSS a la página abierta, y una lista de las reglas propias de la página. El CSS vive solo en la página: el panel nunca escribe en los ficheros de tu proyecto, así que copia lo que te guste a tu hoja de estilos.

Puedes

  • Escribe CSS en el editor (Editor) y toca Aplicar CSS: crea, o actualiza, un elemento <style> con el id pocket-css-inject en la página.
  • Quita lo aplicado con Quitar (solo está activo mientras haya algo aplicado).
  • El último CSS que aplicaste se vuelve a aplicar tras cada carga, recarga y navegación, incluso a otro sitio, hasta que toques Quitar. Se pierde al abrir el Dev Browser con otra dirección.
  • Cambia a Reglas (n) para leer las reglas de la página: el selector, el número de propiedades, las tres primeras y de dónde viene (la dirección de la hoja de estilos o inline). Toca una regla para copiar sus declaraciones al editor; al aplicarlas se sobrescribe la original, no se edita en su sitio.
  • Cuando no hay nada que listar, el panel dice No se detectaron reglas CSS.

No puedes, y por qué

  • Ver más de 200 reglas, reglas dentro de @media, @supports o @keyframes, ni hojas de estilo que el navegador no deja leer a una página: solo se listan las reglas de primer nivel, y las hojas ilegibles se omiten sin avisar.A propósito

Rendimiento

Tiempos de carga y estadísticas de la página, leídos de la API de rendimiento de la página. Toca Actualizar para leerlos otra vez. No perfila la CPU ni JavaScript y no tiene limitación (throttling).

Puedes

  • Lee las tarjetas bajo MÉTRICAS WEB ESENCIALES: Primer pintado (FP), Primer pintado con contenido (FCP), DOM cargado (DCL) y Carga de página siempre; Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS) y Tiempo de Bloqueo Total (TBT) cuando su valor es mayor que cero. Cada tarjeta se colorea como buena, mejorable o mala según umbrales fijos (por ejemplo LCP 2.500 y 4.000 ms, CLS 0,1 y 0,25, TBT 200 y 600 ms).
  • Lee ESTADÍSTICAS DE PÁGINA: Nodos DOM, Recursos y, cuando el WebView los expone, Heap JS y Transferido.
  • Lee la CASCADA DE RECURSOS (n): hasta 50 recursos con su tipo, los últimos 30 caracteres del nombre y la duración.
  • Toca Grabar: vuelve a leer las métricas cada 1,5 segundos hasta que toques Detener. No graba una traza; es un refresco en vivo.

No puedes, y por qué

  • Ver las tarjetas de LCP, CLS y TBT cuando el WebView no las informa: solo aparecen cuando su valor es mayor que cero. El heap de JS y el tamaño transferido también dependen de lo que exponga el WebView.Dispositivo

Auditoría

Una estimación local, no Lighthouse. PocketCode ejecuta su propio conjunto de 47 comprobaciones como JavaScript dentro de la página. Cada comprobación puntúa de 0 a 1 según umbrales fijos, y la nota de una categoría es la media de sus comprobaciones por 100. No hay Lighthouse, ni emulación de móvil o de red, ni trazas. Los nombres de las comprobaciones, las etiquetas de los medidores y las palabras passed, warnings y failed salen siempre en inglés.

Puedes

  • Toca Ejecutar auditoría (dice Auditando… mientras corre). La auditoría solo se ejecuta cuando pulsas el botón. Antes de la primera ejecución el panel dice Ejecuta una auditoría para analizar la calidad de la página y Analiza Rendimiento, Accesibilidad, Buenas Prácticas, SEO y PWA.
  • Lee cinco medidores de 0 a 100 (Perf, A11y, BP, SEO y PWA; en verde desde 90, en naranja desde 50), la dirección auditada y cuánto tardó la auditoría en milisegundos.
  • Lee el resumen (N passed, N warnings, N failed) y filtra con los chips Todas (n), aprobadas, avisos y fallos. Una comprobación se aprueba con 0,9 o más, es un aviso desde 0,5 hasta 0,9 y falla por debajo de 0,5.
  • Pliega las categorías y abre una comprobación para leer su detalle (hasta 8 líneas).
  • Vuelve a tocar el botón, ahora en la barra superior, para medir otra vez.

No puedes, y por qué

  • Obtener puntuaciones comparables a las de Lighthouse o PageSpeed Insights: son estimaciones propias de PocketCode, y algunas comprobaciones solo miran una muestra de la página (la profundidad del DOM lee los primeros 150 elementos, el tamaño de fuente 100 y las áreas táctiles 50).A propósito
  • Inspeccionar un service worker: la comprobación solo detecta si hay uno controlando la página.A propósito

Las 47 comprobaciones

CategoríaComprobaciones
Performance (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
Accessibility (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
Best practices (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

Historial, marcadores y datos del sitio

El historial, los marcadores y el diálogo de la caché empiezan todos en el Menú del navegador.

Historial y Marcadores

Historial y Marcadores abren el mismo diálogo, en una pestaña o en la otra. Su título es el nombre de la pestaña activa y tiene un botón Cerrar. El historial guarda las últimas 100 páginas, la más reciente primero; una página que recargas seguidamente solo actualiza su título. La app guarda hasta 200 marcadores y nunca repite una dirección. Ambos se conservan en el dispositivo entre sesiones.

Puedes

  • Cambia entre las pestañas Historial y Marcadores.
  • Toca una entrada para abrir su dirección (sigue las mismas reglas que la barra de direcciones) y cerrar el diálogo.
  • Elimina un marcador con su icono de papelera (Eliminar).
  • Borra todo el historial con el icono rojo de barrer (Borrar), que solo sale en la pestaña del historial cuando hay entradas. No pide confirmación.
  • Cuando una lista está vacía dice Aún no hay historial. Navega por algunas páginas. o Aún no hay marcadores. Añade uno desde el menú.

No puedes, y por qué

  • Guardar más de 100 entradas de historial o más de 200 marcadores.A propósito

Añadir Marcador

El diálogo se abre desde Agregar marcador en el menú.

Puedes

  • Edita Título, relleno con el título de la página (o su dirección), y URL, rellena con la dirección actual.
  • Toca Guardar, que sigue desactivado mientras uno de los campos esté vacío, o Cancelar. Marcador añadido aparece aunque esa dirección ya estuviera guardada; no se guarda dos veces.

No puedes, y por qué

—

Limpiar caché

El diálogo pregunta: Esto borrará todos los datos en caché, incluidas las cookies y el almacenamiento. ¿Continuar?

Puedes

  • Toca Confirmar o Cancelar.
  • Al confirmar, borra la caché HTTP del WebView; el localStorage, el sessionStorage, las cookies visibles para JavaScript y las bases IndexedDB del sitio de la página abierta; y todas las cookies del WebView de la app, no solo las de este sitio. Después se actualiza el panel Almacenamiento y aparece Datos del sitio borrados.
  • Conserva tu historial de navegación: no se borra ni el historial de atrás y adelante de la página ni la lista Historial.

No puedes, y por qué

  • Borrar los datos de un solo sitio: el borrado de cookies abarca todos los sitios que conoce el WebView de la app.A propósito

Capturas

Dos acciones en el menú: Tomar captura y Captura (página completa). Las dos guardan un PNG llamado screenshot_<milisegundos>.png en Pictures/PocketCode/Screenshots, así que aparece en tu galería, y responden Captura guardada (la de página completa añade su tamaño, como (1080x4200)).

Puedes

  • Tomar captura guarda lo que muestra la vista de la página. Si su lado largo pasa de 4.096 px, se reduce en proporción.
  • Captura (página completa) primero recorre la página hacia abajo en hasta 12 saltos de un 90 % de la pantalla, para que aparezca el contenido de carga diferida; luego dibuja el documento entero, recorta el vacío del final y te devuelve a donde estabas. Captura a una densidad de hasta 2×.

No puedes, y por qué

  • Capturar una página muy alta sin aviso: el lienzo de la captura de página completa se dimensiona a 1,45 veces la altura medida y se limita a 20.000 px de alto y 64 MB. Cuando ese tamaño supera el tope, el aviso termina con [truncada a 5 tiles], aunque la página entera quepa. Pese al texto, el corte es ese tope de altura y de memoria, no un número de tiles.Dispositivo
  • Guardar en la galería en Android 9, la versión mínima: allí el PNG va a la carpeta propia de la app (…/files/Pictures/PocketCode/Screenshots). Desde Android 10 va a la galería.Dispositivo

Recarga automática

Cuando el agente de IA escribe un fichero de tu proyecto, la página se recarga sola si la página abierta es ese fichero, o el index.html de su carpeta, o si la página abierta está en localhost, 127.0.0.1 o [::1] y el fichero es estático (.html, .htm, .css, .js, .mjs, .json, .svg, .png, .jpg, .jpeg, .gif, .webp, .woff, .woff2). La Consola registra una línea que empieza por Live Reload: y acaba en actualizado (ese texto sale siempre en español).

Puedes

  • Pide al agente de IA del Chat IA que edite tu página con el Dev Browser abierto en ella, y mira cómo se recarga.
  • Recarga a mano cuando quieras con Recargar.

No puedes, y por qué

  • Hacer que la página se recargue cuando guardas tú un fichero en el editor, o activar o desactivar la recarga automática: solo la disparan las escrituras del agente de IA.Aún no

El agente de IA y el Dev Browser

El agente de IA del Chat IA tiene 19 herramientas que manejan el Dev Browser. Solo funcionan mientras el Dev Browser está abierto: si no, responden Dev Browser is not open. Ask the user to open the Dev Browser, then call this tool again.

GrupoHerramientas
Abrir páginas (2)browser_navigate (http, https o about; espera a que la página empiece y termine de cargar, hasta 5 s y 10 s) · browser_nav_action (BACK, FORWARD o RELOAD)
Leer la página (7)browser_get_page_info · browser_get_elements · browser_get_console_logs · browser_get_network · browser_get_storage (lee la página en vivo, también con la pestaña cerrada) · browser_get_performance · browser_find_text
Actuar sobre la página (4)browser_click_element · browser_input_text · browser_scroll · browser_wait_for (un selector, un texto o red inactiva; de 500 a 15.000 ms)
Auditar y capturar (2)browser_run_lighthouse_audit (la misma comprobación local que Auditoría) · browser_screenshot
Dispositivo, almacenamiento y script (4)browser_set_device · browser_clear_storage · browser_set_cookie · browser_evaluate_js

Puedes

  • Pide al agente que abra tu página, lea su consola y sus peticiones, pulse y escriba para recorrer un flujo, haga una captura o lance la auditoría.
  • Cierra el Dev Browser para que el agente no pueda llegar a la página.

No puedes, y por qué

  • Usar las herramientas con el Dev Browser cerrado.A propósito
  • Ejecutar un script de más de 32.768 caracteres o que dure más de 15 segundos, ni usar un selector de más de 512 caracteres.A propósito
  • Crear una cookie HttpOnly: browser_set_cookie escribe a través de document.cookie.A propósito

Free y Pro

El Dev Browser no tiene límites de plan: Free y Pro tienen exactamente los mismos paneles, historial y capturas. Sus únicos topes son técnicos, están en Limitaciones y son iguales para todos.

Privacidad y seguridad

Qué guarda el Dev Browser, dónde, y a qué puede llegar.

  • El historial y los marcadores se quedan en tu dispositivo, en el almacenamiento privado de la app (SharedPreferences, un texto JSON, sin cifrar). Ninguna parte del código de sincronización de la app los lee, así que Cloud Sync no los lleva. El historial guarda las direcciones completas.
  • Cerrar sesión lo borra. Al cerrar sesión en PocketCode se borran las cookies, el almacenamiento y la caché del WebView junto con el historial y los marcadores del Dev Browser, porque el WebView lo comparten todas las cuentas.
  • Es un solo navegador para toda la app. El WebView comparte sus cookies con el resto de la app, así que un sitio en el que inicias sesión aquí sigue con la sesión iniciada hasta que cierres sesión en PocketCode o uses Limpiar caché, que borra todas las cookies del WebView.
  • Permisos. Las peticiones de una página para la cámara, el micrófono y tu ubicación se deniegan siempre.
  • Sin ficheros. La vista de la página no puede leer ficheros del dispositivo, el contenido mixto está bloqueado y Safe Browsing de Google está activado.
  • El servidor local escucha solo en 127.0.0.1 y rechaza cualquier petición sin su credencial; el Dev Browser añade la credencial por sí mismo.
  • Qué añade a una página. Observadores de rendimiento (window.__pcPerf), el CSS que aplicas (un elemento <style> con el id pocket-css-inject), el marco del selector de elementos y una clase de resaltado. No registra ningún puente addJavascriptInterface, así que las páginas no acceden a objetos de la app.
  • El agente de IA puede leer y actuar sobre la página abierta mientras el Dev Browser está abierto: ejecutar JavaScript, pulsar, escribir, borrar el almacenamiento y crear cookies.

Limitaciones

Los límites principales del Dev Browser, cada uno con su motivo. Las secciones de arriba recogen el resto.

  • El motor es el WebView del sistema de tu dispositivo, así que su versión, y datos como performance.memory o el estado de las respuestas correctas, dependen de él. No hay extensiones ni depuración remota.Dispositivo
  • Las páginas de Internet necesitan conexión; solo el servidor local del proyecto funciona sin ella.Requiere red
  • El HTTP sin cifrar solo se permite hacia localhost, 127.0.0.1 y 10.0.2.2. Para un servidor de tu red local, usa HTTPS o un túnel.Requiere red
  • Los certificados TLS no válidos, la autenticación HTTP básica y los certificados de cliente se rechazan, y solo se confía en las autoridades de certificación del sistema.A propósito
  • Una dirección escrita en la barra debe ser http o https; cualquier otra cosa se convierte en una búsqueda en Google, y el buscador no se puede cambiar.A propósito
  • Hay una sola vista de página: sin pestañas, sin modo privado, sin ventanas emergentes y sin descargas dentro de la app.A propósito
  • El contenido mixto, la cámara, el micrófono y la ubicación están bloqueados.A propósito
  • No hay botón de cerrar ni atajos de teclado: sales con el gesto atrás del sistema, cuando se acaba el historial de la página.A propósito
  • Un perfil de dispositivo cambia el tamaño del viewport, con un tope de 1600 píxeles CSS en el lado largo, y el User-Agent. No se emula nada más.A propósito
  • El panel Red no muestra cuerpos, cabeceras de respuesta ni tipos MIME, y la pestaña Cabeceras de respuesta siempre dice Ninguna.Aún no
  • Auditoría es una estimación local propia de PocketCode con 47 comprobaciones, no Lighthouse, y sus textos salen siempre en inglés.A propósito
  • La recarga automática solo reacciona a los ficheros que escribe el agente de IA, no a lo que guardas a mano.Aún no
  • Sin ningún servidor local en marcha, el icono de globo del editor a pantalla completa, Abrir en DevBrowser y el chip del panel Ejecutar vuelven al puerto 8765, donde no contesta nadie: el espacio de trabajo del proyecto arranca el servidor cuando abres el proyecto en la página Editor.Aún no
  • Las capturas están limitadas por la memoria: 4.096 px para la parte visible, 20.000 px y 64 MB para una página completa, y en Android 9 van a la carpeta propia de la app.Dispositivo

Resolución de problemas

Los mensajes de abajo son los reales que muestra la app. Cuando un mensaje viene del servidor local o de las herramientas del agente de IA, su idioma es fijo.

El icono de globo de la cabecera del Editor está en gris, o no sale

Solo aparece cuando el fichero abierto es HTML, CSS, JavaScript o TypeScript (y no es externo), y se queda en gris hasta que el servidor local del proyecto está en marcha. El servidor arranca solo cuando la página Editor abre un proyecto, así que dale un momento.

Mi página no carga desde el icono de globo del editor, desde Abrir en DevBrowser ni desde el chip del panel Ejecutar

Usan el puerto del servidor local que está en marcha (de 8765 a 8774). Si todavía no hay ninguno, vuelven a http://localhost:8765/…, donde no contesta nadie. Abre el proyecto en la página Editor, que arranca el servidor, espera un momento y vuelve a intentarlo.

La página dice 404 y Archivo no encontrado: <ruta>

Esa página viene del servidor local del proyecto, y su texto está siempre en español. No hay ningún fichero en esa ruta dentro del proyecto que sirve: revisa la ruta y el nombre del fichero.

401 Unauthorized

El servidor local responde esto a cualquier petición que llegue sin su credencial. El Dev Browser añade la credencial él mismo, así que solo lo ves si la misma dirección se abre en otra app o navegador.

403 Forbidden: Acceso denegado

La dirección apunta fuera de la carpeta del proyecto (por ejemplo con ../) y el servidor la rechaza. Mantén la ruta dentro del proyecto.

Un aviso rojo que dice HTTP <código> <motivo>

El documento principal de la página respondió con un estado de error, 400 o más (por ejemplo HTTP 404 Not Found). Las imágenes, scripts y llamadas a API que fallan no lanzan aviso; búscalas en Red, donde un estado de error sale en rojo.

WebView render process crashed. Reload the page.

El proceso de renderizado de la página se detuvo. PocketCode sigue abierto: toca Recargar.

Un aviso rojo con otro mensaje, y la página no carga

Es el texto de error del propio WebView para el documento principal, por ejemplo cuando no se puede llegar al servidor o no se resuelve el nombre. Revisa la dirección y tu conexión. Recuerda que el HTTP sin cifrar hacia una dirección de la red local está bloqueado (mira Limitaciones).

No se pudo capturar la pantalla

Todavía no hay una vista de página que capturar. Espera a que aparezca una página y vuelve a intentarlo.

Error al capturar la pantalla

No se pudo dibujar la página en una imagen, por ejemplo porque una página muy grande se quedó sin memoria. Prueba Tomar captura (la parte visible) en lugar de la página completa.

Error al capturar el bitmap del WebView

No se pudo convertir la parte visible en una imagen: la vista de la página aún no tenía tamaño, o se acabó la memoria. Inténtalo otra vez cuando la página esté en pantalla.

Error al guardar la captura

La imagen se dibujó pero no se pudo escribir el PNG en la galería (ni en la carpeta de la app en Android 9). Comprueba que el dispositivo tiene espacio libre y vuelve a intentarlo.

El aviso tras una captura de página completa termina con truncada a 5 tiles

El lienzo de la captura (la altura de la página más un margen de seguridad del 45 %) superó el presupuesto de 20.000 px de alto y 64 MB. Con una página muy alta la imagen se corta donde se acabó el presupuesto; con una más corta puede que ya contenga la página entera, así que mira su final. Pese al texto, el corte no es un número de tiles. Si la página es muy alta, desplázate a la parte que necesitas y usa Tomar captura.

No se pudieron borrar los datos del sitio

Todavía no hay una vista de página. Abre primero una página y vuelve a usar Limpiar caché.

Sin actividad de red

La lista se vacía en cada navegación de la página principal y solo guarda las peticiones hechas desde entonces. Recarga la página con la pestaña Red abierta para volver a verlas.

Sin datos de almacenamiento

La página no tiene localStorage, sessionStorage ni cookies (las cookies HttpOnly no se ven). El panel sugiere probar un sitio como google.com.

Sin árbol DOM y Carga una página y pulsa refrescar

Elementos muestra una instantánea, leída al abrir la pestaña o al tocar Refrescar DOM. Carga una página y luego refresca.

No se detectaron reglas CSS

El panel lista las reglas de primer nivel de las hojas de estilo que la página le deja leer. Una página cuyas reglas están todas dentro de @media, o cuyas hojas vienen de otro sitio, puede no mostrar ninguna.

Auditoría fallida: Audit script returned no data

El script de auditoría no devolvió nada, por ejemplo cuando no hay ninguna página cargada. Carga una página, espera a que termine y toca Ejecutar auditoría otra vez.

La consola muestra Permission denied by Dev Browser: <recurso> o Geolocation denied by Dev Browser for origin: <origen>

La página pidió la cámara, el micrófono o tu ubicación. El Dev Browser siempre los deniega y deja un aviso (Warning) para que sepas por qué falló la petición.

La página no se recarga cuando guardo en el editor

La recarga automática solo ocurre cuando el agente de IA escribe el fichero. Guardar a mano no la dispara: toca Recargar.

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

Es lo que responde una herramienta browser_* del agente de IA cuando el Dev Browser está cerrado. Abre el Dev Browser en tu página y pide al agente que lo intente otra vez.