شاید اتحادی دور از ذهن بین رقبای بزرگ، بتواند کلید دستیابی به اینترنتی پر سرعت تر باشد. مهندسان مرورگرها پس از ماه ها کار پشت درهای بسته، روز چهارشنبه از پروژه ای با نام Web Assembly پرده برداری کردند. این پروژه تلاش می کند نقاط دست نیافتنی وب را با سرعت نرم افزارهایی که به صورت اختصاصی برای سیستم عامل هایی مانند iOS اپل، ویندوز مایکروسافت و اندروید گوگل نوشته شده اند پیوند دهد. Web Assembly می تواند به طور خلاصه، ساختارهای بنیادی صنعت رایانه ها را دگرگون کند و نتیجه اتحاد دو گروه است – گروهی از تیم فایرفاکس موزیلا که توسط مایکروسافت حمایت می شود و دیگری تیمی از کروم گوگل؛ گروه هایی که پیش از این رو در روی هم قرار گرفته بوده اند. نتیجه چنین اتحادی، توانایی مرور وب با سرعتی بسیار بالاتر است. درست مانند زمانی که بخواهید در پنجره های رایانه شخصی خودتان گشت و گذار کنید.
شاید در نگاه اول این اتحاد تنها برای برنامه نویسنان و طراحان وب اهمیت داشته باشد، اما باید قبول کنیم که نتیجه این کار برای همه کاربران وب با اهمیت خواهد بود. Web Assembly به این منظور طراحی شده تا انتخاب های عملیاتی بهتری نسبت به جاوا اسکریپت، یا همان زبان برنامه نویسی امروزی وب، در اختیار توسعه دهندگان قرار دهد. با یکی شدن این قدرت ها، برنامه نویسان می توانند اطمینان داشته باشند که Web Assembly آینده ای روشن در برابر خود دارد. آنها می توانند نسخه های مبتی بر مرورگر از یک کلاس برنامه ای جدید برای کارهایی مانند بازی های پر قدرت، ویرایش ویدئو و جست و جو در دنیای واقعیت مجازی طراحی کنند. همچنین این پروژه می تواند حداقل 20 درصد در مصارف وب سایت ها و کمپانی های سرویس دهنده صرفه جویی کند.
راهبردی تعاملی
جالب است که حمایت فوق العاده زیادی از پروژه Web Assembly به عمل آمده. اکثر استانداردهای جدید در وب از طریق سازندگان مرورگرها به وجود می آیند؛ به این گونه که به کمک توسعه دهندگان، سایرین را وادار می کنند مورد خاصی را به عنوان استاندارد بپذیرند. اما Web Assembly از این شیوه استفاده نخواهد کرد، زیرا از همین ابتدا پشتیبانی چهار غول دنیای تکنولوژی را با خود می بیند: مایکروسافت، گوگل، اپل و موزیلا. هدف کوتاه مدت این پروژه، برنامه های تحت وب سریعتر است. اما در بلند مدت، سعی دارد رقابت پذیری صنعت رایانه ها را افزایش دهد. امروزه استفاده از برنامه هایی که از پردازنده دستگاه استفاده می کنند به عنوان یک برنامه بومی بر روی موبایل یا تبلت اتفاق عجیبی نیست. برای مثال می توانید برنامه ویرایش عکسی مانند adobe photoshop را در نظر بگیرید. اما استفاده از یک جایگزین مبتنی بر وب می تواند مزایای بسیار زیادی به همراه داشته باشد. برای مثال یک برنامه نویس می تواند جایگزینی تحت وب برای Photoshop بسازد و کاری کند که این برنامه روی هر سیستمی اجرا شود؛ چون برای اجرای آن تنها به مرورگر نیاز خواهید داشت. این آزادسازی نرم افزاری می تواند حصاری را که گوگل و اپل با سیستم عامل های خود پیرامون صنعت تکنولوژی، که در آن برنامه های بومی نقش اصلی را بازی میکنند، کشیده اند بشکند. این نکته، یعنی نداشتن برنامه های بومی به اندازه کافی، یکی از دلایلی است که سیستم عامل هایی مانند Blackberry OS و ویندوزفون در ابتدای کار با آنها درگیر بوده اند (و شاید حتی نتوانسته اند در نهایت بر آن غلبه کنند). اما شرکت هایی نظیر آمازون و فیسبوک می توانند با تکیه بر برنامه های مبتنی بر وب، به رقابت با بزرگان بپردازند.
بازنویسی وب
Web Assembly قصد دارد از هر دو گروهی که تا پیش از این روبروی هم قرار گرفته بودند استفاده کند: asm.js موزیلا و PNaCl یا Portable Native Client گوگل. تلاش های این دو شرکت و همکاری مشترک آنها در این پروژه، باعث در هم شکسته شدن سنت ها خواهد شد. اگر امروز بخواهید برنامه ای برای وب بنویسید، می بایست از یک زبان برنامه نویسی 20 ساله به نام جاوا اسکریپت استفاده کنید. این کد برنامه نویسان را قادر ساخته از اسناد استاتیک به طراحی هایی دینامیک مانند Google Maps (با قابلیت زوم کردن) و فیسبوک (با تایم لاینی که به طور مداوم بروزرسانی می شود) برسند. همچنین برنامه های جاوا اسکریپت به آسانی اجرا می شوند و تنها کاری که باید انجام دهید باز کردن یک صفحه وب است. اما این زبان مشکلاتی هم داشته که باعث عقب ماندگی وب شده اند. به همین دلیل است که گوگل پروژه کلاینت بومی خود را راه اندازی کرد (که بعدتر PNaCl نام گرفت) تا بتواند ابزارهای مورد استفاده در دنیای فعلی را بهتر تحت پوشش قرار دهد. PNaCl برای برنامه نویسانی آماده شده بود که با استفاده از زبان های C و C++ برنامه می نوشتند و کمک می کرد برنامه های نوشته شده توسط آنها در ساختاری امن درون کروم اجرا شوند. موزیلا این ایده را نپسندید و asm.js را راه اندازی کرد. این راهبرد، مرورگر را بروزرسانی می کرد تا بتواند زیرمجموعه ای سطح پایین تر از دستورالعمل های جاوا اسکریپت را با سرعت بیشتری اجرا کند و با این کار توانست حمایت مایکروسافت را جلب کند. حالا این دو گروه با هم ترکیب شده اند تا راه حلی جامع برای برطرف کردن مشکلات موجود به دست آورند. Web Assembly در آغاز راه است؛ هنوز جزئیات و یا طراحی های سطح بالای آن مشخص نشده اند. اما با این حال، با وجود توسعه دهندگان بزرگی که از این پروژه حمایت می کنند، باید به زودی شاهد به کار گیری گسترده آن در دنیای وب باشیم. در هر صورت، برنده این صحنه کاربران نهایی خواهند بود.
بله! باعث خواهد شد که قسمت زیادی از عملیات اجرایی با کدهای توسعه یافته تحت وب روی کامپیوتر کاربر اجرا بشه نه سرور …
الان هم برنامه هایی مثل فتوشاپ آنلاین هستند ولی بخش اعظم این کارها روی سرور اجرا میشه و فقط اطلاعات نهایی کار به کاربر نشون داده میشه …
یا یه سایت بود برای طراحی 3بعدی(بخشی که من رفتم برای طراحی جواهرات بود)
اینطور بود که محیط کاربری تقیرباً شبیه به محیط نرم افزار های ساخت 3 بعدی روی ویندوز داشت با این تفاوت که خیلی ساده تر بود! کاربر پس از انجام اعمالات دلخواه روی مدل رندر نهایی رو به صورت یک مدل 3 بعدی از سرور سایت میگرفت ! و این باعث میشد که پهنای باند زیادی مصرف شه
ولی الان با این رویه که این شرکت ها در پیش گرفتند بخش اعظمی از این کارها روی کامپیوتر شخصی تحت وب اجرا خواهد شد … یعنی شرکت های ساخت Browser با استفاده از روش ها و کد های جدید که ارائه میدن باعث میشن که برنامه نویس با استقلال بیشتری به کدهای توسعه یافته دست پیدا کنه …(این جمله آخری رو عجیب غریب گفتم اگه نفهمیدی منم نفهمیدم :دی)
در کل ایده خوبیه و باعث میشه که برنامه های وب دارای امکاناتی شبیه به برنامه های تحت سیستم عامل بشند(ولی آزادی عملی مانند برنامه های سیستمی نخواهند داشت)
عاشق این درس بودم و هستم :دی در سایه من نصف کلاس 18 نفری 15 به بالا گرفتن !
خداییش 3واحد برای این درس انصاف نبود نیست ! استاد میگفت از من میخوان زبان مادر کامپیوتر رو تو عرض یه ترم و یه درس 3 واحدی به دانشجو یاد بدم ! همه چیز رو سر سری میگفت و رد میشد و اصلاً نمیشد روی موضوعی وقت کامل گذاشت و تمرین زد ! اگه یه دانشجو تو این درس خودش وقت نذارن و خارج از کلاس کتاب نخونه و تمرین نکنه قطعاً این درس رو در عرض یه ترم فقط با جزوه کلاسی یاد نمیگیره ! انصاف نیست … اندیشه اسلامی 1 و 2 باشه ولی زبان برنامه نویسی سیستم یا همون اسمبلی فقط یه درس باشه !:|
بله، در واقع به یه زیرساخت مناسب احتیاجه
از اسم و کلمه Assembly میترسم :دی از درس و همه چیزش
به هر حال خوب و مفید بود نتشکر
این ربطی به سرعت اینترنت هم داره؟