Tyyppiturvallisuus FullStack TypeScript -sovelluksessa
Rämö, Joona (2023)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023110928980
https://urn.fi/URN:NBN:fi:amk-2023110928980
Tiivistelmä
Tässä opinnäytetyössä syvennytään tyyppiturvallisuuden merkitykseen ja sen toteutumiseen FullStack TypeScript -sovelluksissa. Työ valottaa tyyppien roolia ohjelmistokehityksessä ja erittelee hyötyjä sekä haasteita staattisesti ja dynaamisesti tyypitetyissä ohjelmointikielissä.
FullStack -kehityksen kontekstissa tarkastellaan, miten TypeScript tukee sekä frontend- että backend-puolen kehitystä ja minkälaisia erityishaasteita tyyppiturvallisuuden varmistamisessa saattaa kohdata, kun järjestelmän eri osat kommunikoivat keskenään.
Työssä kiinnitetään erityistä huomiota monorepon käyttöön esimerkkiprojektissa ja siihen, miten tyyppiturvallisuus voidaan varmistaa sekä sovelluksen frontendettä backend-osuudessa projektin koosta riippumatta. Tyyppiturvallisuus vahvistetaan jakamalla sovelluksessa käytettäviä tyyppejä näiden eri osaalueiden kesken. Tavoitteena on taata vahva tyypitys ja siitä saatavat hyödyt sekä sovelluksen käännösvaiheessa että myös ajonaikaisesti.
Opinnäytetyö osoittaa, että vaikka tyyppiturvallisuuden saavuttaminen vaatii
huolellisuutta ja syvällistä ymmärrystä ohjelmistokehityksen prosesseista, se tarjoaa merkittäviä hyötyjä koodin laatuun, ylläpidettävyyteen sekä virheiden vähentämiseen. Lisäksi se parantaa yleisesti myös kehittäjäkokemusta.
FullStack -kehityksen kontekstissa tarkastellaan, miten TypeScript tukee sekä frontend- että backend-puolen kehitystä ja minkälaisia erityishaasteita tyyppiturvallisuuden varmistamisessa saattaa kohdata, kun järjestelmän eri osat kommunikoivat keskenään.
Työssä kiinnitetään erityistä huomiota monorepon käyttöön esimerkkiprojektissa ja siihen, miten tyyppiturvallisuus voidaan varmistaa sekä sovelluksen frontendettä backend-osuudessa projektin koosta riippumatta. Tyyppiturvallisuus vahvistetaan jakamalla sovelluksessa käytettäviä tyyppejä näiden eri osaalueiden kesken. Tavoitteena on taata vahva tyypitys ja siitä saatavat hyödyt sekä sovelluksen käännösvaiheessa että myös ajonaikaisesti.
Opinnäytetyö osoittaa, että vaikka tyyppiturvallisuuden saavuttaminen vaatii
huolellisuutta ja syvällistä ymmärrystä ohjelmistokehityksen prosesseista, se tarjoaa merkittäviä hyötyjä koodin laatuun, ylläpidettävyyteen sekä virheiden vähentämiseen. Lisäksi se parantaa yleisesti myös kehittäjäkokemusta.
