SQLite په ویب براوزر کې د DBMS کارولو لپاره د WASM ملاتړ اضافه کوي

د SQLite پراختیا کونکي یوه پروژه رامینځته کوي ترڅو د ویب اسسمبلي منځګړی کوډ کې د کتابتون د تالیف کولو وړتیا پلي کړي ، په ویب براوزر کې د چلولو وړ وي او په جاواسکریپټ کې د ویب غوښتنلیکونو ډیټابیس سره د کار تنظیم کولو لپاره مناسب وي. د WebAssembly مالتړ لپاره کوډ د پروژې اصلي ذخیره کې اضافه شوی. د WebSQL API برعکس، کوم چې د SQLite پر بنسټ والړ دی، WASM SQLite په بشپړه توګه له براوزر څخه جلا شوی او د هغې امنیت اغیزه نه کوي (ګوګل پریکړه وکړه چې په کروم کې د ویب ایس کیو ایل لپاره ملاتړ له مینځه یوسي وروسته له دې چې په SQLite کې ډیری زیانونه د ویب ایس کیو ایل له لارې په براوزر برید کولو لپاره کارول کیدی شي) .

د پروژې هدف د جاواسکریپټ کاري چوکاټ چمتو کول دي چې د SQLite API سره په فعالیت کې ورته وي. د ویب پراختیا کونکو ته د sql.js یا Node.js په سټایل کې د ډیټا سره کار کولو لپاره د لوړې کچې اعتراض پر بنسټ انٹرفیس چمتو کیږي ، د ټیټې کچې C API باندې پابند او د ویب کارګر میکانیزم پراساس یو API ، کوم چې اجازه ورکوي تاسو په جلا تارونو کې اجرا شوي غیر متناسب هینډلرونه رامینځته کړئ. د ویب کارګر میشته API په سر کې د جریانونو سره د کار تنظیم کولو پیچلتیاو پټولو لپاره ، د وعدې میکانیزم پراساس د برنامې انٹرفیس نسخه هم رامینځته کیږي.

هغه معلومات چې ویب غوښتنلیکونه د SQLite په WASM نسخه کې ذخیره کوي په اوسنۍ ناسته کې ځایی کیدلی شي (د پا pageې له پورته کیدو وروسته ورک شوي) یا د پیرودونکي اړخ کې زیرمه شوي (د غونډو ترمینځ خوندي شوي). د دایمي ذخیرې لپاره، بیک انډونه د OPFS په کارولو سره په محلي فایل سیسټم کې د معلوماتو د ځای په ځای کولو لپاره چمتو شوي دي (اصلي - شخصي فایل سیسټم، د فایل سیسټم لاسرسي API ته توسیع، اوس مهال یوازې د ویب کیټ او کرومیم پر بنسټ براوزرونو کې شتون لري) او د محلي براوزر ذخیره کې. په window.localStorage API او window.sessionStorage کې. کله چې د لوکل سټورج/سیشن سټوریج کاروئ، ډاټا په اړونده پلورنځیو کې د کلیدي/ ارزښت په بڼه منعکس کیږي، او کله چې OPFS کاروي، دوه اختیارونه شتون لري: د WASMFS په کارولو سره د مجازی FS سمبالول او د sqlite3_vfs جلا تطبیق، د SQLite VFS پرت وړاندې کول. په OPFS کې.

د WASM لید کې د SQLite رامینځته کولو لپاره ، د ایمسکریپټین کمپیلر کارول کیږي (دا د ext/wasm توسیع جوړولو لپاره کافي دی: "./configure —enable-all; make sqlite3.c; cd ext/wasm; make"). محصول د sqlite3.js او sqlite3.wasm فایلونه دي، کوم چې ستاسو په جاواسکریپټ پروژه کې شامل کیدی شي (HTML او JavaScript مثال).

سرچینه: opennet.ru

Add a comment