Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by Subject "javascript"

Sort by: Order: Results:

  • Huotala, Aleksi (2021)
    Isomorphic web applications combine the best parts of static Hypertext Markup Language (HTML) pages and single-page applications. An isomorphic web application shares code between the server and the client. However, there is not much existing research on isomorphic web applications. Improving the performance, user experience and development experience of web applications are popular research topics in computer science. This thesis studies the benefits and challenges of isomorphism in single-page applications. To study the benefits and challenges of isomorphism in single-page applications, a gray literature review and a case study were conducted. The articles used in the gray literature review were searched from four different websites. To make sure the gray literature could be used in this study, a quality assessment process was conducted. The case study was conducted as a developer survey, where developers familiar with isomorphic web applications were interviewed. The results of both studies are then compared and the key findings are compared together. The results of this study show that isomorphism in single-page applications brings benefits to both the developers and the end-users. Isomorphism in single-page applications is challenging to implement and has some downsides, but they mostly affect developers. The performance and search engine optimization of the application are improved. Implementing isomorphism makes it possible to share code between the server and the client, but it increases the complexity of the application. Framework and library compatibility are issues that must be addressed by the developers. The findings of this thesis give motivation for developers to implement isomorphism when starting a new project or transforming existing single-page applications to use isomorphism.
  • Valentine, Nicolas (2023)
    A case study that studied the performance impact of a node.js component when it was refactored from monolith environment into independent service. The performance study studied the response time of the blocking part of JavaScript code in the component. The non blocking part of the code and the added network overhead from the refactoring were excluded from the performance review. Literature review didn’t show any related research that studied the performance impact of a node.js component when it was refactored from monolith into microservices. Many found studies were found that studied the response time and throughput of REST API build with node.js with comparisons to other programming languages. A study were found that related to refactoring an application from monolith into microservices. None of the found studies were directly related to the studied case. It was noted that the response time of the component improved by 46.5% when it was refactored from monolith into microservice. It is possible that when a node.js monolith application grows it starts to affect the throughput of the event loop affecting performance critical components. For the case component it was beneficial to refactor it into independent service in order to gain the 92.6ms in the mean response time.
  • Riihimäki, Tatu (2023)
    ICT-sektorin edellyttämän sähköenergiantuotannon aiheuttamat kasvihuonepäästöt ovat kasvaneet lentoliikenteen kasvihuonepäästöjen suuruisiksi. Tähän on kuitenkin mahdollista vaikuttaa tekemällä energiankulutustietoisia valintoja ohjelmistokehityksessä, josta tänä päivänä osa kohdistuu verkkoselaimissa suoritettavien verkkosovellusten kehitykseen, jossa apuna käytetään erilaisia verkkosovelluskehyksiä. Tässä tutkielmassa vertaillaan käytetyimpien JavaScript-verkkosovelluskehysten: React, Angular ja Vue, energiankulutusta uuteen Blazor WebAssembly -verkkosovelluskehykseen, joka perustuu WebAssemblyyn, jonka JavaScriptiä pienemmästä energiankulutuksesta ja paremmasta suorituskyvystä on jo tutkimusnäyttöä. Tutkielmassa toteutetaan valituilla verkkosovelluskehyksillä vertailukelpoiset testiverkkosovellukset, joiden suoritusaikaista energiankulutusta, tehonkäyttöä ja suoritusaikaa mitataan Intel Power Gadget -mittausohjelmistolla. Mittaustulosten perusteella todetaan, että Blazor WebAssembly ei ole energiankulutukseltaan JavaScript-verkkosovelluskehyksiä pienempi, vaan sijoittuu tarkasteltujen JavaScript-verkkosovelluskehysten väliin. Tutkielma rajoittui tarkastelemaan verkkosovelluskehysten toiminnoista tilanhallintaa ja muutosten havaitsemista. Intel Power Gadget -mittausohjelmisto osoittautui helppokäyttöiseksi, tarkaksi ja automatisoitavaksi mittaustavaksi, jota voidaan suositella käytettäväksi tämän tutkielman kokemusten perusteella vastaavissa mittauksissa. Lisäksi kestävän ohjelmistokehityksen näkökulmasta tutkielman tuloksista voidaan oppia, että verkkosovelluskehyksen valinnalla voidaan vaikuttaa verkkosovelluksen suoritusaikaiseen energiankulutukseen verkkosovelluskehyksen vastuualueella jopa 43%:a, mutta sen vaikutusta koko verkkosovelluksen suoritusaikaiseen energiankulutukseen ei tutkielman tulosten perusteella voida arvioida.