Yksisivuisten sovellusten kehittäminen komponentti-viitekehyksillä
Ylhäinen, Valtteri (2021)
Ylhäinen, Valtteri
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2021120824570
https://urn.fi/URN:NBN:fi:amk-2021120824570
Tiivistelmä
Verkkosovellusten käyttöliittymien kehityksessä käytetään usein kehitystä tukevia front end-viitekehyksiä. Vain yhdestä tiedostosta koostuvien komponenttien sisältäviä viitekehyksiä kutsutaan yksitiedostoisiksi komponentti-viitekehyksiksi. Opinnäytetyön tarkoituksena oli erotella komponentti-viitekehyksien Vue.js:n, Marko.js:n, Svelte:n ja React:in vahvuuksia ja heikkouksia testaamalla edellä mainituilla viitekehyksillä toteutettujen prototyyppien suorituskykyä. Prototyypit sisälsivät kolme eri rasite-testiä: komponentin sisäisen reaktiivisuus, komponenttien välinen reaktiivisuus ja komponenttien dynaaminen luominen.
Testien tuloksien mukaan Vue oli suorituskyvyltään heikoin ja vaati eniten manuaalista optimointia; Marko oli suoritusnopeudeltaan huomattavasti parempi kuin Vue, mutta käytti hybridirenderöinnin takia enemmän palvelimen resursseja; Svelte oli suorituskyvyltään ja muistinkäytöltään paras ja React oli keskimäärin tehokas, mutta kärsi vaihtelevasta suoritusnopeudesta ja hitaasta muistinhallinnasta.
Vue:n ja React:in suuren käyttäjien määrän takia, niillä on myös suurin tuki, minkä takia ne sopivat tällä hetkellä näistä viitekehyksistä parhaiten yleiseen yrityskäyttöön. Svelte sopi näistä viitekehyksistä parhaiten yksinkertaisten yksisivuisten verkkosovellusten kehitykseen ja Marko vaikutti sopivan vain hybridirenderöinnistä riippuvien verkkosovellusten kehittämiseen. Verrattuna muihin tiedostorakenteisiin, komponentti-viitekehyksillä kehitettyjen ohjelmistojen ylläpito pysyy helpompana koodin rivien määrän kasvaessa, mutta se että käyttääkö yksitiedostoisia komponentti-viitekehyksiä on makukysymys. Jatkotutkimuksena voitaisiin joko toteuttaa samoja prototyyppejä eri viitekehyksillä tai tulevaisuudessa seurata Svelte:n käytön kehitystä, sen vuonna 2021 saavuttaneen nopean suosion nousun takia.
Testien tuloksien mukaan Vue oli suorituskyvyltään heikoin ja vaati eniten manuaalista optimointia; Marko oli suoritusnopeudeltaan huomattavasti parempi kuin Vue, mutta käytti hybridirenderöinnin takia enemmän palvelimen resursseja; Svelte oli suorituskyvyltään ja muistinkäytöltään paras ja React oli keskimäärin tehokas, mutta kärsi vaihtelevasta suoritusnopeudesta ja hitaasta muistinhallinnasta.
Vue:n ja React:in suuren käyttäjien määrän takia, niillä on myös suurin tuki, minkä takia ne sopivat tällä hetkellä näistä viitekehyksistä parhaiten yleiseen yrityskäyttöön. Svelte sopi näistä viitekehyksistä parhaiten yksinkertaisten yksisivuisten verkkosovellusten kehitykseen ja Marko vaikutti sopivan vain hybridirenderöinnistä riippuvien verkkosovellusten kehittämiseen. Verrattuna muihin tiedostorakenteisiin, komponentti-viitekehyksillä kehitettyjen ohjelmistojen ylläpito pysyy helpompana koodin rivien määrän kasvaessa, mutta se että käyttääkö yksitiedostoisia komponentti-viitekehyksiä on makukysymys. Jatkotutkimuksena voitaisiin joko toteuttaa samoja prototyyppejä eri viitekehyksillä tai tulevaisuudessa seurata Svelte:n käytön kehitystä, sen vuonna 2021 saavuttaneen nopean suosion nousun takia.
