SQLite ويب برائوزر ۾ DBMS استعمال ڪرڻ لاءِ WASM سپورٽ شامل ڪري ٿو

SQLite ڊولپرز ھڪڙي منصوبي کي ترقي ڪري رھيا آھن لائبريري کي گڏ ڪرڻ جي صلاحيت کي WebAssembly وچولي ڪوڊ ۾، ويب برائوزر ۾ هلائڻ جي قابل ۽ JavaScript ۾ ويب ايپليڪيشنن مان ڊيٽابيس سان ڪم کي منظم ڪرڻ لاء مناسب. WebAssembly کي سپورٽ ڪرڻ لاءِ ڪوڊ مين پروجيڪٽ ريپوزٽري ۾ شامل ڪيو ويو آھي. WebSQL API جي برعڪس، جيڪو SQLite تي ٻڌل آهي، WASM SQLite مڪمل طور تي برائوزر کان الڳ ٿي ويو آهي ۽ ان جي سيڪيورٽي کي متاثر نٿو ڪري (گوگل Chrome ۾ WebSQL لاءِ سپورٽ ختم ڪرڻ جو فيصلو ڪيو جڏهن ته SQLite ۾ ڪيتريون ئي ڪمزوريون WebSQL ذريعي استحصال ڪري سگهجن ٿيون برائوزر تي حملو ڪرڻ لاءِ) .

منصوبي جو مقصد ھڪڙو ڪم ڪندڙ JavaScript فريم ورڪ مهيا ڪرڻ آھي جيڪو ڪارڪردگي ۾ SQLite API جي ھڪڙي آھي. ويب ڊولپرز کي sql.js يا Node.js جي انداز ۾ ڊيٽا سان ڪم ڪرڻ لاءِ هڪ اعليٰ سطحي آبجیکٹ-اوئنٽيڊ انٽرفيس مهيا ڪيو ويندو آهي، هڪ پابند هيٺين-سطح جي C API ۽ هڪ API تي ٻڌل ويب ورڪر ميڪانيزم، جيڪا اجازت ڏئي ٿي. توھان ٺاھيو غير مطابقت رکندڙ ھينڊلر الڳ الڳ موضوعن ۾. ڪم کي منظم ڪرڻ جي پيچيدگين کي لڪائڻ لاءِ اسٽريمز سان گڏ ويب ورڪر-بنياد API جي چوٽي تي، پروگرام انٽرفيس جو هڪ نسخو مبني طور تي پروميس ميڪانيزم تي پڻ ترقي ڪئي پئي وڃي.

ڊيٽا جيڪا ويب ايپليڪيشنون SQLite جي WASM ورزن ۾ ذخيرو ڪري ٿي، موجوده سيشن ۾ مقامي ٿي سگھي ٿي (صفحو ٻيهر لوڊ ٿيڻ کان پوءِ گم ٿيل) يا ڪلائنٽ سائڊ تي ذخيرو ٿيل (سيشن جي وچ ۾ محفوظ ٿيل). مستقل اسٽوريج لاءِ، OPFS (Origin-Private FileSystem، File System Access API جي هڪ ايڪسٽينشن، في الحال صرف WebKit ۽ Chromium جي بنياد تي برائوزرن ۾ موجود آهي) ۽ مقامي برائوزر اسٽوريج جي بنياد تي مقامي فائل سسٽم ۾ ڊيٽا رکڻ لاءِ بيڪ اينڊ تيار ڪيا ويا آهن. window.localStorage API ۽ window.sessionStorage تي. مقامي اسٽوريج/سيشن اسٽوريج استعمال ڪرڻ وقت، ڊيٽا لاڳاپيل اسٽورن ۾ ڪيئي/ويليو فارميٽ ۾ ظاهر ٿئي ٿي، ۽ جڏهن OPFS استعمال ڪري رهيا آهن، اتي ٻه آپشن آهن: WASMFS استعمال ڪندي ورچوئل FS کي تخليق ڪرڻ ۽ sqlite3_vfs جو هڪ الڳ نفاذ، پيش ڪندي SQLite VFS پرت جي بنياد تي OPFS تي.

SQLite کي WASM ڏيک ۾ ٺاھڻ لاءِ، Emscripten compiler استعمال ڪيو ويندو آھي (اهو ڪافي آھي ext/wasm ايڪسٽينشن: “./configure —enable-all؛ make sqlite3.c; cd ext/wasm; make”). ٻاھر آھي sqlite3.js ۽ sqlite3.wasm فائلون، جيڪي توھان جي JavaScript پروجيڪٽ ۾ شامل ڪري سگھجن ٿيون (HTML ۽ JavaScript مثال).

جو ذريعو: opennet.ru

تبصرو شامل ڪريو