SQLite ṣafikun atilẹyin WASM fun lilo DBMS ni ẹrọ aṣawakiri wẹẹbu kan

Awọn olupilẹṣẹ SQLite n ṣe agbekalẹ iṣẹ akanṣe kan lati ṣe imuse agbara lati ṣajọ ile-ikawe sinu koodu agbedemeji WebAssembly, ti o lagbara lati ṣiṣẹ ni ẹrọ aṣawakiri wẹẹbu kan ati pe o dara fun siseto iṣẹ pẹlu data data lati awọn ohun elo wẹẹbu ni JavaScript. Koodu lati ṣe atilẹyin WebAssembly ti ṣafikun si ibi ipamọ iṣẹ akanṣe akọkọ. Ko dabi WebSQL API, eyiti o da lori SQLite, WASM SQLite ti ya sọtọ patapata lati ẹrọ aṣawakiri ati ko ni ipa lori aabo rẹ (Google pinnu lati yọkuro atilẹyin fun WebSQL ni Chrome lẹhin ọpọlọpọ awọn ailagbara ni SQLite le ṣee lo nipasẹ WebSQL lati kọlu ẹrọ aṣawakiri naa) .

Ibi-afẹde ti iṣẹ akanṣe ni lati pese ilana JavaScript ti n ṣiṣẹ ti o jẹ aami ni iṣẹ ṣiṣe si API SQLite. Awọn olupilẹṣẹ wẹẹbu ni a pese pẹlu wiwo-iṣalaye ohun-ipele giga-giga fun ṣiṣẹ pẹlu data ni aṣa ti sql.js tabi Node.js, abuda lori ipele C API kekere ati API ti o da lori ẹrọ Osise Oju opo wẹẹbu, eyiti o fun laaye laaye. o lati ṣẹda asynchronous handlers executed ni lọtọ awon. Lati tọju awọn intricacies ti siseto iṣẹ pẹlu awọn ṣiṣan lori oke API ti o da lori Osise Wẹẹbu, ẹya ti wiwo eto ti o da lori ilana Ileri tun ti ni idagbasoke.

Awọn data ti awọn ohun elo wẹẹbu ti fipamọ sinu ẹya WASM ti SQLite le wa ni agbegbe laarin igba ti o wa lọwọlọwọ (ti sọnu lẹhin awọn atunbere oju-iwe) tabi ti o fipamọ sori ẹgbẹ alabara (ti o fipamọ laarin awọn akoko). Fun ibi ipamọ ayeraye, awọn ifẹhinti ti pese sile fun gbigbe data sinu eto faili agbegbe ni lilo OPFS (Oti-FiiliSystem Ikọkọ, itẹsiwaju si API Wiwọle Eto Faili, lọwọlọwọ wa nikan ni awọn aṣawakiri ti o da lori WebKit ati Chromium) ati ni ibi ipamọ aṣawakiri agbegbe ti o da lori ipilẹ. lori window.localStorage API ati window.sessionStorage. Nigbati o ba nlo ibi ipamọ agbegbe / igba ipamọ, data naa ṣe afihan ni awọn ile itaja ti o baamu ni ọna kika bọtini / iye, ati nigba lilo OPFS, awọn aṣayan meji wa: simulating FS foju kan nipa lilo WASMFS ati imuse lọtọ ti sqlite3_vfs, ti o funni ni ipilẹ SQLite VFS Layer. lori OPFS.

Lati kọ SQLite sinu wiwo WASM, olupilẹṣẹ Emscripten ti lo (o to lati kọ itẹsiwaju ext/wasm: “./configure —enable-all; make sqlite3.c; cd ext/wasm; make”). Ijade jẹ sqlite3.js ati awọn faili sqlite3.wasm, eyiti o le wa ninu iṣẹ akanṣe JavaScript rẹ (HTML ati apẹẹrẹ JavaScript).

orisun: opennet.ru

Fi ọrọìwòye kun