SQLite inowedzera WASM rutsigiro rwekushandisa iyo DBMS muwebhu browser

Vagadziri veSQLite vari kugadzira purojekiti yekushandisa kugona kuunganidza raibhurari muWebAssembly yepakati kodhi, inokwanisa kumhanya muwebhu browser uye yakakodzera kuronga basa nedatabase kubva pawebhu application muJavaScript. Kodhi yekutsigira WebAssembly yakawedzerwa kune huru purojekiti repository. Kusiyana neWebSQL API, iyo yakavakirwa paSQLite, WASM SQLite yakaparadzaniswa zvachose nebrowser uye haikanganise kuchengetedzwa kwayo (Google yakafunga kuregeredza rutsigiro rweWebSQL muChrome mushure mekusagadzikana kwakati muSQLite kuchigona kushandiswa kuburikidza neWebSQL kurwisa browser) .

Chinangwa chepurojekiti ndechekupa inoshanda JavaScript chimiro chakafanana mukushanda kune SQLite API. Vagadziri veWebhu vanopihwa yakakwira-level-yakatarisana nechinhu chekushanda nedata muchimiro chesql.js kana Node.js, inosunga pamusoro peiyo yakaderera-level C API uye API yakavakirwa paWebhu Worker mechanism, iyo inobvumira. iwe kuti ugadzire asynchronous handlers akaurayiwa mune akasiyana shinda. Kuti uvanze kusanzwisisika kwekuronga basa nehova pamusoro peWeb Worker-based API, shanduro yepurogiramu yepurogiramu inobva paPromise mechanism iri kugadzirwa zvakare.

Iyo data inochengetwa newebhu maapplication muWASM vhezheni yeSQLite inogona kugariswa mukati mechikamu chazvino (kurasika mushure mekurodhazve peji) kana kuchengetwa kudivi revatengi (kuchengetwa pakati pezvikamu). Kuti uchengetedze zvachose, mabackends akagadzirirwa kuisa data mune yemuno faira system uchishandisa OPFS (Origin-Private FileSystem, yekuwedzera kune File System Access API, iripo chete mumabhurawuza akavakirwa paWebKit neChromium) uye mune yemuno browser yekuchengetedza yakavakirwa. pahwindo.localStorage API uye window.sessionStorage. Paunenge uchishandisa localStorage/sessionStorage, iyo data inoratidzwa muzvitoro zvinoenderana mukiyi / kukosha fomati, uye kana uchishandisa OPFS, pane maviri sarudzo: kutevedzera chaiyo FS uchishandisa WASMFS uye yakaparadzana kuita sqlite3_vfs, ichipa SQLite VFS layer yakavakirwa. paOPFS.

Kuvaka SQLite mukuona kweWASM, iyo Emscripten compiler inoshandiswa (yakakwana kuvaka ext/wasm yekuwedzera: "./configure -enable-all; make sqlite3.c; cd ext/wasm; make"). Izvo zvakabuda ndeye sqlite3.js uye sqlite3.wasm mafaira, anogona kuiswa muJavaScript project yako (HTML uye JavaScript muenzaniso).

Source: opennet.ru

Voeg