WebAssembly selainohjelmien kielenä
No Thumbnail Available
Files
Hintsala_Jaakko_2024.pdf (1.1 MB) (opens in new window)
Aalto login required (access for Aalto Staff only).
URL
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu |
Bachelor's thesis
Electronic archive copy is available locally at the Harald Herlin Learning Centre. The staff of Aalto University has access to the electronic bachelor's theses by logging into Aaltodoc with their personal Aalto user ID. Read more about the availability of the bachelor's theses.
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Authors
Date
2024-05-08
Department
Major/Subject
Tietotekniikka
Mcode
SCI3027
Degree programme
Teknistieteellinen kandidaattiohjelma
Language
fi
Pages
29
Series
Abstract
JavaScript 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.JavaScript 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.Description
Supervisor
Vuorimaa, PetriThesis advisor
Vuorimaa, PetriKeywords
WebAssembly, wasm, JavaScript, Rust, web application