SQLite ویب براؤزر میں DBMS استعمال کرنے کے لیے WASM سپورٹ شامل کرتا ہے۔

SQLite کے ڈویلپرز لائبریری کو WebAssembly انٹرمیڈیٹ کوڈ میں مرتب کرنے کی صلاحیت کو نافذ کرنے کے لیے ایک پروجیکٹ تیار کر رہے ہیں، جو ویب براؤزر میں چلانے کے قابل ہو اور JavaScript میں ویب ایپلیکیشنز سے ڈیٹا بیس کے ساتھ کام کو منظم کرنے کے لیے موزوں ہو۔ WebAssembly کو سپورٹ کرنے کے لیے کوڈ کو مرکزی پروجیکٹ کے ذخیرے میں شامل کر دیا گیا ہے۔ WebSQL API کے برعکس، جو SQLite پر مبنی ہے، WASM SQLite براؤزر سے مکمل طور پر الگ تھلگ ہے اور اس کی سیکیورٹی کو متاثر نہیں کرتا ہے (گوگل نے کروم میں WebSQL کے لیے سپورٹ کو ختم کرنے کا فیصلہ کیا ہے کیونکہ SQLite میں کئی کمزوریوں کا استعمال WebSQL کے ذریعے براؤزر پر حملہ کرنے کے لیے کیا جا سکتا ہے) .

پروجیکٹ کا مقصد ایک کام کرنے والا جاوا اسکرپٹ فریم ورک فراہم کرنا ہے جو SQLite API کی فعالیت میں یکساں ہے۔ ویب ڈویلپرز کو sql.js یا Node.js کے انداز میں ڈیٹا کے ساتھ کام کرنے کے لیے ایک اعلیٰ سطحی آبجیکٹ پر مبنی انٹرفیس فراہم کیا جاتا ہے، جو کہ کم سطح کے C API اور ویب ورکر میکانزم پر مبنی ایک API کا پابند ہوتا ہے، جو کہ اجازت دیتا ہے۔ آپ غیر مطابقت پذیر ہینڈلرز کو الگ الگ تھریڈز میں تیار کرنے کے لیے۔ ویب ورکر پر مبنی API کے اوپری حصے پر اسٹریمز کے ساتھ کام کو منظم کرنے کی پیچیدگیوں کو چھپانے کے لیے، Promise میکانزم پر مبنی پروگرام انٹرفیس کا ایک ورژن بھی تیار کیا جا رہا ہے۔

ویب ایپلیکیشنز 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 کمپائلر استعمال کیا جاتا ہے (یہ ext/wasm ایکسٹینشن بنانے کے لیے کافی ہے: “./configure —enable-all; make sqlite3.c; cd ext/wasm; make”)۔ آؤٹ پٹ sqlite3.js اور sqlite3.wasm فائلیں ہیں، جو آپ کے JavaScript پروجیکٹ (HTML اور JavaScript کی مثال) میں شامل کی جا سکتی ہیں۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں