Mae SQLite yn ychwanegu cefnogaeth WASM ar gyfer defnyddio'r DBMS mewn porwr gwe

Mae datblygwyr SQLite yn datblygu prosiect i weithredu'r gallu i grynhoi'r llyfrgell i god canolraddol WebAssembly, sy'n gallu rhedeg mewn porwr gwe ac sy'n addas ar gyfer trefnu gwaith gyda'r gronfa ddata o gymwysiadau gwe yn JavaScript. Mae cod i gefnogi WebAssembly wedi'i ychwanegu at brif gadwrfa'r prosiect. Yn wahanol i'r WebSQL API, sy'n seiliedig ar SQLite, mae WASM SQLite wedi'i ynysu'n llwyr o'r porwr ac nid yw'n effeithio ar ei ddiogelwch (penderfynodd Google anghymeradwyo cefnogaeth ar gyfer WebSQL yn Chrome ar ôl y gallai nifer o wendidau yn SQLite gael eu hecsbloetio trwy WebSQL i ymosod ar y porwr) .

Nod y prosiect yw darparu fframwaith JavaScript gweithredol sy'n union yr un fath o ran ymarferoldeb ag API SQLite. Darperir rhyngwyneb gwrthrych-ganolog lefel uchel i ddatblygwyr gwe ar gyfer gweithio gyda data yn arddull sql.js neu Node.js, rhwymiad dros yr API C lefel isel ac API yn seiliedig ar fecanwaith Web Worker, sy'n caniatáu chi i greu trinwyr asyncronaidd wedi'u gweithredu mewn edafedd ar wahân. Er mwyn cuddio cymhlethdodau trefnu gwaith gyda ffrydiau ar ben yr API Seiliedig ar Weithwyr Gwe, mae fersiwn o ryngwyneb y rhaglen yn seiliedig ar fecanwaith Addewid hefyd yn cael ei ddatblygu.

Gellir lleoleiddio'r data y mae cymwysiadau gwe yn ei storio yn fersiwn WASM o SQLite yn y sesiwn gyfredol (wedi'i golli ar ôl ail-lwytho tudalennau) neu ei storio ar ochr y cleient (wedi'i gadw rhwng sesiynau). Ar gyfer storio parhaol, mae ôl-wynebau wedi'u paratoi ar gyfer gosod data yn y system ffeiliau leol gan ddefnyddio OPFS (Origin-Private FileSystem, estyniad i'r API Mynediad System Ffeil, sydd ar gael ar hyn o bryd mewn porwyr sy'n seiliedig ar WebKit a Chromium yn unig) ac mewn storfa porwr lleol yn seiliedig ar ar yr API window.localStorage a window.sessionStorage. Wrth ddefnyddio localStorage/sessionStorage, adlewyrchir y data yn y storfeydd cyfatebol mewn fformat allwedd/gwerth, ac wrth ddefnyddio OPFS, mae dau opsiwn: efelychu FS rhithwir gan ddefnyddio WASMFS a gweithredu sqlite3_vfs ar wahân, gan gynnig haen SQLite VFS yn seiliedig ar ar OPFS.

I adeiladu SQLite i mewn i olwg WASM, defnyddir y casglwr Emscripten (mae'n ddigon i adeiladu'r estyniad ext/wasm: “./configure —enable-all; make sqlite3.c; cd ext/wasm; make”). Yr allbwn yw ffeiliau sqlite3.js a sqlite3.wasm, y gellir eu cynnwys yn eich prosiect JavaScript (enghraifft HTML a JavaScript).

Ffynhonnell: opennet.ru

Ychwanegu sylw