گروه طراحی سایت گرافیکاپ

برای دریافت مشاوره اطلاعات خود را وارد کنید

مشاوره جهت طراحی سایت

معرفی تکنولوژی WEB ASSEMBLY

معرفی تکنولوژی WEB ASSEMBLY

پشتیبانی آزمایشی برای WebAssembly در V8

از ماه ژوئن سال ۲۰۱۵ افرادی از شرکت های گوگل، موزیلا، مایکروسافت، اپل و W3C WebAssembly Community Group به شدت در حال کار بر روی طراحی، تعیین و اجرای تکنولوژی WebAssembly هستند که هدفی تازه در زمینه ی کاهش زمان اجرا (runtime) و کامپایل کردن برای وب محسوب می شود.
WebAssembly به عنوان تکاملی در تکنولوژی های موجود، به خوبی با پلتفرم های وب سازگاری می یابد، دانلود و آغاز به کار آن از asm.js، زیر مجموعه ی سطح پایین جاوا اسکریپت، سریع تر می باشد. امروزه پشتیبانی آزمایشی برای WebAssmbly در V8 و Chromium موجود می باشد.
برای امتحان آن در V8 باید d8 نسخه ی ۵٫۱٫۱۱۷ یا نسخه های بالاتر را از خط فرمانی با فلگ –expose_wasm اجرا کنید یا قابلیت Experimental WebAssembly را تحت فرمان chrome://flags#enable-webassembly در Chrome Canary نسخه ی ۵۱٫۰٫۲۶۷۷٫۰ یا بالاتر فعال کنید.
پس از ری استارت کردن مرورگر، یک شیء جدید Wasm از جنس جاوا اسکریپت در دسترس خواهد بود که API آغاز کننده و اجرا کننده ی ماژول های WebAssembly را آشکار می سازد.
با تشکر از تلاش های همکارانی در موزیلا و مایکروسافت، دو پیاده سازی سازگار از WebAssembly نیز در Firefox Nightly و Microsoft Edge قابل دسترس می باشد.
وب سایت پروژه ی WebAssembly دارای دمویی است که استفاده از وب اسمبلی را در بخش runtime به صورت یک بازی سه بعدی نشان می دهد. در مرورگرهایی که از WebAssembly پشتیبانی می کنند، صفحه ی این دمو یک ماژول wasm را بارگذاری و آغاز می کند که از WebGL و دیگر API های وب پلتفرم ها برای رندر کردن یک بازی تعاملی استفاده می کند. در سایر مرورگرها، صفحه ی دمو به نسخه ی asm.js همان بازی بازگشت می کند.
پیاده سازی WebAssembly در V8 برای استفاده ی مجدد از بخش زیادی از زیر ساخت های مجازی و ماشینی جاوا اسکریپتی موجود، مخصوصا TurboFan compiler طراحی شده است.

یک رمزگشا یا decoder مخصوص WebAssembly، ماژول ها را از طریق نشان های متغیر local، مقادیر بازگشتی و ساختار کنترل جریان در یک مسیر مجزا، اعتبارسنجی می کند. decoder یک گراف TurboFan ایجاد می کند که توسط مسیرهای بهینه سازی مختلف پردازش می شوند و در نهایت توسط همان backend که کدهای ماشینی را برای جاوا اسکریپت بهینه سازی شده و asm.js تولید می کند، به کد ماشینی تبدیل می شوند.

در طی چند ماه آینده تیم متشکل از متخصصان گوگل، مایکروسافت، موزیلا و اپل بر روی ارتقاء زمان startup پیاده سازی V8 از طریق تنظیم کامپایلر، موازی سازی و بهبود سیاست های کامپایل کردن، تمرکز خواهند کرد.
دو تغییر دیگر نیز که در آینده به WebAssembly اضافه خواهد شد، تجربه ی برنامه نویسان را به طور چشمگیری ارتقا خواهد بخشید. یک نمای متنی استاندارد از WebAssembly به برنامه نویسان این امکان را می دهد که منبع باینری WebAssembly را مانند هر منبع یا اسکریپت دیگری در وب مشاهده کنند. علاوه بر این، شیء فعلی Wasm نیز برای ایجاد مجموعه ای قدرتمند تر و اختصاصی تر از متد ها و خصوصیات جدید برای بررسی درونی ماژول های WebAssembly از جاوا اسکریپت، مجددا طراحی خواهد شد.
تیم V8 یا WebAssembly به دنبال ادامه ی همکاری با سایر شرکت های تولید کننده ی مرورگر و به وجود آوردن جامعه ای بزرگتر هستند. آنها همچنین در حال برنامه ریزی برای ویژگی های آینده ی WebAssembly (شامل multi-threading، dynamic linking و ادغام GC/ first-class DOM ) و ایجاد ابزارهایی برای کامپایل کردن C، C++ و سایر زبان ها از طریق WebAssembly LLVM backend و Emscripton هستند. منتظر مقالات بعدی در این زمینه باشید.

ارسال دیدگاه

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
تمامی حقوق این سایت متعلق به شرکت فناوری اطلاعات و ارتباطات نوین راه کار (گرافیکاپ) می باشد.