Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by Author "Lantto, Anttijuhani"

Sort by: Order: Results:

  • Lantto, Anttijuhani (2015)
    Suuri osa nykyisistä sovelluksista on selaimella käytettäviä web-sovelluksia. Eräs web-sovellusten suurimmista haasteista on tapahtumien käsittely, joka sisältää suuren osan sovelluksen virheistä. Funktionaalinen reaktiivinen ohjelmointi pyrkii selkeyttämään tapahtumienkäsittelyä ja sovelluksen tilan automaattista päivitystä. Funktionaalinen reaktiivinen ohjelmointi tarjoaa tähän kaksi työkalua: signaalit ja tapahtumavirrat. Signaalit ovat automaattisesti päivittyviä arvoja, joiden avulla sovelluksen käyttöliittymä voidaan pitää automaattisesti päivitettynä. Tapahtumavirrat ovat ajan mukaan järjestettyjä kokoelmia tapahtumia. Tapahtuman tapahtuessa se lisätään tapahtumavirtaan ja käsitellään. Tapahtumavirroille voidaan tehdä funktionaalisen ohjelmoinnin kokoelmien käsittelyn tyylisiä operaatioita. Tutkielmassa esitellään funktionaalisen reaktiivisen ohjelmoinnin periaatteet ja käsitellään tarkemmin Javascriptillä tehdyistä funktionaalisen reaktiivisen ohjelmoinnin toteutuksista RxJS ja Bacon.js. Funktionaalinen reaktiivinen ohjelmointi on selvä edistysaskel yksinkertaisista pelkkiin takaisinkutsuihin perustuvista ratkaisuista. Se parantaa sovellusten ylläpidettävyyttä, laajennettavuutta ja selkeyttää ohjelmakoodia. Useimpien sovellusten kehittämisessä käytetään sovelluskehyksiä. Sovelluskehysten tavoitteet ovat usein yhteneväisiä funktionaalisen reaktiivisen ohjelmoinnin kanssa, eli ne pyrkivät selkeyttämään tapahtumien käsittelyä, yhtenäistämään rajapintoja ja selkeyttämään sovellusten rakennetta. Tutkielmassa esimerkkisovelluskehyksenä on AngularJS. AngularJS toteuttaa monia reaktiivisuuden piirteitä ja sitä voidaan käyttää yhdessä Bacon.js:n ja RxJS:n kanssa. Funktionaalista reaktiivista ohjelmointia voidaan käyttää yhdessä sovelluskehysten kanssa, mutta sovelluskehysten kanssa funktionaalisen reaktiivisen ohjelmoinnin hyöty jää pienemmäksi. Monimutkaisen tapahtuman käsittelyn yhteydessä funktionaalisen reaktiivisen ohjelmoinnin käyttö voi olla järkevää, vaikka sovelluksessa olisikin sovelluskehys käytössä.