From Node.js to Deno : a comparative analysis and case study of migration
Badorek, Rikhard (2025)
Kandidaatintyö
Badorek, Rikhard
2025
School of Engineering Science, Tietotekniikka
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2025041526802
https://urn.fi/URN:NBN:fi-fe2025041526802
Tiivistelmä
This thesis conducts a comparative analysis and a practical case study on migration from Node.js to Deno. It aims to evaluate whether migration between the runtimes is a feasible option. Node.js has been a dominant runtime for server-side applications, but over the years some flaws and limitations have led to a new runtime Deno. Deno was created by Ryan Dahl in 2020 to address some of the shortcomings of Node.js.
The study employs a mixed-method approach for the research. A comprehensive literature review is combined with a practical case study that involves migrating a full-stack application’s backend from Node.js to Deno.
Results indicate that Deno is a very viable option in many development cases. It generally outperforms Node.js in handling high-concurrency and in I/O-bound tasks. Additionally, Deno offers better security, streamlined configuration and package management and built-in tools. However, migration should be considered case-by-case due to challenges such as the increased CPU usage and a less mature community.
Based on the findings, this study proposes a set of guidelines for developers who are considering migration from Node.js to Deno. The study concludes that Deno can provide significant improvements for web development but the decision to migrate should be carefully evaluated and considered to find if the migration could bring real value and be a feasible option for the case. Tässä kandidaatintyössä suoritetaan vertaileva analyysi sekä käytännön tapaustutkimus siirtymisestä Node.js:stä Denoon. Tavoitteena on arvioida, onko siirtyminen näiden ympäristöjen välillä suotava ratkaisu. Node.js on ollut hallitseva palvelinpuolen sovellusten kehittämisessä, mutta sen heikkoudet ja rajoitteet ovat vuosien varrella johtaneet uuden ympäristön, Denon, kehittämiseen. Ryan Dahl loi Denon vuonna 2020 korjatakseen Node.js:n puutteita ja rajoitteita.
Tutkimuksessa hyödynnettiin menetelmää, jossa suoritettiin sekä kattava kirjallisuuskatsaus että käytännön tapaustutkimus, joka sisältää full-stack sovelluksen palvelinpuolen siirtämisen Node.js:stä Denoon.
Tulokset osoittavat, että Deno on monissa tapauksissa erittäin toimiva vaihtoehto. Se on parempi etenkin sovelluksissa, jotka vaativat suuren määrän samanaikaisia yhteyksiä tai I/O-tehtäviä. Lisäksi Deno tarjoaa parempaa tietoturvaa, yksinkertaisemman konfiguroinnin sekä pakettien hallinnan ja sisäänrakennetut kehitystyökalut. Denon ongelmiksi näyttäytyi suurempi CPU-kuormitus sekä vähemmän kehittynyt yhteisö, jonka takia siirtymistä alustojen välillä tulisi harkita tilanteen mukaan.
Tutkimuksen perusteella esitetään ohjeistus kehittäjille, jotka harkitsevat siirtymistä Node.js:stä Denoon. Deno voi tuoda huomattavia hyötyjä ja parannuksia web-kehitykseen, mutta siirtymistä tulisi harkita tapauskohtaisesti, jotta voidaan varmistaa, että siirtyminen tuo todellista lisäarvoa ja hyötyä kyseisessä tilanteessa.
The study employs a mixed-method approach for the research. A comprehensive literature review is combined with a practical case study that involves migrating a full-stack application’s backend from Node.js to Deno.
Results indicate that Deno is a very viable option in many development cases. It generally outperforms Node.js in handling high-concurrency and in I/O-bound tasks. Additionally, Deno offers better security, streamlined configuration and package management and built-in tools. However, migration should be considered case-by-case due to challenges such as the increased CPU usage and a less mature community.
Based on the findings, this study proposes a set of guidelines for developers who are considering migration from Node.js to Deno. The study concludes that Deno can provide significant improvements for web development but the decision to migrate should be carefully evaluated and considered to find if the migration could bring real value and be a feasible option for the case.
Tutkimuksessa hyödynnettiin menetelmää, jossa suoritettiin sekä kattava kirjallisuuskatsaus että käytännön tapaustutkimus, joka sisältää full-stack sovelluksen palvelinpuolen siirtämisen Node.js:stä Denoon.
Tulokset osoittavat, että Deno on monissa tapauksissa erittäin toimiva vaihtoehto. Se on parempi etenkin sovelluksissa, jotka vaativat suuren määrän samanaikaisia yhteyksiä tai I/O-tehtäviä. Lisäksi Deno tarjoaa parempaa tietoturvaa, yksinkertaisemman konfiguroinnin sekä pakettien hallinnan ja sisäänrakennetut kehitystyökalut. Denon ongelmiksi näyttäytyi suurempi CPU-kuormitus sekä vähemmän kehittynyt yhteisö, jonka takia siirtymistä alustojen välillä tulisi harkita tilanteen mukaan.
Tutkimuksen perusteella esitetään ohjeistus kehittäjille, jotka harkitsevat siirtymistä Node.js:stä Denoon. Deno voi tuoda huomattavia hyötyjä ja parannuksia web-kehitykseen, mutta siirtymistä tulisi harkita tapauskohtaisesti, jotta voidaan varmistaa, että siirtyminen tuo todellista lisäarvoa ja hyötyä kyseisessä tilanteessa.