Interactive Web Application Development with .NET and WebAssembly
Loading...
URL
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu |
Master's thesis
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
2023-01-23
Department
Major/Subject
Web Technologies, Application and Science
Mcode
SCI3042
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
62
Series
Abstract
Traditionally, browsers have supported one programming language: JavaScript. Client-side rendered web application development has thus been limited to JavaScript-only. This changed in 2019, when W3C announced WebAssembly as the fourth language of web. WebAssembly is a portable binary code format supported by majority of browsers. Multiple programming languages can be compiled to WebAssembly, such as C# and C++, increasing language independency of web development. Most of existing research focused on performance and security aspects of WebAssembly. Some results among examined research suggested use scenarios for wasm, but no clear best use cases could be interpreted. Interestingly, the existing research covered in this thesis had minimal results and discussion regarding the software engineering aspect of WebAssembly. This thesis aims to fill the gap in existing research. The results of this research proposed a development process based on WebAssembly, that allows developing client-side web applications with C# and .NET. The designed process also allowed development in other languages, such as C and C++. The process was verified by a proof-of-concept client-side application. The results show, that WebAssembly increases language independency of client-side development and allows new features to be included in .NET web applications.Selaimessa renderöitävien web-applikaatioiden kehitys on perinteisesti täytynyt tehdä JavaScript:lla, sillä se on ollut ainoa selainten tukema ohjelmointikieli. Tilanne muuttui vuonna 2019, kun W3C julkaisi WebAssemblyn internetin neljänneksi viralliseksi kieleksi. Suurin osa selaimista tukee WebAssemblyn binäärikoodia, jota voidaan kääntää useista ohjelmointikielistä, kuten C# ja C++. Laajalla kielivalikoimalla pystytään vähentämään selaimessa suoritettavien sovellusten JavaScript-riippuvuutta. Diplomityö tarkasteli useita olemassa olevia tutkimuksia WebAssemblyyn liittyen. Suurin osa tutkimuksista käsitteli WebAssemblyn suorituskykyä, turvallisuutta ja käyttökohteita. Tarkastellut tutkimukset eivät kuitenkaan juurikaan esittäneet tuloksia tai keskustelua siitä, miten WebAssembly vaikuttaa itse kehitysprosessiin. Tämä diplomityö käsittelee juuri kehitysprosessia WebAssemblyn kanssa. Tutkimuksen tuloksissa on suunniteltu WebAssemblyyn pohjautuva kehitysprosessi, joka mahdollistaa selainsovellusten kehittämisen .NET-arkkitehtuurilla ja C#:lla. Kehitysprosessi mahdollistaa myös muiden ohjelmointikielien hyödyntämisen, esimerkkinä C ja C++. Kehitysprosessi todennettiin toimivaksi toteuttamalla toimiva selainsovellus. Tulokset osoittavat, että WebAssembly vähentää web-kehityksen kieliriippuvaisuutta, sekä mahdollistaa uusien ominaisuuksien lisäämisen .NET-applikaatioon.Description
Supervisor
Haaranen, LassiThesis advisor
Kivilaakso, JanneKeywords
WebAssembly, blazor, interactivity, .NET, in-browser database, language Independency