WebAssembly selainohjelmien kielenä

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorVuorimaa, Petri
dc.contributor.authorHintsala, Jaakko
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.supervisorVuorimaa, Petri
dc.date.accessioned2024-05-28T08:18:09Z
dc.date.available2024-05-28T08:18:09Z
dc.date.issued2024-05-08
dc.description.abstractJavaScript on ollut käytännössä ainoa vaihtoehto selainsovellusten ohjelmointikielenä suurimman osan nykyaikaisen internetin historiaa. Erilaiset teknologiat ovat yrittäneet haastaa JavaScriptin ylivaltaa selaimessa vuosien varrella, mutta WebAssemblyä lukuunottamatta ne ovat kaikki jääneet historian varjoihin. WebAssembly pyrkii nimensä mukaan olemaan yhteinen kääntökohde erilaisilla ohjelmointikielillä kirjoitetuille ohjelmille, joita halutaan ajaa selaimessa. Tässä kirjallisuuskatsauksessa tarkastellaan WebAssemblyn rakennetta ja toimintaa yleisesti selaimessa ja verrataan sitä JavaScriptiin turvallisuuden ja tehokkuuden näkökulmista. Työssä arvioidaan myös Rustin yhteensopivuutta WebAssemblyn kanssa. WebAssemblyn tuki on vielä aikaisessa vaiheessa monien ohjelmointikielien osalta, mutta Rustilla on jo nyt hyvä työkalustus ja laaja kirjo WebAssemblyä käyttäviä webkehysympäristöjä. WebAssembly on onnistunut parantamaan tietyin osin turvallisuutta JavaScriptiin verrattuna, vaikkakin C-kielen muistihaavoittuvuudet ovat huolenaihe WebAssemblyksi käännettäessäkin. Suorituskyvyn suhteen WebAssembly on antanut lupaavia tuloksia testatteassa sitä paljon laskentatehoa vaativien selainsovellusten kanssa. Yksittäisiin algoritmeihin ja HTML-dokumentin muokkaamiseen perustuvat suorituskykytestit ovat antaneet vaihtelevampia tuloksia. Kaiken kaikkiaan WebAssembly on lupaava teknologia, joka tarjoaa hyvin erilaisen vaihtoehdon JavaScriptille selainsovelluksissa.fi
dc.description.abstractJavaScript has been practically the only option for modern web development for the most part of modern Internet's history. Several technologies have tried to challenge JavaScript's dominance in the browser over the years, but so far all of these attempts except for WebAssembly have fallen into obscurity. As the name implies, WebAssembly aims to be a common compilation target for programs written in various languages to be executed in the browser. This thesis is a literature review that broadly covers WebAssembly's structure and functionality in the browser and compares it to JavaScript in the domains of performance and security. This work also evaluates Rust's compatibility with WebAssembly. The support for WebAssembly is still in an early phase for many programming languages, but Rust already has mature tooling for it and a broad selection of web frameworks utilizing WebAssembly. WebAssembly has been able to improve on security compared to JavaScript in some parts, even though C programming language's memory vulnerabilities are also a concern when compiling to WebAssembly. In the field of performance, WebAssembly has shown promising results, when it was tested with certain resource-intensive web applications. Performance tests done with individual algorithms and some simple HTML-document modification operations show more varied results. In conclusion, WebAssembly is a promising technology that provides a distinct alternative to JavaScript for web applications.en
dc.format.extent29
dc.format.mimetypeapplication/pdfen
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/128285
dc.identifier.urnURN:NBN:fi:aalto-202405283887
dc.language.isofien
dc.programmeTeknistieteellinen kandidaattiohjelmafi
dc.programme.majorTietotekniikkafi
dc.programme.mcodeSCI3027fi
dc.subject.keywordWebAssemblyfi
dc.subject.keywordwasmen
dc.subject.keywordJavaScriptfi
dc.subject.keywordRustfi
dc.subject.keywordweb applicationen
dc.titleWebAssembly selainohjelmien kielenäfi
dc.titleWebAssembly as a language for the weben
dc.typeG1 Kandidaatintyöfi
dc.type.dcmitypetexten
dc.type.ontasotBachelor's thesisen
dc.type.ontasotKandidaatintyöfi

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
Hintsala_Jaakko_2024.pdf
Size:
1.1 MB
Format:
Adobe Portable Document Format