Angular 2 -migraatio
Högman, Jyri (2017)
Högman, Jyri
Satakunnan ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201703032909
https://urn.fi/URN:NBN:fi:amk-201703032909
Tiivistelmä
Opinnäytetyön aiheena oli Angular 2 -migraatio. Tutkimuksen tarkoitus oli luoda migraatiomenetelmä, jonka avulla toimeksiantajayritys pystyy päivittämään käyttöliittymäpuolen Angular 1 -ohjelmistokoodin versioon 2. Menetelmän luomiseksi haettiin vastauksia seuraaviin kysymyksiin: Mitä hyötyjä ja mahdollisia haittoja migraatiosta voisi seurata? Miten migraatio onnistuu sovellukseen? Miten se tulisi suorittaa ja kuinka työläs migraatio tulisi olemaan?
Migraatiomenetelmän aikaansaamiseksi suoritettiin ensin koemigraatio aiemmin tehtyyn ajanvarausjärjestelmä-sovellukseen, joka noudattaa samaa tyyliopasta kuin toimeksiantajayrityksen ohjelmisto. Koemigraatioista saatujen havaintojen pohjalta suoritettiin toimeksiantajayrityksen ohjelmiston yksittäisten osien päivittäminen Angular 2:en.
Tutkimustyön perusteella tultiin tulokseen, että Angular 1 -sovellus voidaan täysin uudelleenkirjoittaa sisältämään vain Angular 2 -koodia, tai migroida komponentti kerrallaan käyttämällä Angular 2:en UpgradeAdapter moduulia. Molempia työtapoja tutkittiin, ja tultiin siihen tulokseen, että erityisesti koodimassaltaan pieneen sovellukseen kannattaa migraatio suorittaa kirjoittamalla se kokonaan uudestaan. Suuressa sovelluksessa tilanteeseen vaikuttaa erityisesti se, millä Angular 1:en versiolla sovellus on toteutettu. Angular 1.5 component API:a noudattavat sovellukset on vaivattomampia kääntää Angular 2:lle, kuin aikaisemmat Angular 1:en versiot. Muita vaikuttavia tekijöitä ovat sovelluksen komponenttien mahdolliset riippuvuudet ja kolmannen osapuolen kirjastot. Jos komponentit ja palvelut sisältävät useita riippuvuuksia, voi UpgradeAdapterin käyttö olla hankalaa ja välttämättä kaikkia komponentteja ei voi käyttää sillä suoraan.
Migraatiotutkimuksessa todettiin, että koodimassaltaan pienikokoiselle sovellukselle tehtynä migraatio onnistuu helpoiten. Sovelluksen koon kasvaessa migraation tekeminen vaikeutuu ja työtavan valitsemisen tulee olla tarkkaan mietitty.
Migraatiomenetelmän aikaansaamiseksi suoritettiin ensin koemigraatio aiemmin tehtyyn ajanvarausjärjestelmä-sovellukseen, joka noudattaa samaa tyyliopasta kuin toimeksiantajayrityksen ohjelmisto. Koemigraatioista saatujen havaintojen pohjalta suoritettiin toimeksiantajayrityksen ohjelmiston yksittäisten osien päivittäminen Angular 2:en.
Tutkimustyön perusteella tultiin tulokseen, että Angular 1 -sovellus voidaan täysin uudelleenkirjoittaa sisältämään vain Angular 2 -koodia, tai migroida komponentti kerrallaan käyttämällä Angular 2:en UpgradeAdapter moduulia. Molempia työtapoja tutkittiin, ja tultiin siihen tulokseen, että erityisesti koodimassaltaan pieneen sovellukseen kannattaa migraatio suorittaa kirjoittamalla se kokonaan uudestaan. Suuressa sovelluksessa tilanteeseen vaikuttaa erityisesti se, millä Angular 1:en versiolla sovellus on toteutettu. Angular 1.5 component API:a noudattavat sovellukset on vaivattomampia kääntää Angular 2:lle, kuin aikaisemmat Angular 1:en versiot. Muita vaikuttavia tekijöitä ovat sovelluksen komponenttien mahdolliset riippuvuudet ja kolmannen osapuolen kirjastot. Jos komponentit ja palvelut sisältävät useita riippuvuuksia, voi UpgradeAdapterin käyttö olla hankalaa ja välttämättä kaikkia komponentteja ei voi käyttää sillä suoraan.
Migraatiotutkimuksessa todettiin, että koodimassaltaan pienikokoiselle sovellukselle tehtynä migraatio onnistuu helpoiten. Sovelluksen koon kasvaessa migraation tekeminen vaikeutuu ja työtavan valitsemisen tulee olla tarkkaan mietitty.