Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ Theseusarrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
Theseus
Other ORP type . 2023
Data sources: Theseus
addClaim

This Research product is the result of merged Research products in OpenAIRE.

You have already added 0 works in your ORCID record related to the merged Research product.

Reaktiivisen ohjelmointiparadigman soveltaminen Angularissa

Authors: Virtanen, Ville;

Reaktiivisen ohjelmointiparadigman soveltaminen Angularissa

Abstract

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ä.

Country
Finland
Keywords

Tradenomi (AMK), tietokoneohjelmat, ohjelmointi, fi=Tietojenkäsittely|sv=Informationsbehandling|en=Business Information Technology|, tietotekniikka, sovellusohjelmat, ohjelmointikielet, opinnäytteet

  • BIP!
    Impact byBIP!
    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
Powered by OpenAIRE graph
Found an issue? Give us feedback
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).
BIP!Citations provided by BIP!
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.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
0
Average
Average
Average