Next.js ja muut isomorfiset sovelluskehykset
Pöyry, Tuomas (2021)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2021111820542
https://urn.fi/URN:NBN:fi:amk-2021111820542
Tiivistelmä
Insinöörityön tavoitteena oli tutustua isomorfiseen Next.js-sovelluskehykseen ja kartoittaa sen hyödyllisyyttä verkkosivujen tuotannossa. Hyödyllisyyteen sisältyvät kehittäjäkokemus, verkkosivuston nopeus ja tuetut ominaisuudet.
Työtä varten toteutettiin esimerkkiprojekti, jossa kehitettiin vertailusovellus erikseen kolmea sovellusmallia käyttäen (SSR, SPA ja isomorfinen Next.js). Vertailusovelluksen ulkoasu ja toiminnallisuus olivat identtisiä eri sovellusmallien välillä. Työssä kehitettyä sovellusta käytettiin vertailussa eri mallien välillä. Vertailutyökaluna toimi Googlen Lighthouse-työkalu, jonka avulla verkkosivuja voidaan analysoida. Google käyttää tätä työkalua sisäisesti hakuvaihtoehtojen järjestelyyn.
Tutkimustulosten avulla selvisi, että Next.js-kehys todella yhdistää SSR- ja SPA-mallien hyvät puolet ja onnistuu päihittämään ne molemmat tärkeimmissä pisteytyksissä. Ominaisuuskartoituksessa tosin huomattiin, että Next.js ei välttämättä tarjoa kaikkia isojen verkkosivujen vaatimia ominaisuuksia ilman yhteisön kehittämien pakettien asennusta. Näistä puutteista suurimpina ilmenivät huono monikielisyyden tuki ja sivukarttojen rakentamisen puuttuminen.
Työ tehtiin Next.js-kehyksen version 11.1.2 perusteella.
Työtä varten toteutettiin esimerkkiprojekti, jossa kehitettiin vertailusovellus erikseen kolmea sovellusmallia käyttäen (SSR, SPA ja isomorfinen Next.js). Vertailusovelluksen ulkoasu ja toiminnallisuus olivat identtisiä eri sovellusmallien välillä. Työssä kehitettyä sovellusta käytettiin vertailussa eri mallien välillä. Vertailutyökaluna toimi Googlen Lighthouse-työkalu, jonka avulla verkkosivuja voidaan analysoida. Google käyttää tätä työkalua sisäisesti hakuvaihtoehtojen järjestelyyn.
Tutkimustulosten avulla selvisi, että Next.js-kehys todella yhdistää SSR- ja SPA-mallien hyvät puolet ja onnistuu päihittämään ne molemmat tärkeimmissä pisteytyksissä. Ominaisuuskartoituksessa tosin huomattiin, että Next.js ei välttämättä tarjoa kaikkia isojen verkkosivujen vaatimia ominaisuuksia ilman yhteisön kehittämien pakettien asennusta. Näistä puutteista suurimpina ilmenivät huono monikielisyyden tuki ja sivukarttojen rakentamisen puuttuminen.
Työ tehtiin Next.js-kehyksen version 11.1.2 perusteella.
