Introductie WebAssembly

Recent heeft Firefox WebAssembly ondersteuning toegevoegd. Op het moment van schrijven biedt Chrome er experimentele ondersteuning voor en zijn de eerste previews er ook al voor Edge.

De vraag, wat is dit en wat voor toepassingen heeft het?

Om het te begrijpen is het verstandig eerst een stapje terug te doen en te kijken wat 'assembly' precies is. Zoals iedereen weet werkt een computer op het allerlaagste niveau met 0-en en 1-en. Omdat dit lastig te onthouden en lezen is, is er een notatie genaamd ‘assembly’. Programmeercode geschreven in assembly kan 1 op 1 worden omgezet computertaal: 0-en en 1-en.

Op dit moment is de meest gebruikte taal in browsers Javascript. Door het toevoegen van WebAssembly kunnen in de browser programma’s worden uitgevoerd die zijn geschreven in assembly. Hierdoor heb je de overhead van Javascript niet en kunnen deze programma’s vele malen sneller uitgevoerd worden.

Nu is het bijna geen doen om programma’s direct in assembly te schrijven. Wat je in de praktijk ziet is broncode dat wordt geschreven in een hogere programmeertaal – bijvoorbeeld C of C++ – wordt gecompileerd naar WebAssembly. Deze kan vervolgens in de browser worden uitgevoerd.


De praktijk

In de praktijk komt het er op neer dat een applicatie in je browser hiermee bijna even snel is als een desktop-applicatie. Hierdoor wordt het bijvoorbeeld interessant om games, CAD-software of zware statistiekpakketten voor de browser te ontwikkelen.

Omdat in de praktijk niet direct in WebAssembly wordt geprogrammeerd, maar naartoe wordt gecompileerd zullen in de toekomst vele programmeertalen ondersteuning gaan bieden om te compileren naar WebAssembly.

Wat dit voor invloed zal hebben op bestaande websites zal nog afwachten zijn. Ik verwacht dat html nog lang aan de basis van websites zal liggen, omdat dit een standaard biedt voor Google-indexering. Ongetwijfeld dat middels WebAssembly meer interactieve onderdelen kunnen worden toegevoegd, zoals het in 3D bekijken van producten of het samenstellen ervan. Een herintroductie van Adobe Flash middels WebAssembly zal mij ook niks verbazen!

- Bent u opzoek naar een Php of Java programmeur voor uw website of applicatie? (freelance / detachering)
- Losse tickets, opdrachten, of gehele projecten in de planning?

Dan kom ik graag met u in contact! Meer informatie over mij vindt u hier.
Sitemap | Op alle producten & diensten zijn de algemene voorwaarden van toepassing