JavaScript-sovelluskehyksillä toteutettujen asiakassovellusten ylläpidettävyyden vertailu - Tarvainen, Seppo (2018)
JavaScript-sovelluskehysten käyttö helpottaa asiakaspuolen sovelluskehitystä ja parantaa sovelluksen ylläpidettävyyttä. Oikean työkalun valitseminen on ohjelmoijalle kuitenkin haastava tehtävä teknologioiden nopean kehittymisen vuoksi. Suunnittelutieteellisen tutkimuksen avulla selvitettiin suosittujen sovelluskehysten (AngularJS, Angular 5 ja React) eri ominaisuuksien, kuten staattisen tyypityksen, riippuvuusinjektion ja tarkkailijamallin käytön sekä komponentteihin osituksen vaikutusta kahteen ylläpidettävyyden attribuuttiin: stabiilisuuteen ja muokattavuuteen. Tutkielmassa toteutettiin valituilla sovelluskehyksillä työajanseurantasovellukset, joita kehitettiin edelleen kuudessa versiopäivityksessä. Tämän jälkeen SonarCloud-palvelussa selvitettiin sovellusten rivimäärä sekä syklomaattinen ja kognitiivinen kompleksisuus. Mittaustulosten kautta tutkittiin valittujen ominaisuuksien vaikutusta ylläpidettävyyden attribuutteihin muutosvaikutusanalyysin avulla. React-sovelluksissa käytetty tapa osittaa ohjelma komponentteihin kasvatti merkittävästi sovellusten rivimäärää, mutta ei niiden kompleksisuusarvoja. Tulokset osoittivat myös, että tarkkailijamallin käyttö vaikutti heikentävän ylläpidettävyyttä, kun taas staattisella tyypityksellä tai riippuvuusinjektion käytöllä ei havaittu olevan siihen merkittävää vaikutusta.