Versión web del motor, 100% client-side #5

Closed
opened 2026-07-31 12:58:53 +00:00 by alexandrev · 1 comment
Owner

Portar el motor a la web sin subir ficheros: todo se procesa en el navegador, con las mismas features (ZIP/JAR/EAR como carpetas, comparación semántica JSON/XML, diff de líneas).

Motivo: los ficheros nunca salen del navegador, así que no hay coste de storage ni problema de confidencialidad — que era lo que descartaba la webapp cuando se planteó.

Decisión técnica: port a TypeScript en vez de SwiftWasm, porque XMLDocument y Compression son de Apple y el navegador ya da DOMParser, JSON.parse y DecompressionStream('deflate-raw').

Portar el motor a la web sin subir ficheros: todo se procesa en el navegador, con las mismas features (ZIP/JAR/EAR como carpetas, comparación semántica JSON/XML, diff de líneas). Motivo: los ficheros nunca salen del navegador, así que no hay coste de storage ni problema de confidencialidad — que era lo que descartaba la webapp cuando se planteó. Decisión técnica: port a TypeScript en vez de SwiftWasm, porque XMLDocument y Compression son de Apple y el navegador ya da DOMParser, JSON.parse y DecompressionStream('deflate-raw').
Author
Owner

Implementado en 3754abe. Motor portado (zip/content/diff/tree) y 34 tests portados desde los del motor Swift, todos en verde; tsc --noEmit limpio.

Implementado en 3754abe. Motor portado (zip/content/diff/tree) y 34 tests portados desde los del motor Swift, todos en verde; `tsc --noEmit` limpio.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alexandrev/kotej#5