ะ ะฐะทัะฐะฑะพััะธะบะธ SQLite ัะฐะทะฒะธะฒะฐัั ะฟัะพะตะบั ะฟะพ ัะตะฐะปะธะทะฐัะธะธ ะฒะพะทะผะพะถะฝะพััะธ ะบะพะผะฟะธะปััะธะธ ะฑะธะฑะปะธะพัะตะบะธ ะฒ ะฟัะพะผะตะถััะพัะฝัะน ะบะพะด WebAssembly, ัะฟะพัะพะฑะฝัะน ะทะฐะฟััะบะฐัััั ะฒ web-ะฑัะฐัะทะตัะต ะธ ะฟัะธะณะพะดะฝัะน ะดะปั ะพัะณะฐะฝะธะทะฐัะธะธ ัะฐะฑะพัั ั ะะ ะธะท web-ะฟัะธะปะพะถะตะฝะธะน ะฝะฐ ัะทัะบะต JavaScript. ะะพะด ะดะปั ะฟะพะดะดะตัะถะบะธ WebAssembly ะดะพะฑะฐะฒะปะตะฝ ะฒ ะพัะฝะพะฒะฝะพะน ัะตะฟะพะทะธัะพัะธะน ะฟัะพะตะบัะฐ. ะ ะพัะปะธัะธะต ะพั API WebSQL, ะฒ ะพัะฝะพะฒะต ะบะพัะพัะพะณะพ ะปะตะถะธั SQLite, WASM SQLite ะฟะพะปะฝะพัััั ะธะทะพะปะธัะพะฒะฐะฝ ะพั ะฑัะฐัะทะตัะฐ ะธ ะฝะต ะฒะปะธัะตั ะฝะฐ ะตะณะพ ะฑะตะทะพะฟะฐัะฝะพััั (Google ัะตัะธะป ะพัะบะฐะทะฐัััั ะพั ะฟะพะดะดะตัะถะบะธ WebSQL ะฒ Chrome ะฟะพัะปะต ะฝะตัะบะพะปัะบะธั ััะทะฒะธะผะพััะตะน ะฒ SQLite, ะบะพัะพััะต ะผะพะถะฝะพ ะฑัะปะพ ัะบัะฟะปัะฐัะธัะพะฒะฐัั ัะตัะตะท WebSQL ะดะปั ะฐัะฐะบะธ ะฝะฐ ะฑัะฐัะทะตั).
ะฆะตะปัั ะฟัะพะตะบัะฐ ัะฒะปัะตััั ะฟัะตะดะพััะฐะฒะปะตะฝะธะต ัะฐะฑะพัะตะน JavaScript-ะพะฑะฒัะทะบะธ, ะธะดะตะฝัะธัะฝะพะน ะฟะพ ััะฝะบัะธะพะฝะฐะปัะฝะพััะธ ั API SQLite. Web-ัะฐะทัะฐะฑะพััะธะบะฐะผ ะฟัะตะดะพััะฐะฒะปัะตััั ะฒััะพะบะพััะพะฒะฝะตะฒัะน ะพะฑัะตะบัะฝะพ-ะพัะธะตะฝัะธัะพะฒะฐะฝะฝัะน ะธะฝัะตััะตะนั ะดะปั ัะฐะฑะพัั ั ะดะฐะฝะฝัะผะธ ะฒ ััะธะปะต sql.js ะธะปะธ Node.js, ะพะฑะฒัะทะบะฐ ะฝะฐะด ะฝะธะทะบะพััะพะฒะฝะตะฒัะผ C API ะธ API ะฝะฐ ะฑะฐะทะต ะผะตั ะฐะฝะธะทะผะฐ Web Worker, ะฟะพะทะฒะพะปัััะธะน ัะพะทะดะฐะฒะฐัั ะฐัะธะฝั ัะพะฝะฝัะต ะพะฑัะฐะฑะพััะธะบะธ, ะฒัะฟะพะปะฝัะตะผัะต ะฒ ะพัะดะตะปัะฝัั ะฟะพัะพะบะฐั . ะะปั ัะบัััะธั ัะพะฝะบะพััะตะน ะพัะณะฐะฝะธะทะฐัะธะธ ัะฐะฑะพัั ั ะฟะพัะพะบะฐะผะธ ะฟะพะฒะตัั API ะฝะฐ ะฑะฐะทะต Web Worker ัะฐะบะถะต ัะฐะทะฒะธะฒะฐะตััั ะฒะฐัะธะฐะฝั ะฟัะพะณัะฐะผะผะฝะพะณะพ ะธะฝัะตััะตะนัะฐ ะฝะฐ ะพัะฝะพะฒะต ะผะตั ะฐะฝะธะทะผะฐ Promise.
ะะฐะฝะฝัะต, ะบะพัะพััะต web-ะฟัะธะปะพะถะตะฝะธั ัะพั ัะฐะฝััั ะฒ WASM-ะฒะตััะธะธ SQLite, ะผะพะณัั ะฑััั ะปะพะบะฐะปะธะทะพะฒะฐะฝั ะฒ ัะฐะผะบะฐั ัะตะบััะตะณะพ ัะตะฐะฝัะฐ (ัะตัััััั ะฟะพัะปะต ะฟะตัะตะทะฐะณััะทะบะธ ัััะฐะฝะธั) ะธะปะธ ัะพั ัะฐะฝะตะฝั ะฝะฐ ััะพัะพะฝะต ะบะปะธะตะฝัะฐ (ัะพั ัะฐะฝััััั ะผะตะถะดั ัะตะฐะฝัะฐะผะธ). ะะปั ะฟะพััะพัะฝะฝะพะณะพ ั ัะฐะฝะตะฝะธั ะฟะพะดะณะพัะพะฒะปะตะฝั ะฑัะบะตะฝะดั ะดะปั ัะฐะทะผะตัะตะฝะธั ะดะฐะฝะฝัั ะฒ ะปะพะบะฐะปัะฝะพะน ะคะก ะฟัะธ ะฟะพะผะพัะธ OPFS (Origin-Private FileSystem, ัะฐััะธัะตะฝะธะต ะบ API File System Access, ะดะพัััะฟะฝะพะต ะฟะพะบะฐ ัะพะปัะบะพ ะฒ ะฑัะฐัะทะตัะฐั ะฝะฐ ะพัะฝะพะฒะต WebKit ะธ Chromium) ะธ ะฒ ะปะพะบะฐะปัะฝัั ะฑัะฐัะทะตัะฝัั ั ัะฐะฝะธะปะธัะฐั ะฝะฐ ะฑะฐะทะต API window.localStorage ะธ window.sessionStorage. ะ ัะปััะฐะต ะฟัะธะผะตะฝะตะฝะธั localStorage/sessionStorage ะดะฐะฝะฝัะต ะพััะฐะถะฐัััั ะฒ ัะพะพัะฒะตัััะฒัััะธะต ั ัะฐะฝะธะปะธัะฐ ะฒ ัะพัะผะฐัะต ะบะปัั/ะทะฝะฐัะตะฝะธะต, ะฐ ะฟัะธ ะฟัะธะผะตะฝะตะฝะธะธ OPFS ะฟัะตะดััะผะพััะตะฝะพ ะดะฒะฐ ะฒะฐัะธะฐะฝัะฐ: ัะธะผัะปััะธั ะฒะธัััะฐะปัะฝะพะน ะคะก ะฟัะธ ะฟะพะผะพัะธ WASMFS ะธ ะพัะดะตะปัะฝะฐั ัะตะฐะปะธะทะฐัะธั sqlite3_vfs, ะฟัะตะดะปะฐะณะฐััะฐั ัะปะพะน SQLite VFS ะฝะฐ ะฑะฐะทะต OPFS.
ะะปั ัะฑะพัะบะธ SQLite ะฒ WASM-ะฟัะตะดััะฐะฒะปะตะฝะธะต ะทะฐะดะตะนััะฒะพะฒะฐะฝ ะบะพะผะฟะธะปััะพั Emscripten (ะดะพััะฐัะพัะฝะพ ัะพะฑัะฐัั ัะฐััะธัะตะฝะธะต ext/wasm: ยซ./configure โenable-all; make sqlite3.c; cd ext/wasm; makeยป). ะะฐ ะฒัั
ะพะดะต ัะพัะผะธัััััั ัะฐะนะปั sqlite3.js ะธ sqlite3.wasm, ะบะพัะพััะต ะผะพะถะฝะพ ะฒะบะปััะธัั ะฒ ัะฒะพะน JavaScript-ะฟัะพะตะบั (ะฟัะธะผะตั HTML ะธ JavaScript).
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru