WebAssemblyn käyttökohteet selainsovelluksissa
Pekurinen, Toni (2021)
Pekurinen, Toni
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202203123396
https://urn.fi/URN:NBN:fi:amk-202203123396
Tiivistelmä
Opinnäytetyössä tutkittiin WebAssemblyn käyttökohteita selainsovelluksissa. WebAssembly on melko uusi
teknologia ja sen käyttökohteiden selvittäminen osoittautui ajankohtaiseksi. WebAssembly on tehty se laimissa ajettavaksi ja sen on kerrottu parantavan sovelluksien suorituskykyä. Tehtävänä oli ottaa selvää
mikä WebAssembly on ja mikä on sen nykytilanne, sekä selvittää sen käytön etuja ja haittoja. Tavoitteena oli
löytää mahdollisia sovelluskohteita ja saada kuva sen käytön nykytilanteesta. Opinnäytetyössä keskityttiin
verkkoselaimessa toteutuvaan käyttöön.
Opinnäytetyö toteutettiin kvalitatiivisena tutkimuksena ja siinä käytettiin vertailua. Vertailua tehtiin WebAs semblyn ja JavaScriptin välillä. WebAssemblyn ja JavaScriptin vertailussa keskityttiin suorituskykyyn. Suo rituskykyä näiden välillä mitattiin Fibonacci ja Matriisin kerronta -testeillä. Sovelluskehyksien vertailua teh tiin Blazor WebAssemblyn ja Angularin välillä. Sovelluskehyksien vertailussa kehitettiin vertailtavat
asiakaspuolen sovellukset. Asiakaspuolen sovelluksien vertailussa keskityttiin toteutukseen, arkkitehtuurin
eroihin ja suorituskykyyn. Kaikki testit suoritettiin verkkoselaimessa.
WebAssembly oli suurimmassa osassa testejä JavaScriptia nopeampi. Blazor WebAssembly sovelluskehystä
ja Angular-sovelluskehystä vertailtaessa sovelluksien toteutus onnistui Angularilla hieman helpommin. An gular oli suorituskykyä mitattaessa Blazor WebAssemblya nopeampi.
Johtopäätöksinä todettiin WebAssemblyn tarjoavan uudenlaisen tavan julkaista sovelluksia verkossa. Lisäksi
todettiin sen tarjoavan pääosin hyvää suorituskykyä sovelluksia ajatellen. WebAssemblyn käytön todettiin
vaativan syventymistä aiheeseen. Blazor WebAssemblyn todettiin puolestaan tarjoavan mahdollisuuden to teuttaa asiakaspuolen sovelluksia C#-kieltä ja .NET-kirjastoja hyödyntäen, vaikka suorituskyvyllään se ei
vielä kilpaillut Angular-sovelluksien kanssa.
teknologia ja sen käyttökohteiden selvittäminen osoittautui ajankohtaiseksi. WebAssembly on tehty se laimissa ajettavaksi ja sen on kerrottu parantavan sovelluksien suorituskykyä. Tehtävänä oli ottaa selvää
mikä WebAssembly on ja mikä on sen nykytilanne, sekä selvittää sen käytön etuja ja haittoja. Tavoitteena oli
löytää mahdollisia sovelluskohteita ja saada kuva sen käytön nykytilanteesta. Opinnäytetyössä keskityttiin
verkkoselaimessa toteutuvaan käyttöön.
Opinnäytetyö toteutettiin kvalitatiivisena tutkimuksena ja siinä käytettiin vertailua. Vertailua tehtiin WebAs semblyn ja JavaScriptin välillä. WebAssemblyn ja JavaScriptin vertailussa keskityttiin suorituskykyyn. Suo rituskykyä näiden välillä mitattiin Fibonacci ja Matriisin kerronta -testeillä. Sovelluskehyksien vertailua teh tiin Blazor WebAssemblyn ja Angularin välillä. Sovelluskehyksien vertailussa kehitettiin vertailtavat
asiakaspuolen sovellukset. Asiakaspuolen sovelluksien vertailussa keskityttiin toteutukseen, arkkitehtuurin
eroihin ja suorituskykyyn. Kaikki testit suoritettiin verkkoselaimessa.
WebAssembly oli suurimmassa osassa testejä JavaScriptia nopeampi. Blazor WebAssembly sovelluskehystä
ja Angular-sovelluskehystä vertailtaessa sovelluksien toteutus onnistui Angularilla hieman helpommin. An gular oli suorituskykyä mitattaessa Blazor WebAssemblya nopeampi.
Johtopäätöksinä todettiin WebAssemblyn tarjoavan uudenlaisen tavan julkaista sovelluksia verkossa. Lisäksi
todettiin sen tarjoavan pääosin hyvää suorituskykyä sovelluksia ajatellen. WebAssemblyn käytön todettiin
vaativan syventymistä aiheeseen. Blazor WebAssemblyn todettiin puolestaan tarjoavan mahdollisuuden to teuttaa asiakaspuolen sovelluksia C#-kieltä ja .NET-kirjastoja hyödyntäen, vaikka suorituskyvyllään se ei
vielä kilpaillut Angular-sovelluksien kanssa.