Powstaje nowy standard zwiększający wydajność webowych aplikacji

Microsoft, Google i Mozilla podjęły wspólnie inicjatywę, której celem jest opracowanie nowego webowego standardu WebAssembly, który udostępni narzędzia do kompilowania aplikacje WWW przed ich uruchomieniem zamieniając kod źródłowy na postać binarną. W efekcie obsługujące je przeglądarki będą je mogły przetwarzać dużo szybciej.

Technologia usprawni działanie wielu aplikacji uruchamianych w środowisku WWW, szczególnie takich jak gry online, narzędzia do edytowania zasobów wideo czy programy emulujące desktopowe aplikacje.

Używając oprogramowania WebAssembly deweloper będzie mógł projektować poszczególne elementy aplikacji WWW używając do tego celu takich języków jak C czy C++, a następnie kompilować je na binarne obiekty, które po odebraniu przez przeglądarkę będą przez nią przetwarzane.

Zobacz również:

Obecnie większość aplikacji obsługiwanych przez przeglądarki ma postać kodu źródłowego. Są to głównie aplikacje JavaScript. WebAssembly zmieni tę filozofię działania. A warto pamiętać, że obiekt mający postać kodu wynikowego (binaria) zajmuje dużo mniej miejsce od obiektu mającego formę kodu źródłowego. I tak np. w przypadku znanej gry AngryBots kod źródłowy ma wielkość 19 MB, podczas gdy kod wynikowy zajmuje trzy razy mniej miejsca (dokładnie 6,3 MB).

Ponieważ z czasem aplikacje webowe zaczęły wykonywać coraz bardziej złożone zadania, wiele firm, w tym Google i Microsoft, podjęło trud wprowadzenia do języka JavaScript mechanizmów, które usprawnią obsługę takich aplikacji. Są to np. TypeScript (Microsoft) czy Google Web Toolkit.

Oprogramowanie WebAssembly bazuje na ASM.js, podzbiorze języka JavaScript, którego twórcą jest Mozilla. Deweloper pisze wtedy aplikację w C lub C++, które są w kolejnym kroku kompilowane na kod ASM.js. Twórcy oprogramowania WebAssembly zapowiadają, że w przyszłości będzie można pisać aplikacje również w innych językach niż C i C++.

Standard WebAssembly jest obecnie wspierany przez grupę roboczą działającą w ramach W3C (World Wide Web Consortium), która zamieszcza wyniki swoich prac na witrynie GitHub.