Hybridiohjelmointi
Keronen, Kimmo (2013)
Keronen, Kimmo
Metropolia Ammattikorkeakoulu
2013
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201305036023
https://urn.fi/URN:NBN:fi:amk-201305036023
Tiivistelmä
Insinöörityössä tutkittiin, minkälaisia etuja voidaan saavuttaa ohjelmoimalla tietokoneohjelma useammalla ohjelmointikielellä. Tutkimuksen tuloksia hyödyntäen toteutettiin julkaisualan ohjelmistoyritys Anygraaf Oy:lle ohjelmamoduuli, jolla voidaan mallintaa visualisesti tietokannassa olevaa dataa kuvaajin ja taulukoin.
Tutkimus aloitettiin selvittämällä, miten ohjelmointikieliä voidaan jaotella ryhmiin ja mitä heikkouksia ja vahvuuksia erilaisilla ohjelmointikielillä on. Tutkimuksesta selvisi esimerkiksi, että joidenkin ohjelmointikielien vahvuus on lopputuloksena syntyvä suorituskykyinen ohjelma mutta kielellä ohjelmointi on raskasta ja hidasta. Joissain ohjelmointikielissä tilanteen havaittiin olevan päinvastainen.
Seuraavaksi tutkittiin menetelmiä joilla tällaisia ohjelmointikielipareja voidaan yhdistää. Havaittiin, että on olemassa niin sanottuja vieraan funktion rajapintoja, jotka mahdollistavat ohjelmointikielien väliset operaatiot. Hybridiohjelmoinnille ja vieraan funktion rajapintojen käytölle löydettiin sovelluskohteita niin mobiiliohjelmista kuin perinteisistä työpöytäsovelluksistakin. Mahdollisia sovelluskohteita ovat muun muassa monialustaiset mobiiliohjelmat, suorituskykykriittiset ohjelmat sekä valmiiseen ohjelmaan jälkikäteen toteutettavat ohjelmalaajennukset.
Insinöörityössä toteutettu ohjelmamoduuli toimii esimerkkinä hybridiohjelmasta. Ohjelmamoduuli toteutettiin C++-kieliseen ohjelmaan, mutta kuvaajien ja taulukoiden luomiseen käytettiin JavaScript-kielistä kirjastoa, jqPlotia. Erikieliset osuudet yhdistettiin tutkimuksessa esitellyin keinoin. Lopputuloksena syntyneellä ohjelmamoduulilla voidaan tuottaa graafista sisältöä esimerkiksi lehtiartikkeleihin tai yrityksen sisäistä seurantaa tukevia kuvaajia.
Tutkimus aloitettiin selvittämällä, miten ohjelmointikieliä voidaan jaotella ryhmiin ja mitä heikkouksia ja vahvuuksia erilaisilla ohjelmointikielillä on. Tutkimuksesta selvisi esimerkiksi, että joidenkin ohjelmointikielien vahvuus on lopputuloksena syntyvä suorituskykyinen ohjelma mutta kielellä ohjelmointi on raskasta ja hidasta. Joissain ohjelmointikielissä tilanteen havaittiin olevan päinvastainen.
Seuraavaksi tutkittiin menetelmiä joilla tällaisia ohjelmointikielipareja voidaan yhdistää. Havaittiin, että on olemassa niin sanottuja vieraan funktion rajapintoja, jotka mahdollistavat ohjelmointikielien väliset operaatiot. Hybridiohjelmoinnille ja vieraan funktion rajapintojen käytölle löydettiin sovelluskohteita niin mobiiliohjelmista kuin perinteisistä työpöytäsovelluksistakin. Mahdollisia sovelluskohteita ovat muun muassa monialustaiset mobiiliohjelmat, suorituskykykriittiset ohjelmat sekä valmiiseen ohjelmaan jälkikäteen toteutettavat ohjelmalaajennukset.
Insinöörityössä toteutettu ohjelmamoduuli toimii esimerkkinä hybridiohjelmasta. Ohjelmamoduuli toteutettiin C++-kieliseen ohjelmaan, mutta kuvaajien ja taulukoiden luomiseen käytettiin JavaScript-kielistä kirjastoa, jqPlotia. Erikieliset osuudet yhdistettiin tutkimuksessa esitellyin keinoin. Lopputuloksena syntyneellä ohjelmamoduulilla voidaan tuottaa graafista sisältöä esimerkiksi lehtiartikkeleihin tai yrityksen sisäistä seurantaa tukevia kuvaajia.