- Document.writeln() inserta texto con saltos de línea pero puede borrar el contenido de la página si se usa tras la carga completa.
- La API de Writer integra IA generativa en Chrome para redactar contenido automáticamente según el tono y formato deseados.
- Los Web Workers permiten ejecutar procesos pesados en hilos secundarios para evitar que la interfaz de usuario se bloquee.

Cuando nos metemos en el mundo del desarrollo web, es normal cruzarse con métodos que parecen sacados de la prehistoria pero que siguen ahí, como es el caso de document.writeln(). Esta función es una herramienta básica de las Web APIs que permite soltar texto directamente en el flujo del documento HTML, aunque hoy en día se recomienda andar con pies de plomo al usarla para no cargarnos la estructura de la página.
Lo curioso es que, mientras algunos métodos antiguos pasan a mejor vida, Chrome está lanzando cosas flipantes como la API de Writer, que mete inteligencia artificial generativa directamente en el navegador. Así que pasamos de escribir una línea de texto a mano a generar párrafos enteros con IA, todo dentro del mismo ecosistema de APIs web.
Todo sobre el método document.writeln()
A ver, para empezar, el método document.writeln() funciona de forma casi idéntica a su hermano menor, document.write(). La única diferencia real es que el primero añade un salto de línea (el carácter U+000A) al final de cada cadena que escribimos. Es decir, si escribes varias líneas, el código fuente del HTML quedará más ordenado.
Pero ojo, que aquí viene la pega. Este método escribe directamente en el stream del documento. Si te ocurre que llamas a esta función cuando la página ya ha terminado de cargar, el navegador ejecutará automáticamente un document.open(), lo que significa que borrará todo el contenido actual de la web para empezar de cero. Básicamente, te quedas con la página en blanco y solo lo que hayas escrito con el método.
Limitaciones y advertencias importantes
- Documentos XHTML: Si intentas usarlo en un archivo .xhtml o con el MIME type
application/xhtml+xml, el navegador te lanzará un error de operación no soportada. - Scripts asíncronos: Si el script tiene los atributos
deferoasync, el navegador ignorará la llamada y verás un aviso en la consola indicando que no se puede ejecutar desde un script cargado asíncronamente. - Riesgo de DOM: Se desaconseja su uso habitual ya que puede interferir con el HTML Parser, creando un árbol DOM inconsistente y dando problemas de rendimiento.
La nueva era: API de Writer y IA integrada
Si el método anterior era rudimentario, la API de Writer es el siguiente nivel. Esta herramienta, que forma parte de las APIs de Writing Assistance, utiliza un modelo de IA generativa (basado en Gemini Nano) para crear contenido nuevo según una tarea específica, como redactar correos, entradas de blog o reseñas.
Para que esto funcione, el navegador necesita requisitos de hardware potentes. Por ejemplo, en Chrome para escritorio, se requiere Windows 10/11, macOS Ventura o posterior, y un espacio libre de al menos 22 GB en el disco para descargar el modelo. Además, es fundamental contar con una GPU de más de 4 GB de VRAM o, en su defecto, 16 GB de RAM y un procesador de 4 núcleos.
Cómo implementar la API de Writer
Primero hay que comprobar si el navegador es compatible usando 'Writer' in self. Luego, se verifica la disponibilidad del modelo con Writer.availability(). Si el modelo es descargable, podemos llamar a Writer.create() para configurar la sesión, donde podemos definir el tono (formal, neutral o casual), el formato (markdown o texto plano) y la longitud del texto.
Existen dos formas de obtener la respuesta de la IA: la salida basada en solicitudes, donde el modelo procesa todo y entrega el resultado final mediante writer.write(), y la transmisión (streaming), que usa writeStreaming() para ir mostrando el texto en tiempo real mientras se genera, lo cual es mucho más fluido para el usuario.
Optimización de procesos con Web Workers
Para que la interfaz de usuario no se quede congelada mientras procesamos datos pesados o generamos textos complejos, entra en juego la Web Workers API. Esta herramienta permite ejecutar scripts en un hilo separado del principal, evitando que la UI se bloquee.
En un worker, no podemos tocar el DOM directamente ni usar alert(), pero sí tenemos acceso a Promise y Fetch. La comunicación se hace mediante el método postMessage() para enviar datos y el evento onmessage para recibirlos. Por ejemplo, podemos crear un hilo con new Worker('worker.js') y delegarle tareas pesadas para que el usuario pueda seguir interactuando con la web sin tirones.
El manejo de las APIs web ha evolucionado desde la simple inserción de texto con document.writeln() hasta la delegación de tareas en hilos secundarios y la generación de contenido mediante modelos de IA integrados en el propio navegador, permitiendo crear aplicaciones mucho más dinámicas, rápidas y capaces de asistir al usuario en la creación de contenido complejo sin comprometer la estabilidad del sistema.



