لطفا جاواسکریپت مرورگر خود را فعال سازید!

نحوه فعال سازی در کروم
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
نحوه فعال سازی در فایرفاکس
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
وب‌اسمبلی پیروز شد! گوگل به کار PNaCI پایان می‌دهد

وب‌اسمبلی پیروز شد! گوگل به کار PNaCI پایان می‌دهد

از نظر گوگل، اکنون که سخن از اجرای کدهای به‌اصطلاح نیتو روی مرورگر در میان است، لباس کهنه باید جای خود را به جامه‌ای نو دهد؛ گوگل برای نیل به این هدف می‌خواهد فرمت کد پرتابل وب‌اسمبلی را به راه‌کار خود برای پیش‌برد کد نیتو تبدیل کرده و آن‌را جایگزین PNaCI (مخفف واژگان Portable Native Client) کند.

طبق گفتهٔ گوگل، ایراد بزرگ PNaCI این بود که با همهٔ مرورگرها سازگاری نداشت و این در حالی است که وب‌اسمبلی چنین مزیتی را در اختیارتان می‌گذارد. از این رو، گوگل در اوایل سال آینده میلادی به پشتیبانی اپلیکیشن‌ها و اکستنشن‌های کروم از PNaCI پایان می‌دهد.

به‌زعم گوگل، استفاده از PNaCI آنقدر کم است که کنار رفتنش را توجیه می‌کند؛ از سوی دیگر، وب‌اسمبلی اکوسیستم فعالی دارد که به برقراری هماهنگی‌های بهتری نیز منجر خواهد شد. برد نلسون از مهندسان نرم‌افزار گوگل در حوزه NaCI ،PNaCI و WebAssembly می‌گوید:

از دیرباز، برای اجرای کدهای نیتو در وب باید یک پلاگین ویژه روی مرورگر نصب می‌کردین اما ما در سال 2013 سندباکس PNaCI رو معرفی کردیم تا هم به ساخت اپلیکیشن‌های امن، پرتابل، و بسیار کارآمد کمک کنه و هم نیاز به پلاگین رو از میان برداره. این روش روی کروم خوب جواب داد اما نتونست راه‌کاری ارائه بده که با همهٔ مرورگرها سازگار باشه.

مهاجرت اخیر گوگل نشان می‌دهد که وب‌اسمبلی پیشرفت‌های بیشتری در پیش خواهد داشت؛ وب‌اسمبلی فرمتی است که روی همهٔ مرورگرها سازگار است و این قابلیت را دارا است که کارایی اپلیکیشن‌های تحت وب را ارتقاء داده و اجازهٔ راه‌یابی زبان‌هایی فراتر از جاوااسکریپت را در مرورگرها صادر کند.

تمام کمپانی‌های بزرگ عرضه‌کنندهٔ مرورگر از جمله بنیاد موزیلا، مایکروسافت، گوگل و اپل در توسعهٔ وب‌اسمبلی مشارکت کرده‌اند. درعین‌حال، سازگاری فراگیر با مرورگرها در یکی از اولین نسخه‌های وب‌اسمبلی حاصل شد که API و فرمت باینری را در برمی‌گرفت.  

نلسون در همین باره می‌گوید که اپلیکیشن‌هایی که از وب‌اسمبلی استفاده می‌کنند هم‌اکنون در چندین مرورگر اجرا می‌شوند: کروم و فایرفاکس به‌صورت نیتیو از وب‌اسمبلی پشتیبانی می‌کنند و پیش‌نسخه‌های مرورگر اج و سافاری نیز با وب‌اسمبلی سازگارند (که این یعنی ۲ مرورگر آخر نیز در آیندهٔ نزدیک از آن پشتیبانی خواهندکرد).

PNaCI کدهای C و ++C را به فرمی از جاوااسکریپت موسوم به asm.js کامپایل می‌کند (برای آشنایی بیشتر با asm.js، به مقالهٔ تغییر آینده بازی‌های کامپیوتری با فناوری Asm.js مراجعه نمایید
). گوگل برای مهاجرت از PNaCI به وب‌اسمبلی پیشنهادهایی ارائه داده و توصیه کرده است که در بیشتر موارد، کامپایلر Emscripten از کیت توسعهٔ نرم‌افزار PNaCI را به‌کار ببرید. همچنین پیشنهاد کرده است که APIها را هم به فرمت جدید منتقل کنید.

همچنین گوگل برای پشتیبانی از وب‌اسمبلی یک نقشهٔ راه ارائه کرده است؛ این شرکت همچنین به معرفی قابلیت ShareArrayBuffer پرداخته است تا راه را برای اجرای متقابل به‌اصطلاح WebAssembly Threads هموار کند. مضاف بر این، قابلیت دیگری موسوم به True-Asynce اجازه می‌دهد تا وب‌اسمبلی در پشت صحنه کامپایل شود.

خبر آخر این‌که طبق برنامه، پشتیبانی کروم از سیاست‌های امنیتی محتوای وب‌اسمبلی (WebAssembly Content Security Policy) از سپتامبر ۲۰۱۷ آغاز می‌شود؛ در پایان، درصورتی‌که علاقمند به کسب اطلاعات بیشتر در مورد وب‌اسمبلی هستید، می‌توانید به مقالهٔ جستاری در زبان Assembly و آشنایی بیشتر با مفهوم WebAssembly مراجعه نمایید.

منبع


علی حسینی