20 пъти ще се увеличи скоростта за зареждане на уеб сайтовете, обещават три от водещите компании - Google, Microsoft и Mozilla. Те, заедно с общността на WebKit (една от основните технологии за браузъри), разработват бинарен формат WebAssembly, който ще позволи създаване на сайтове във вид на изпълними приложения от двоичен код, пише TechNews.bg .

Ще бъде създаден и нов код на ниско ниво за изпълнение на приложенията в браузъра, който ще замени широко-разпространения JavaScript, съобщава Webkit.org. Предполага се, че с помощта на WebAssembly разработчиците ще могат да създават изпълними части на сайтове, написани не само на JavaScript, но и на C/C++, Rust, Go, C# и други езици, като просто компилират изходния код в изпълним файл на сайта.

В момента програмите на JavaScript представляват прости текстови файлове, които при отваряне на уеб страници, се зареждат от уеб сървъра на потребителския компютър, след което JavaScript енджинът в браузъра изпълнява интерпретацията на техните команди. Този процес отнема много време и затова някои разработчици предлагат начини за неговата оптимизация.

Така например, Mozilla обяви проекта Asm.js, а Google предложи Native Client. И двата проекта са призвани да реализират възможността за пускане на изпълним код в уеб браузъра, но се развиват бавно. Не е изключено новият проект WebAssembly да финишира първи.

Освен това WebAssembly обещава още по-висока скорост на декодиране на бинарния файл - 23 пъти по-висока от тази на Asm.js. Друго предимство на новия формат спрямо последователната компилация на JavaScript код е по-лесното компресиране - така преходът към него ще намали натоварването на мрежата и ще увеличи скоростта на доставка на уеб файловете в браузъра.

Първоначално, в WebAssembly ще бъде добавена поддръжка на езици C/C++. За компилация на кода разработчиците ще могат да ползват Emscripten - същия инструмент, който се ползва в момента в рамките на проекта Asm.js за компилиране на C/C++ в JavaScript.

Авторите на проекта планират също да пуснат библиотека polyfill, която ще позволи конвертиране на WebAssembly код в JavaScript код. Това ще направи възможно пускането на кода във всички браузъри, вкл. в такива, които не притежават вградена поддръжка на новия стандарт. С времето разработчиците ще получат повече инструменти, вкл. компилатори и дебъгери, както и поддръжка на нови езици за програмиране.