WebAssembly as an alternative solution for JavaScript in developing modern web applications


Abstract

The article describes the impact of using WebAssembly on the performance of web applications. A Blazor framework based on WebAssembly was used. The paper shows that it is possible to create fully functioning Single Page Application using C# programming language. The second application was made using Angular framework. Both applications implement the same functionalities. For prepared applications loading time and size of transferred data was measured. The impact of using browser cache memory and gzip compression was examined. The performance of handling http requests using GET and POST methods were measured. The performance of WebAssembly against JavaScript code in task of sorting a list of N objects was compared. The performance of modifying html DOM was examined. Selected code metrics of written applications were compared. JavaScript presents better performance with tasks related with browser API. WebAssembly was better for computing.


Keywords

JavaScript; WebAssembly; Blazor; Angular

[1] 2015 Developer Survey https://insights.stackoverflow.com
/survey/2015 [11.06.2019]
[2] Developer Survey Results 2016 https://insights.stackoverflow.
com/survey/2016 [11.06.2019]
[3] Developer Survey Results2017 https://insights.stackoverflow.
com/survey/2017 [11.06.2019]
[4] Developer Survey Results2018 https://insights.stackoverflow.
com/survey/2018/ [11.06.2019]
[5] D. An, P. Meenan, Why marketers should care about mobile page speed, https://www.thinkwithgoogle.com/marketing-resources/experience-design/mobile-page-speed-load-time/ [11.06.2019]
[6] A. Jangda, A. Guha, B. Powers, E. Berger, Mind the Gap:Analyzing the Performance of WebAssembly vs. Native Code, 2019
[7] C. G. Gallant, WebAssembly in Action, Mananig Publications, 2019
[8] W. Stępniak, Z. Nowak Performance Analysis of SPA Web Systems, 2017
[9] J. Kalinowska, B. Pańczyk, Porównanie narzędzi do tworzenia aplikacji typu SPA na przykładzie Angular2 i React, 2019
[10] A. Pano, D. Graziotin Factors and actors leading to the adoption of a JavaScript framework, 2018
[11] Call a web API from ASP.NET Core Blazor, https://docs.
microsoft.com/pl-pl/aspnet/core/blazor/call-web-api?view=
aspnetcore-3.0 [25.08.2019]
[12] WASM Features to add after the MVPhttps://webassembly.org
/docs/future-features [10.08.2019]
Download

Published : 2019-12-30


Suryś, D., Szłapa, P., & Skublewska-Paszkowska, M. (2019). WebAssembly as an alternative solution for JavaScript in developing modern web applications. Journal of Computer Sciences Institute, 13, 332-338. https://doi.org/10.35784/jcsi.1328

Dawid Suryś  dawid.surys@pollub.edu.pl
Lublin University of Technology  Poland
Piotr Szłapa 
Lublin University of Technology  Poland
Maria Skublewska-Paszkowska 
Lublin University of Technology  Poland