Ka taapirihia e SQLite te tautoko WASM mo te whakamahi i te DBMS i roto i te tirotiro paetukutuku

Kei te whakawhanake nga kaiwhakawhanake SQLite i tetahi kaupapa ki te whakatinana i te kaha ki te whakahiato i te whare pukapuka ki roto i te waehere takawaenga WebAssembly, ka taea te whakahaere i roto i te kaitirotiro paetukutuku me te pai mo te whakarite mahi me te paataka raraunga mai i nga tono tukutuku i roto i te JavaScript. Ko te waehere hei tautoko i te WebAssembly kua taapirihia ki te putunga kaupapa matua. Kaore i rite ki te API WebSQL, kei runga i te SQLite, WASM SQLite kua tino wehea mai i te tirotiro me te kore e pa ki tona haumarutanga (kua whakatau a Google ki te whakakore i te tautoko mo te WebSQL i Chrome i muri i te maha o nga whakaraeraetanga o SQLite ka taea te whakamahi ma te WebSQL ki te whakaeke i te tirotiro) .

Ko te whainga o te kaupapa ko te whakarato i tetahi anga mahi JavaScript e rite ana ki te mahi ki te SQLite API. Ka whakawhiwhia ki nga kaiwhakawhanake paetukutuku he atanga-a-ahanoa taumata-tiketike mo te mahi me nga raraunga i te ahua o te sql.js, Node.js ranei, he here ki runga i te taumata iti C API me tetahi API i runga i te mahinga Kaimahi Tukutuku, e taea ai ki te hanga i nga kaikawe tukutahi ka mahia ki nga miro motuhake. Hei huna i nga uauatanga o te whakarite mahi me nga awa kei runga ake o te API e ahu mai ana i te Kaimahi Tukutuku, kei te hangaia ano he putanga o te atanga hotaka i runga i te tikanga Whakatau.

Ko nga raraunga ka penapenahia e nga tono tukutuku ki te putanga WASM o SQLite ka taea te waahi i roto i te waahi o naianei (kua ngaro i muri i te utaina ano o te whaarangi) ka penapena ranei ki te taha o te kiritaki (kua tiakina i waenga i nga waahi). Mo te rokiroki tuturu, kua rite nga pito o muri mo te whakatakoto raraunga ki te punaha konae a-rohe ma te whakamahi i te OPFS (Pūnaha Kōnae Taketake-Tumataiti, he toronga ki te API Whakaaetanga Pūnaha Kōnae, kei te waatea noa i nga kaitirotiro e pa ana ki te WebKit me te Chromium) me te rokiroki tirotiro a-rohe. i runga i te matapihi.localStorage API me te window.sessionStorage. I te wa e whakamahi ana i te localStorage/sessionStorage, ka kitea nga raraunga i roto i nga toa e rite ana i roto i te whakatakotoranga matua/uara, a ka whakamahi i te OPFS, e rua nga whiringa: te whakatauira i te FS mariko ma te whakamahi i te WASMFS me te whakatinanatanga motuhake o te sqlite3_vfs, e tuku ana i te paparanga SQLite VFS i runga i te OPFS.

Hei hanga SQLite ki te tirohanga WASM, ka whakamahia te Emscripten compiler (he nui noa ki te hanga i te toronga ext/wasm: “./configure —enable-all; make sqlite3.c; cd ext/wasm; make”). Ko te putanga ko nga konae sqlite3.js me sqlite3.wasm, ka taea te whakauru ki to kaupapa JavaScript (he tauira HTML me JavaScript).

Source: opennet.ru

Tāpiri i te kōrero