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

Funktionaalinen reaktiivinen ohjelmointi web-sovelluksissa

Show full item record

Title: Funktionaalinen reaktiivinen ohjelmointi web-sovelluksissa
Author(s): Lantto, Anttijuhani
Contributor: University of Helsinki, Faculty of Science, Department of Computer Science
Discipline: Computer science
Language: Finnish
Acceptance year: 2015
Abstract:
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ä.


Files in this item

Files Size Format View
lantto_gradu.pdf 661.1Kb PDF

This item appears in the following Collection(s)

Show full item record