<script type="text/javascript">
<!--
document.write('<div id="oa_widget"></div>');
document.write('<script type="text/javascript" src="https://www.openaire.eu/index.php?option=com_openaire&view=widget&format=raw&projectId=undefined&type=result"></script>');
-->
</script>
Reaktiivisella ohjelmointiparadigmalla tarkoitetaan tapahtumapohjaista interaktiivisten sovellusten ohjelmointiin käytettyä ohjelmointimallia. Reaktiivinen ohjelmointi on useimmiten myös deklaratiivista sekä funktionaalista ja sitä voidaan ajatella vastakkaisena ohjelmointityylinä perinteisemmälle imperatiiviselle ja proseduraaliselle ohjelmoinnille. Reaktiivisessa ohjelmoinnissa muuttujien arvot on sidottu toisiinsa, ja ne reagoivat muutoksiin sekä päivittyvät automaattisesti. Tässä opinnäytetyössä tutkittiin reaktiivista ohjelmointia ja esiteltiin sen käyttämistä Angular-ohjelmointikehyksessä. Angular on interaktiivisten verkkosovellusten kehittämiseen luotu viitekehys, joka tarjoaa monia reaktiivisen ohjelmoinnin mahdollistavia työkaluja. Näistä tärkeimpänä lienee RxJS-kirjasto, joka on kokoelma reaktiiviseen ohjelmointiin JavaScriptillä suunniteltuja välineitä. Opinnäytetyössä refaktoroitiin olemassa olevan Angular-sovelluksen toiminnallisuus, joka oli aiemmin toteutettu imperatiivisesti ja proseduraalisesti. Toimeksiantajana opinnäytetyölle toimi CGI Suomi Oy, joka toteuttaa IT-ratkaisuja julkiselle ja yksityiselle sektorille. Toimeksiannon tarve syntyi halusta varmistaa ja parantaa sovelluksen frontend-koodin laatua. Angular soveltuu erinomaisesti reaktiiviseen ohjelmointiin, mutta valitettavan pieni osa sovelluskehittäjistä on sisäistänyt reaktiivisen ohjelmoinnin idean ja käyttää Angularin ja RxJS:n työkaluja epäoptimaalisesti. Työn yhtenä tavoitteena oli osoittaa, miten reaktiivisesti kirjoitettu ohjelmakoodi tekee siitä luettavampaa, ymmärrettävämpää, yksinkertaisempaa ja muokattavampaa nostaen huomattavasti koodin laatua. Täten omaksumalla reaktiivisen ohjelmointimallin on toimeksiantajan mahdollista saavuttaa merkittäviä koodin laadullisia parannuksia. Opinnäytetyön teoreettinen viitekehys muodostui reaktiivisen ohjelmoinnin määritelmien tutkimisesta sekä arvioimisesta ja Angularissa käytettävien reaktiivisten työkalujen esittelemisestä. Lisäksi käsiteltiin tyypillisiä reaktiivisten työkalujen väärinkäytöksiä, joita tulisi pyrkiä välttämään. Käytännön osuudessa tutkittiin vanhaa koodipohjaa pyrkien löytämään siitä mainitut väärinkäytökset. Nämä osuudet koodista kirjoitettiin uudelleen reaktiivisesti. Lopputuloksena on reaktiiviseksi refaktoroitu toiminnallisuus, jota toimeksiantaja voi käyttää malliesimerkkinä sovelluksen jatkokehityksessä.
Tradenomi (AMK), tietokoneohjelmat, ohjelmointi, fi=Tietojenkäsittely|sv=Informationsbehandling|en=Business Information Technology|, tietotekniikka, sovellusohjelmat, ohjelmointikielet, opinnäytteet
Tradenomi (AMK), tietokoneohjelmat, ohjelmointi, fi=Tietojenkäsittely|sv=Informationsbehandling|en=Business Information Technology|, tietotekniikka, sovellusohjelmat, ohjelmointikielet, opinnäytteet
citations This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |