WebAssembly کیا ہے؟

WebAssembly کیا ہے؟
آپ جیسے قارئین MUO کو سپورٹ کرنے میں مدد کرتے ہیں۔ جب آپ ہماری سائٹ پر لنکس کا استعمال کرتے ہوئے خریداری کرتے ہیں، تو ہم ملحق کمیشن حاصل کر سکتے ہیں۔ مزید پڑھ.

دو دہائیوں سے زیادہ عرصے تک، جاوا اسکرپٹ واحد پروگرامنگ زبان تھی جو براؤزر میں چل سکتی تھی۔ دیگر زبانیں جیسے Python، C++، اور Go بنیادی طور پر ویب ایپلیکیشنز اور سروسز کے سرور سائیڈ کو بنانے کے لیے تھیں۔





جاوا اسکرپٹ نے بہت اچھا کام کیا، لیکن بہت سی دوسری پروگرامنگ زبانیں تیز ہیں۔ بہت سے فوائد ہیں جن سے ویب ایپس براہ راست براؤزر میں دیگر، زیادہ پرفارمنس پروگرامنگ زبانیں چلا کر فائدہ اٹھا سکتی ہیں۔





نیٹ ورک پر بینڈوتھ کا استعمال کیا ہے اسے کیسے بتایا جائے۔
دن کی ویڈیو کا میک یوز

WebAssembly ایک موثر، کھلا اور محفوظ آپشن پیش کرتا ہے جو اوپن ویب پلیٹ فارم کا حصہ ہے۔ آپ اسے براؤزرز، سرورز اور دوسرے ماحول میں چلنے والی ایپلیکیشنز بنانے کے لیے استعمال کر سکتے ہیں۔





WebAssembly کا تعارف

  ویب اسمبلی کا تعارف

WebAssembly (WASM) ایک موثر، نچلی سطح کی، پورٹیبل W3C- معیاری زبان ہے۔ یہ ویب پر پلیٹ فارمز کے ساتھ تعامل کرنے کے لیے پروگراموں کے لیے ایک کوڈ فارمیٹ اور انٹرفیس کی وضاحت کرتا ہے۔

آپ زیادہ تر پروگرامنگ زبانوں کو WebAssembly کے بائنری کوڈ فارمیٹ میں مرتب کر سکتے ہیں۔ براؤزر نتیجے میں آنے والے WASM کوڈ کی تشریح اور چلا سکتے ہیں جس طرح وہ باقاعدہ JavaScript کے ساتھ کرتے ہیں۔ آپ WebAssembly کو JavaScript کوڈ کے ساتھ ساتھ ایپ کی اعلی کارکردگی اور دونوں کے درمیان انٹرآپریبلٹی کے لیے بھی چلا سکتے ہیں۔



WebAssembly 2019 میں ایک W3C معیار بن گیا، بہت سی پروگرامنگ زبانوں میں تعاون کے ساتھ۔ کے مطابق WebAssembly کے ساتھ بنایا گیا۔ , پہلے سے ہی بہت سے مشہور پروجیکٹس ہیں جو WebAssembly کا استعمال اپنے صارفین کو تیز، محفوظ سافٹ ویئر بھیجنے کے لیے کرتے ہیں۔

بہت ساری پروگرامنگ زبانیں، بشمول وہ جو سرور سائیڈ مخصوص ہیں، WebAssembly کو سپورٹ کرتی ہیں۔ ان میں Rust، Go، Python، C++، TypeScript، Java، PHP، اور Ruby شامل ہیں۔ چیک کریں awesome-wasm-langs کا وسیلہ WebAssembly کی حمایت یافتہ زبانوں اور ان پیکجوں کے بارے میں جاننے کے لیے جو آپ ان کے ساتھ استعمال کر سکتے ہیں۔





لینکس میں صارفین کو کیسے شامل کیا جائے۔

یہاں ایک مثال ہے۔ ٹیوٹوریلز پوائنٹ سے WebAssembly پروگرام جو زیادہ سے زیادہ دو عدد کو لوٹاتا ہے:

  WASM کوڈ کا نمونہ

WebAssembly نحو جاوا اسکرپٹ کے مقابلے میں نسبتاً لفظی ہے، لیکن یہ کوئی مسئلہ نہیں ہونا چاہیے۔ آپ کو نحو سیکھنے کی ضرورت نہیں پڑے گی کیونکہ WebAssembly ان پروگراموں کے لیے تالیف کا ہدف ہو گا جو آپ اپنی پسند کی زبان میں لکھتے ہیں۔





WebAssembly کیسے کام کرتا ہے۔

WASM دیگر پروگرامنگ زبانوں کے لیے ایک تالیف ہدف کے طور پر موجود ہے۔ آپ لکھ سکتے ہیں۔ آپ کی پسندیدہ پروگرامنگ زبان اور سورس کوڈ کو WASM بائیک کوڈ پر مرتب کریں جو کلائنٹ پر چلتا ہے۔ اسے مقامی مشین کوڈ میں ترجمہ کرنے کا مطلب ہے کہ یہ تیز رفتاری سے چل سکتا ہے، عام طور پر JavaScript سے زیادہ تیز۔

WASM کی ایک اہم خصوصیت JavaScript انٹرآپریبلٹی ہے۔ آپ WASM ماڈیولز کو ویب ایپلیکیشن میں درآمد کر سکتے ہیں اور JavaScript کوڈ میں استعمال کے لیے WASM فنکشنز کو ظاہر کر سکتے ہیں۔ JavaScript فریم ورک اعلی کارکردگی کے لیے WASM کا فائدہ اٹھا سکتے ہیں۔

WASM JavaScript کی طرح ایک سینڈ باکسڈ ایگزیکیوشن ماڈل استعمال کرتا ہے۔ WASM ABIs (ایپلی کیشن بائنری انٹرفیس) کا استعمال کرتے ہوئے میزبان مشین کے ساتھ بات چیت کرتا ہے جیسے WebAssembly سسٹم انٹرفیس جو پروگرام کی ضروریات کی بنیاد پر وسائل اور نظام کی دیگر خدمات تک رسائی فراہم کرتا ہے۔

بہت سے جدید براؤزرز WASM کو سپورٹ کرتے ہیں، بشمول Chrome، Microsoft Edge، Mozilla Firefox، Opera، اور Safari۔ گو اور جیسی زبانیں۔ مورچا سپورٹ WASM عمومیت سے ہٹ کر.

لفظ میں ایک صفحے کا وقفہ ہٹا دیں۔

ویب کو WebAssembly کی ضرورت کیوں ہے۔

  ویب اسمبلی کی خصوصیات

جاوا اسکرپٹ میں ڈیزائن کے لحاظ سے محدود فعالیت ہے۔ یہ ان میں سے ایک نہیں ہے۔ تیز ترین یا سب سے زیادہ کارکردگی والی زبانیں۔ چونکہ یہ ویب کے لیے اسکرپٹنگ زبان کے طور پر شروع ہوئی ہے۔ اگرچہ بہت سے رن ٹائمز ہیں جہاں JavaScript مختلف رفتار سے چلتا ہے، لیکن تیز اور زیادہ پرفارم کرنے والی زبانیں ہیں جنہیں WebAssembly گیمنگ، ویڈیوز اور موسیقی جیسے استعمال کے معاملات کے لیے ویب پر لا سکتا ہے۔

WebAssembly ان زبانوں کے لیے زیادہ پورٹیبلٹی اور لچک بھی پیش کرتا ہے جو ویب پر نہیں چلتی ہیں۔ ویب پر مزید زبانیں متعارف کرانے (سب سے زیادہ مقبول اوپن سورس پلیٹ فارم) کے نتیجے میں مجموعی طور پر بہتر تجربہ ہونا چاہیے۔

WebAssembly اپنانے کی رفتار تیز ہے۔

بہت سی کمپنیاں اور ڈویلپر WebAssembly کے ساتھ ایپلی کیشنز بنا رہے ہیں۔ Google، Dropbox، اور Cloudflare فعال طور پر اپنی کچھ ایپلی کیشنز میں WebAssembly کا استعمال کرتے ہیں۔

WebAssembly Python، C++، اور Rust ڈویلپرز میں مقبول ہے۔ Python کے ڈویلپرز عام طور پر Pyoidide اور PyScript، C++ ڈویلپرز اور Emscripten، اور Rust ڈویلپرز Percy، Yew، Sycamore، MoonZoon، اور Seed فریم ورک کے ساتھ استعمال کرتے ہیں۔