موزیلا، چټک، انټیل او ریډ هټ
د پورټ ایبل برنامو رامینځته کولو لپاره چې د ویب اسمبلي په شکل کې وړاندې شوي چې د براوزر څخه بهر اجرا کیدی شي ، موږ د API کارولو وړاندیز کوو
یو له
د محافظت لپاره، دا وړاندیز شوی چې د نانو پروسس مفکوره وکاروئ، په کوم کې چې د انحصار هر ماډل په جلا جلا جلا جلا WebAssembly ماډل کې ویشل شوی، چې واکونه یې یوازې د دې ماډل سره تړاو لري (د بیلګې په توګه، د پروسس تارونو لپاره کتابتون به نه وي. د دې وړتیا ولرئ چې د شبکې ساکټ یا فایل خلاص کړئ). د پروسې د جلا کولو برعکس، د ویب اسسمبلي سمبالونکي لږ وزن لري او تقریبا هیڅ اضافي سرچینو ته اړتیا نلري - د سمبالونکو تر مینځ تعامل د عادي فعالیتونو غږولو په پرتله خورا ورو نه دی. جلا کول نه یوازې د انفرادي ماډلونو په کچه ترسره کیدی شي ، بلکه د ماډلونو ګروپونو په کچه هم ترسره کیدی شي چې د مثال په توګه ، د عام حافظې ساحو سره کار کولو ته اړتیا لري.
غوښتل شوي واکونه پخپله د انحصار په کچه ټاکل کیدی شي، او د اصلي ماډلونو لخوا د سلسلې په اوږدو کې انحصارونو ته سپارل کیدی شي (په WASI کې سرچینې د یو ځانګړي ډول فایل تشریح کونکي - وړتیا سره تړاو لري). د مثال په توګه، یو ماډل کولی شي د ځانګړي لارښود او سیسټم تلیفونونو ته د لاسرسي وړتیا واستول شي، او که چیرې د ماډل پراختیایي زیربنا جوړه شوې وي یا یو زیانمنونکي پیژندل کیږي، د برید په جریان کې، لاسرسی به یوازې دې سرچینو ته محدود وي. د ماډل جوړونکو لخوا د سرچینو اعلامیه د شکمن فعالیت شاخص کیدی شي، لکه کله چې د متن پروسس کولو ماډل د شبکې اتصال خلاصولو لپاره د اجازې غوښتنه کوي. په پیل کې ټاکل شوي اجازې چک شوي او که دوی بدل شي، د انحصار بار کول رد کیږي تر هغه چې د محلي ماډل لاسلیک تازه نشي.
د بایټکوډ اتحاد د وزر لاندې د ګډ پرمختګ لپاره
-
واسکټ - د منظم سټنډرډ غوښتنلیکونو په توګه د WASI توسیعونو سره د WebAssembly غوښتنلیکونو چلولو لپاره د وخت وخت. دا دواړه د ځانګړي کمانډ لاین افادیت په کارولو سره د WebAssembly بایټکوډ پیل کولو او د چمتو شوي اجرایوي فایلونو سره لینک کولو ملاتړ کوي (واسم وخت په غوښتنلیک کې د کتابتون په توګه رامینځته شوی). Wasmtime یو انعطاف منونکی ماډلر جوړښت لري چې تاسو ته اجازه درکوي د مختلف غوښتنلیکونو لپاره د چلولو وخت اندازه کړئ، د بیلګې په توګه، تاسو کولی شئ د محدودو سرچینو سره د وسیلو لپاره یو پټ شوی نسخه جوړه کړئ؛ -
لوکټ - د WebAssembly بڼه کې د پروګرامونو اجرا کولو لپاره کمپیلر او چلولو وخت. ځانګړیځانګړتیا لوسیټ د JIT پرځای د مستقیم اجرا کولو لپاره مناسب ماشین کوډ کې د بشپړ وړاندوینې تالیف (AOT، مخکې وخت) کارول دي. پروژه د فاسټلي لخوا رامینځته شوې او د لږترلږه سرچینو مصرفولو او خورا ګړندي نوي مثالونو پیل کولو لپاره مطلوبه ده (په چټکۍ سره د کلاوډ ایج کمپیوټري انجن کې لوسیټ کاروي چې د هرې غوښتنې په اړه پیل شوي هینډلرانو لپاره WebAssembly کاروي). د ګډې پروژې د یوې برخې په توګه، د Lucet کمپیلر پلان شوی چې د Wasmtime د اساس په توګه کارولو لپاره بدل شي؛ -
WAMR (WebAssembly Micro Runtime) د WebAssembly اجرا کولو لپاره بل وخت دی، په اصل کې د انټیل لخوا د شیانو په انټرنیټ کې د کارولو لپاره رامینځته شوی. WAMR د لږترلږه سرچینو مصرف لپاره مطلوب دی او د لږ مقدار رام سره په وسیلو کې کارول کیدی شي. په پروژه کې د WebAssembly بایټکوډ اجرا کولو لپاره یو ترجمان او مجازی ماشین شامل دی، یو API (د Libc یوه فرعي سیټ) او د متحرک غوښتنلیک مدیریت لپاره اوزار؛ -
کرینیلفټ - د کوډ جنریټر چې د هارډویر جوړښتونو څخه خپلواک منځمهاله نمایش د اجرا وړ ماشین کوډ ته ژباړي چې د ځانګړي هارډویر پلیټ فارمونو لپاره مطلوب دی. کرین لیفټ د خورا ګړندي پایلې تولید لپاره د فنکشن تالیف موازي کولو ملاتړ کوي ، کوم چې دې ته اجازه ورکوي چې د JIT کمپیلرونو رامینځته کولو لپاره وکارول شي (د کرین لیفټ میشته JIT د Wasmtime مجازی ماشین کې کارول کیږي)؛ -
WASI عام - د عملیاتي سیسټم سره د تعامل تنظیم کولو لپاره د WASI (WebAssembly System Interface) API جلا پلي کول؛ -
cargo-wasi - د کارګو کڅوړې مدیر لپاره یو ماډل چې د ویب اسسمبلي بایټکوډ کې د زنګ کوډ د راټولولو لپاره کمانډ پلي کوي د WASI انٹرفیس په کارولو سره د براوزر څخه بهر د WebAssembly کارولو لپاره؛ -
واټ иwasmparser - د پارس کولو متن (WAT، WAST) او د WebAssembly بایټکوډ بائنری نمایش لپاره پارسر.
د بیاکتنې لپاره، WebAssembly د Asm.js په څیر ډیر دی، مګر
سرچینه: opennet.ru