Tytuł artykułu
Treść / Zawartość
Pełne teksty:
Identyfikatory
Warianty tytułu
WebAssembly as an alternative solution for JavaScript in developing modern web applications
Języki publikacji
Abstrakty
W artykule opisano wpływ wykorzystania standardu WebAssembly na wydajność aplikacji internetowych. Wykorzystano oparty o WebAssembly szkielet aplikacji Blazor. Pokazano, iż można wykonać w pełni funkcjonalną aplikację SPA (ang. Single Page Application) pisząc kod aplikacji w języku C#. Wykonano drugą aplikację wykorzystując szkielet Angular. W obu aplikacjach zaimplementowano te same funkcjonalności. Dla wykonanych aplikacji porównano czasy ładowania w przeglądarce oraz rozmiar przesyłanych danych. Zbadano wpływ pamięci podręcznej przeglądarki i kompresji gzip. Zbadano wydajność obsługi żądań HTTP. Porównano wydajność kodu WebAssembly z kodem JavaScript w zadaniu sortowania n-elementowej listy obiektów. Zbadano wydajność aplikacji Blazor w modyfikowaniu drzewa DOM. Porównano wybrane metryki kodu obu aplikacji. JavaScript okazał się wydajniejszy w zadaniach związanych z wykorzystaniem API przeglądarki. WebAssembly był lepszy w zadaniach obliczeniowych.
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.
Słowa kluczowe
Czasopismo
Rocznik
Tom
Strony
332--338
Opis fizyczny
Bibliogr. 12 poz., rys., tab.
Twórcy
autor
- Politechnika Lubelska, Instytut Informatyki, Nadbystrzycka 36B, 20-618 Lublin, Polska
autor
- Politechnika Lubelska, Instytut Informatyki, Nadbystrzycka 36B, 20-618 Lublin, Polska
- Politechnika Lubelska, Instytut Informatyki, Nadbystrzycka 36B, 20-618 Lublin, Polska
Bibliografia
- [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]
Uwagi
Opracowanie rekordu w ramach umowy 509/P-DUN/2018 ze środków MNiSW przeznaczonych na działalność upowszechniającą naukę (2019).
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-94266cb7-f00b-48d0-b793-f416b5bc20aa