I-SQLite yongeza inkxaso ye-WASM yokusebenzisa i-DBMS kwisikhangeli sewebhu

Abaphuhlisi beSQLite baphuhlisa iprojekthi yokuphumeza isakhono sokuqulunqa ithala leencwadi kwikhowudi ephakathi yeWebAssembly, ekwaziyo ukusebenza kwibhrawuza yewebhu kwaye ilungele ukulungelelanisa umsebenzi kunye nedathabheyisi kwizicelo zewebhu kwiJavaScript. Ikhowudi yokuxhasa iWebAssembly yongezwe kwindawo yokugcina iprojekthi. Ngokungafaniyo neWebSQL API, esekwe kwiSQLite, iWASM SQLite ibekwe yodwa ngokupheleleyo kwisikhangeli kwaye ayichaphazeli ukhuseleko lwayo (uGoogle wagqiba kwelokuba ayeke inkxaso yeWebSQL kwiChrome emva kobuthathaka obuninzi kwiSQLite bunokusetyenziswa ngeWebSQL ukuhlasela umkhangeli zincwadi) .

Injongo yeprojekthi kukubonelela ngesakhelo esisebenzayo seJavaScript esifana nokusebenza kwiSQLite API. Abaphuhlisi bewebhu babonelelwa nge-interface ejolise kwinto ephezulu yokusebenza kunye nedatha kwisitayela se-sql.js okanye i-Node.js, isibophelelo kwi-API ephantsi ye-C API kunye ne-API esekelwe kwi-Web Worker mechanism, evumela. ukwenza iziphatho ezingahambelaniyo ezisetyenziswe kwimisonto eyahlukeneyo. Ukufihla ubucukubhede bokulungiselela umsebenzi kunye nemilambo phezulu kwe-API esekwe kwi-Web Worker, inguqulelo yenkqubo yojongano lwenkqubo esekelwe kwindlela ye-Promise nayo iyaphuhliswa.

Idatha egcinwa kwizicelo zewebhu kuguqulelo lwe-WASM lweSQLite lunokuthi lubekwe ngaphakathi kwiseshoni yangoku (ilahlekile emva kokulayishwa kwakhona kwephepha) okanye igcinwe kwicala lomxhasi (igcinwe phakathi kweeseshoni). Ukugcinwa ngokusisigxina, i-backends ilungiselelwe ukubeka idatha kwinkqubo yefayile yendawo usebenzisa i-OPFS (Imvelaphi-yabucala yeFayileSystem, ulwandiso kwiFayile yeFayile yokuFikelela iAPI, okwangoku ifumaneka kuphela kwiiphequluli ezisekelwe kwiWebKit kunye neChromium) kunye nokugcinwa kwesikhangeli sendawo. kwifestile.localStorage API kunye window.sessionStorage. Xa usebenzisa iLocalStore/sessionStorage, idatha ibonakaliswa kwiivenkile ezihambelanayo kwifomati yesitshixo/yexabiso, kwaye xa usebenzisa i-OPFS, kukho iinketho ezimbini: ukulinganisa iFS yenyani usebenzisa iWASMFS kunye nokuphunyezwa okwahlukileyo kwesqlite3_vfs, inikezela umaleko weVFS weSQLite esekwe. kwi-OPFS.

Ukwakha i-SQLite kumbono we-WASM, i-Emscripten compiler isetyenzisiweyo (yanele ukwakha i-ext/wasm extension: "./configure -enable-all; make sqlite3.c; cd ext/wasm; make"). Imveliso yi sqlite3.js kunye neefayile ze sqlite3.wasm, ezinokubandakanywa kwiprojekthi yakho yeJavaScript (umzekelo weHTML kunye neJavaScript).

umthombo: opennet.ru

Yongeza izimvo