E fa'aopoopo e SQLite le lagolago a le WASM mo le fa'aogaina o le DBMS i se 'upega tafa'ilagi

O loʻo faʻatupuina e le au atinaʻe SQLite se galuega faatino e faʻatino ai le mafai ona faʻapipiʻi le faletusi i totonu o le WebAssembly intermediate code, e mafai ona faʻatautaia i luga o le upega tafaʻilagi ma talafeagai mo le faʻatulagaina o galuega ma faʻamaumauga mai le upega tafaʻilagi i le JavaScript. Fa'ailoga e lagolago ai le WebAssembly ua fa'aopoopoina i le fale teu oloa autu. E le pei o le WebSQL API, lea e faʻavae i luga ole SQLite, WASM SQLite e matua vavae ese mai le browser ma e le afaina ai lona saogalemu (Google na filifili e faʻaumatia le lagolago mo WebSQL i Chrome pe a maeʻa le tele o faʻafitauli i SQLite e mafai ona faʻaogaina e ala ile WebSQL e osofaʻia ai le browser) .

O le sini o le poloketi o le tuʻuina atu lea o se faʻatulagaga JavaScript galue e tutusa lelei ma le SQLite API. O loʻo tuʻuina atu e le au atinaʻe i luga o le upega tafaʻilagi se atinaʻe faʻaoga-maualuga maualuga mo le galue i faʻamatalaga i le faiga o le sql.js poʻo le Node.js, o le fusifusia i luga ole laʻititi C API ma se API e faʻavae i luga o le masini Web Worker, lea e mafai ai. e te faia asynchronous handler fa'atino i filo eseese. Ina ia natia le lavelave o le faʻatulagaina o galuega ma vaitafe i luga o le Web Worker-based API, o loʻo faʻatulagaina foʻi se faʻasologa o le faʻaogaina o le polokalame e faʻavae i luga o le faiga o le Folafolaga.

O fa'amaumauga o lo'o teuina e 'upega tafa'ilagi i le WASM version of SQLite e mafai ona fa'aogaina i totonu o le vasega o lo'o i ai nei (maua'i pe a uma ona toe uta itulau) po'o le teuina i le itu o le kalani (fa'asaoina i le va o vasega). Mo le teuina tumau, pito i tua ua saunia mo le tuʻuina o faʻamatalaga i le faila faila i le lotoifale e faʻaaoga ai le OPFS (Origin-Private FileSystem, o se faʻaopoopoga i le File System Access API, o loʻo avanoa nei i na o suʻesuʻega e faʻavae i luga o WebKit ma Chromium) ma i totonu o le upega tafaʻilagi e teu ai. i luga o le window.localStorage API ma le window.sessionStorage. A faʻaaoga le localStorage / sessionStorage, o faʻamatalaga e atagia i totonu o faleoloa tutusa i se ki / faʻasologa o tau, ma pe a faʻaaogaina le OPFS, e lua filifiliga: faʻataʻitaʻiina se FS virtual e faʻaaoga ai le WASMFS ma se faʻatinoga eseʻese o le sqlite3_vfs, e ofoina atu se SQLite VFS faʻavae. i luga ole OPFS.

Ina ia fausia le SQLite i se vaaiga WASM, e faʻaaogaina le Emscripten compiler (ua lava e fausia ai le ext/wasm extension: “./configure —enable-all; make sqlite3.c; cd ext/wasm; make”). O le gaioiga o sqlite3.js ma sqlite3.wasm faila, lea e mafai ona aofia i lau poloketi JavaScript (faʻataʻitaʻiga HTML ma JavaScript).

puna: opennet.ru

Faaopoopo i ai se faamatalaga