SQLite na-agbakwụnye nkwado WASM maka iji DBMS na ihe nchọgharị weebụ

Ndị mmepe SQLite na-emepụta ọrụ iji mejuputa ikike ịchịkọta ọba akwụkwọ n'ime koodu etiti WebAssembly, nke nwere ike ịgba ọsọ na ihe nchọgharị weebụ ma dabara adaba maka ịhazi ọrụ na nchekwa data sitere na ngwa weebụ na JavaScript. E tinyela koodu iji kwado WebAssembly na ebe nchekwa ọrụ bụ isi. N'adịghị ka WebSQL API, nke dabeere na SQLite, WASM SQLite bụ kpamkpam dịpụrụ adịpụ na ihe nchọgharị ahụ na ọ dịghị emetụta ya nche (Google kpebiri deprecate support maka WebSQL na Chrome mgbe ọtụtụ vulnerabilities na SQLite nwere ike na-erigbu site WebSQL iji wakpo ihe nchọgharị) .

Ebumnobi nke oru ngo a bụ ịnye usoro Javascript na-arụ ọrụ nke yiri ya na arụmọrụ ya na SQLite API. A na-enye ndị na-emepụta ihe ntanetị nwere ihe dị elu na-adabere na ihe dị elu maka ịrụ ọrụ na data n'ụdị sql.js ma ọ bụ Node.js, nke na-ejikọta C API dị ala na API dabere na usoro onye ọrụ Weebụ, nke na-enye ohere. ị ga-emepụta ndị na-ahụ maka asynchronous nke egburu n'ime eriri dị iche iche. Iji zoo mgbagwoju anya nke ịhazi ọrụ na iyi dị n'elu API nke Onye Ọrụ Weebụ, a na-emepụtakwa ụdị ihe omume mmemme dabere na usoro Nkwa.

Enwere ike ịdekọ data nke ngwa weebụ na ụdị WASM nke SQLite n'ime nnọkọ dị ugbu a (efunahụ mgbe ebughachite ibe ya) ma ọ bụ chekwaa n'akụkụ ndị ahịa (echekwara n'etiti nnọkọ). Maka nchekwa na-adịgide adịgide, akwadoro azụ azụ maka itinye data na sistemụ faịlụ mpaghara site na iji OPFS (Origin-Private FileSystem, ndọtị na API Nweta Sistemụ Njikwa, dị ugbu a naanị na ihe nchọgharị dabere na WebKit na Chromium) yana na nchekwa ihe nchọgharị mpaghara dabere. na mpio.localStorage API na window.sessionStorage. Mgbe ị na-eji localStorage/ sessionStorage, a na-egosipụta data ahụ na ụlọ ahịa ndị kwekọrọ na usoro igodo / uru, na mgbe ị na-eji OPFS, enwere nhọrọ abụọ: ịmegharị FS mebere site na iji WASMFS na mmejuputa dị iche iche nke sqlite3_vfs, na-enye SQLite VFS oyi akwa dabeere. na OPFS.

Iji wuo SQLite n'ime nlele WASM, a na-eji Emscripten compiler (o zuru iji wuo ext/wasm ndọtị: “./configure —enable-all; make sqlite3.c; cd ext/wasm; make”). Mmepụta bụ sqlite3.js na sqlite3.wasm faịlụ, nke enwere ike itinye n'ọrụ Javascript gị (HTML na Javascript atụ).

isi: opennet.ru

Tinye a comment