4 min de lectura
Lo que descarga una herramienta antes de que pulses nada
Nuestro quitafondos enviaba 1386 KB de JavaScript a tu móvil antes de que eligieras una foto. Nadie los había pedido y nada de lo que había en pantalla los necesitaba. Esto es cómo llegaron ahí, en cuánto se quedaron, y cómo medir cualquier herramienta en treinta segundos.
La cifra que nadie publica
Todas las webs de herramientas publican su lista de funciones. Casi ninguna publica cuánto pesa la página antes de usarla. Y esa cifra decide cómo se siente una herramienta: en un móvil con una conexión normal, cada 400 KB de JavaScript son aproximadamente un segundo más mirando una página que parece lista y no lo está.
Para nosotros pesa más que para otros. nopa funciona en tu dispositivo: unir, comprimir, transcribir ocurre en tu navegador y no se sube nada. La otra cara de esa promesa es que el código tiene que llegar primero. La descarga no es un coste alrededor del producto: es el producto llegando.
Cómo lo medimos
Un script de nuestro repositorio abre cada ruta en un Chromium real, con la caché vacía y el service worker desactivado, y suma los bytes transferidos de todos los scripts que la página pide antes de cualquier interacción. No el tamaño sin comprimir ni el informe del empaquetador: los bytes que viajan por la red, que son los que paga tu conexión.
Lo pasamos por todo el sitio: portada, catálogo y hubs, y cada página de herramienta. Siete rutas volvieron por encima del megabyte.
Lo que encontramos en nuestro propio código
La columna «antes» es lo que servíamos. La columna «después» es la misma página hoy, sin quitar ni una función.
| Página | Antes | Después |
|---|---|---|
| Quitar fondo | 1386 KB | 405 KB |
| Emojis | 1318 KB | 740 KB |
| Transcripción | 940 KB | 402 KB |
| Conversor de archivos | 845 KB | 403 KB |
| Lector | 839 KB | 427 KB |
| Portada | 325 KB | 28 KB |
| Catálogo y hubs | 318 KB | 21 KB |
Nunca es la función. Es el import.
Ninguna de estas páginas pesaba por lo que hace. En todos los casos era una sola línea al principio de un archivo que arrastraba algo que la página nunca iba a ejecutar.
- Una comprobación de «¿ya está descargado el modelo de IA?» arrastraba todo el runtime de machine learning —539 KB— a páginas que nunca cargan un modelo. Ahora lee la caché del navegador directamente, en nueve líneas.
- Un ayudante de zip estaba importado al principio del motor de PDF, así que cualquier página que comprimiera algo descargaba también 443 KB de código de PDF. Cargarlo en el momento de usarlo redujo a la mitad cuatro páginas.
- El selector de emojis servía su tabla de palabras clave —la mitad del conjunto de datos— antes de la primera tecla. Ahora llega con tu primera búsqueda, que es cuando alguien la lee.
- Una librería de animación entera se cargaba por un panel que sube en móviles. El navegador ya trae una API de animación; la librería se fue.
- Un índice de catálogo de 373 KB se cargaba en todas las páginas para pintar una fila de enlaces a herramientas relacionadas.
Por qué aquí no hay cifras de la competencia
Queríamos meter otras herramientas en esa tabla. No pudimos hacerlo con honestidad. El primer intento descargaba sus páginas y contaba los scripts del HTML; el resultado decía que una conocida suite de PDF sirve 2 KB de JavaScript, porque la aplicación real la carga el propio JavaScript en lugar de estar escrita en la página. Una cifra que no podemos reproducir es peor que ninguna cifra, y una comparativa donde nos ponemos la nota nosotros no es una comparativa.
Así que la tabla solo contiene páginas nuestras. Y en lugar de números que tendrías que creerte, aquí está el método.
Mide cualquier herramienta en treinta segundos
Funciona en cualquier web, incluida la nuestra. Si nuestras cifras fallan, así nos pillas.
- Abre la herramienta en un navegador de escritorio y abre las herramientas de desarrollo (F12), pestaña Network.
- Marca «Disable cache», filtra por JS y recarga la página.
- Mira el total transferred abajo antes de tocar nada. Esa es la descarga que pagas en cada visita en frío.
- Para la promesa de trabajo local: con la página ya cargada, pon la red en modo offline y haz tu tarea. Si termina, el trabajo es de tu dispositivo. Si falla, tu archivo iba a alguna parte.
A qué nos obligamos ahora
Cada ruta tiene un techo duro de 600 KB de JavaScript y el script que lo mide falla en alto cuando una página se pasa. Eso es lo que impide que vuelva: los cuatro arreglos de arriba costaron un día, y llevaban meses haciendo falta solo porque nadie estaba contando.
Las herramientas están ahí cuando las necesites, y ninguna te pedirá registrarte para saber cuánto pesa.