کنون که این مقاله را مطالعه میکنید به احتمال قریب به یقین از یک مرورگر وب همچون فایرفاکس یا کروم استفاده می کنید. مصارف مرورگر به اینجا ختم نمیشود بلکه برای چک کردن ایمیل، حضور در شبکههای اجتماعی، مشاهده ویدیو، سرچ و بسیاری چیزهای دیگر ما از مرورگرها استفاده می کنیم. توسعه دهندگان بنیاد موزیلا این مهم را درک کرده و در نهایت Asm.js را خلق کردند که بر پایه زبان جاوا اسکریپت نوشته شده و این امکان را به کاربران میدهد تا هر چیزی از محاسبات پیچیده ریاضیاتی گرفته تا بازیهای بسیار حرفهای را در مرورگر وب اجرا کنند. در ادامه با وبلاگ سکان آکادمی همراه باشید تا بیشتر با این فریم ورک آشنا شویم.
Asm.js که به صورت «از ام جی اس» تلفظ میشود فریم ورکی نوشته شده بر اساس زبان JS است که بدون نیاز به هیچ گونه پلاگینی از طریق مرورگر قابل اجرا است. این فریم ورک ابتدا فقط و فقط از طریق مرورگر فایرفاکس قابل اجرا بود اما این در حالی است که مرورگر گوگل کروم نیز از این فریم ورک پشتیبانی کرده و گفته میشود که در آیندهای نه چندان دور اپلیکیشن های نوشته شده توسط Asm.js توسط مرورگر اینترنت اکسپلورر اجرا خواهند شد چرا که به گفته مایکروسافت، پشتیبانی از Asm.js یکی از ۱۰ خواسته اصلی توسعه دهندگان در ویندوز ۱۰ بوده است. به گفته یکی از مدیران بنیاد موزیلا «Asm.js به درد کارهای بسیار پیچیده محاسباتی تحت وب می خورد.»
در این میان توسعه دهندگان بازیهای کامپیوتری هم ساکت ننشسته و بیش از سایر گروهها از این فریم ورک استقبال کردهاند چرا که توسعه دهندگان بازیهای کامپیوتری همواره این دغدغه را داشتهاند که ای کاش میشد بستری فراهم کرد که بدون نیاز به نصب بازیهای حرفه ای، این امکان را به علاقمندان به گیم داد تا از طریق مرورگر اقدام به بازی کردن کنند و اکنون فریم ورک از ام جی اس این بستر را برای آنها فراهم کرده است. Asm.js بیش از هر کس برای End-user ها یا کاربران عادی مفید خواهد بود زیرا کاربری که اکثر کارهای کامپیوتری خود مثل مشاهده ویدیو از آپارات، خواندن مقاله از زومیت، خرید از دیجی کالا و … را از طریق مرورگر انجام می دهد، تمایل خواهد داشت تا اگر برای رفع خستگی بازی هم کند، بازی مد نظر خود را از طریق مرورگر مورد علاقه اش انجام دهد. قاعدتاً اگر شما بخواهید با استفاده از کامپیوتر یا لپ تاپ بازی کنید، نیاز دارید تا نسخه DVD بازی را در درایور گذاشته و یا آن را دانلود کنید اما برای بازیهایی که با استفاده از Asm.js ساخته میشوند شما صرافا به یک مرورگر نیاز دارید.
فریم ورک Asm.js این امکان را فراهم میآورد تا کد بازیهای نوشته شده با زبان سی و سی پلاس پلاس به کدهای جاوا اسکریپت کامپایل شوند تا از این پس قابل فهم برای مرورگر کاربران شده و ایشان به سادگی بتوانند بازیهای مد نظر خود را در مرورگر اجرا کنند. این فرایند کار همچنان آسانی هم نیست اما به گفته یکی از توسعه دهندگان موزیلا، این کار سخت تر تبدیل یک گیم نوشته شده با زبانهای سی و سی پلاس پلاس به نسخه لینوکسی نیست. جالب است بدانیم که از این پس می بایست به مرورگر به شکل یک پلتفرم مثل ویندوز، مکینتاش و یا لینوکس نگاه کنیم. از این پس با استفاده از کامپایلری تحت عنوان Emscripten، کدهای نوشته شده به زبان سی پلاس پلاس به نسخه از Asm.js مبدل شده، سپس مرورگر کدهای Asm.js را تفسیر می کند. بدون شک این فریم ورک آینده بازیهای کامپیوتری را متحول خواهد ساخت اما می بایست توجه داشته باشیم که آن آینده خیلی هم نزدیک نیست.
مشکلات پیش رو
دشواری تبدیل یک بازی به نسخه Asm.js آن ارتباطی مستقیمی با نحوه طراحی آن بازی دارد. علاوه بر این، نمیتوان انتظار داشت که بازیهای بسیار سطح بالا و حرفهای را با استفاده از Asm.js تحت مرورگر اجرا کرد. در ضمن اگر قصد داریم یک بازی برای این فریم ورک کامپایل کنیم، بازی مد نظر می بایست قابلیت Buffer داشته باشد. به عبارت دیگر، به صورت همزمان چند کار در پس زمینه بازی با یکدیگر اجرا شوند. برای مثال، زمانی که شما در حال پیش روی در یک مرحله از بازی هستید، مرحله بعدی بازی در پشت پرده در حال آماده سازی خواهد بود. برای ملموستر شدن این مسئله، میتوانیم نگاه کردن یک ویدیو از یوتیوب را مد نظر قرار دهیم. درواقع پیش از آنکه ویدیو به صورت کامل لود شود، ما میتوانیم از ابتدای ویدیو شروع به نگاه کردن کنیم و ادامه ویدیو اصطلاحاً Stream می شود. مشکلاتی از این دست به مثابه دلایل اصلی عدم مشاهده گیم های زیادی برای مرورگرها در حال حاضر هستند.
Asm.js که به صورت «از ام جی اس» تلفظ میشود فریم ورکی نوشته شده بر اساس زبان JS است که بدون نیاز به هیچ گونه پلاگینی از طریق مرورگر قابل اجرا است. این فریم ورک ابتدا فقط و فقط از طریق مرورگر فایرفاکس قابل اجرا بود اما این در حالی است که مرورگر گوگل کروم نیز از این فریم ورک پشتیبانی کرده و گفته میشود که در آیندهای نه چندان دور اپلیکیشن های نوشته شده توسط Asm.js توسط مرورگر اینترنت اکسپلورر اجرا خواهند شد چرا که به گفته مایکروسافت، پشتیبانی از Asm.js یکی از ۱۰ خواسته اصلی توسعه دهندگان در ویندوز ۱۰ بوده است. به گفته یکی از مدیران بنیاد موزیلا «Asm.js به درد کارهای بسیار پیچیده محاسباتی تحت وب می خورد.»
در این میان توسعه دهندگان بازیهای کامپیوتری هم ساکت ننشسته و بیش از سایر گروهها از این فریم ورک استقبال کردهاند چرا که توسعه دهندگان بازیهای کامپیوتری همواره این دغدغه را داشتهاند که ای کاش میشد بستری فراهم کرد که بدون نیاز به نصب بازیهای حرفه ای، این امکان را به علاقمندان به گیم داد تا از طریق مرورگر اقدام به بازی کردن کنند و اکنون فریم ورک از ام جی اس این بستر را برای آنها فراهم کرده است. Asm.js بیش از هر کس برای End-user ها یا کاربران عادی مفید خواهد بود زیرا کاربری که اکثر کارهای کامپیوتری خود مثل مشاهده ویدیو از آپارات، خواندن مقاله از زومیت، خرید از دیجی کالا و … را از طریق مرورگر انجام می دهد، تمایل خواهد داشت تا اگر برای رفع خستگی بازی هم کند، بازی مد نظر خود را از طریق مرورگر مورد علاقه اش انجام دهد. قاعدتاً اگر شما بخواهید با استفاده از کامپیوتر یا لپ تاپ بازی کنید، نیاز دارید تا نسخه DVD بازی را در درایور گذاشته و یا آن را دانلود کنید اما برای بازیهایی که با استفاده از Asm.js ساخته میشوند شما صرافا به یک مرورگر نیاز دارید.
فریم ورک Asm.js این امکان را فراهم میآورد تا کد بازیهای نوشته شده با زبان سی و سی پلاس پلاس به کدهای جاوا اسکریپت کامپایل شوند تا از این پس قابل فهم برای مرورگر کاربران شده و ایشان به سادگی بتوانند بازیهای مد نظر خود را در مرورگر اجرا کنند. این فرایند کار همچنان آسانی هم نیست اما به گفته یکی از توسعه دهندگان موزیلا، این کار سخت تر تبدیل یک گیم نوشته شده با زبانهای سی و سی پلاس پلاس به نسخه لینوکسی نیست. جالب است بدانیم که از این پس می بایست به مرورگر به شکل یک پلتفرم مثل ویندوز، مکینتاش و یا لینوکس نگاه کنیم. از این پس با استفاده از کامپایلری تحت عنوان Emscripten، کدهای نوشته شده به زبان سی پلاس پلاس به نسخه از Asm.js مبدل شده، سپس مرورگر کدهای Asm.js را تفسیر می کند. بدون شک این فریم ورک آینده بازیهای کامپیوتری را متحول خواهد ساخت اما می بایست توجه داشته باشیم که آن آینده خیلی هم نزدیک نیست.
مشکلات پیش رو
دشواری تبدیل یک بازی به نسخه Asm.js آن ارتباطی مستقیمی با نحوه طراحی آن بازی دارد. علاوه بر این، نمیتوان انتظار داشت که بازیهای بسیار سطح بالا و حرفهای را با استفاده از Asm.js تحت مرورگر اجرا کرد. در ضمن اگر قصد داریم یک بازی برای این فریم ورک کامپایل کنیم، بازی مد نظر می بایست قابلیت Buffer داشته باشد. به عبارت دیگر، به صورت همزمان چند کار در پس زمینه بازی با یکدیگر اجرا شوند. برای مثال، زمانی که شما در حال پیش روی در یک مرحله از بازی هستید، مرحله بعدی بازی در پشت پرده در حال آماده سازی خواهد بود. برای ملموستر شدن این مسئله، میتوانیم نگاه کردن یک ویدیو از یوتیوب را مد نظر قرار دهیم. درواقع پیش از آنکه ویدیو به صورت کامل لود شود، ما میتوانیم از ابتدای ویدیو شروع به نگاه کردن کنیم و ادامه ویدیو اصطلاحاً Stream می شود. مشکلاتی از این دست به مثابه دلایل اصلی عدم مشاهده گیم های زیادی برای مرورگرها در حال حاضر هستند.