SQLite dia manampy ny WASM fanohanan'ny fampiasana ny DBMS amin'ny navigateur web

Ny mpamorona SQLite dia mamolavola tetikasa iray hampiharana ny fahafahana manangona ny tranomboky ao amin'ny code intermediate WebAssembly, afaka mandeha amin'ny navigateur web ary mety amin'ny fandaminana ny asa miaraka amin'ny angon-drakitra avy amin'ny rindranasa tranonkala amin'ny JavaScript. Ny kaody hanohanana ny WebAssembly dia nampiana tao amin'ny tahiry lehibe indrindra. Tsy toy ny WebSQL API, izay mifototra amin'ny SQLite, ny WASM SQLite dia mitoka-monina tanteraka amin'ny navigateur ary tsy misy fiantraikany amin'ny fiarovana azy (Google dia nanapa-kevitra ny hanafoana ny fanohanana ny WebSQL ao amin'ny Chrome taorian'ny vulnerability maromaro ao amin'ny SQLite azo trandrahana amin'ny alΓ lan'ny WebSQL hanafika ny navigateur) .

Ny tanjon'ny tetikasa dia ny hanome rafitra JavaScript miasa izay mitovy amin'ny fiasa amin'ny SQLite API. Ny mpamorona tranonkala dia omena interface tsara mifototra amin'ny zavatra avo lenta mba hiasa miaraka amin'ny angona amin'ny fomba sql.js na Node.js, fatorana amin'ny C API ambany sy API mifototra amin'ny mekanika Web Worker, izay mamela ianao dia hamorona mpandrindra asynchronous tanterahana amin'ny kofehy misaraka. Mba hanafenana ny saro-pady amin'ny fandaminana asa miaraka amin'ny renirano eo an-tampon'ny API miorina amin'ny Web Worker, dia amboarina ihany koa ny dikan-tsarimihetsika fandaharana mifototra amin'ny mekanika Promise.

Ny angon-drakitra izay tehirizin'ny rindranasa an-tranonkala amin'ny dikan-teny WASM an'ny SQLite dia azo jerena ao anatin'ny fotoam-pivoriana ankehitriny (very taorian'ny namerenan'ny pejy) na voatahiry eo amin'ny lafiny mpanjifa (voatahiry eo anelanelan'ny fotoam-pivoriana). Ho an'ny fitehirizana maharitra, ny backends dia efa nomanina mba hametrahana angona ao amin'ny rafi-drakitra eo an-toerana amin'ny alΓ lan'ny OPFS (Origin-Private FileSystem, fanitarana ny File System Access API, tsy misy afa-tsy amin'ny navigateur mifototra amin'ny WebKit sy Chromium) ary amin'ny fitahirizana navigateur eo an-toerana. ao amin'ny window.localStorage API sy window.sessionStorage. Rehefa mampiasa localStorage/sessionStorage, ny angon-drakitra dia hita taratra ao amin'ny magazay mifanitsy amin'ny endrika fanalahidy/sarobidy, ary rehefa mampiasa OPFS dia misy safidy roa: ny fanaovana simulate FS virtoaly mampiasa WASMFS sy ny fampiharana manokana ny sqlite3_vfs, manolotra sosona SQLite VFS mifototra. amin'ny OPFS.

Mba hananganana SQLite amin'ny fomba fijery WASM, dia ampiasaina ny Emscripten compiler (afaka manamboatra ny fanitarana ext/wasm: β€œ./configure β€”enable-all; make sqlite3.c; cd ext/wasm; make”). Ny vokatra dia rakitra sqlite3.js sy sqlite3.wasm, izay azo ampidirina amin'ny tetikasa JavaScript-nao (ohatra HTML sy JavaScript).

Source: opennet.ru

Add a comment