QtQuick Sailfish OS -sovellusten kehityksessä
Kangas, Santeri (2021)
Kangas, Santeri
2021
Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2021-05-20
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202104284096
https://urn.fi/URN:NBN:fi:tuni-202104284096
Tiivistelmä
Tässä työssä tarkastellaan yleisellä tasolla Qt-ohjelmistokehykseen kuuluvaa QtQuick-moduulia sekä sen käyttöä Sailfish OS -mobiilikäyttöjärjestelmän sovellusten kehityksessä. Työssä selvitetään ja esitetään, mitkä ovat QtQuickin ja tähän kuuluvan QML-kuvauskielen (engl. Qt modeling language) yleiset ominaisuudet ja edut. Lisäksi perehdytään QtQuickin käyttöön Sailfish-ympäristössä sekä käyttöjärjestelmän omaan Silica-komponenttikirjastoon. Työ jakaantuu kolmeen pääosaan. Ensimmäisessä osassa käsitellään QtQuick-moduulia ja siihen liittyvää QML-kuvauskieltä. Lisäksi havainnollistetaan JavaScriptin ja C++-ohjelmointikielen liittämistä mukaan QtQuick-sovelluskehitykseen. Näiden ohella esitellään lyhyesti Qt-kehyksen ja QtQuickin ohjelmisto- ja laitteistoriippumattomuuden toteuttamista. Toisessa osassa käsittely painottuu Sailfish-käyttöjärjestelmän ympäristön ja sovelluskehitystyökalujen esittelyyn. Lisäksi esitellään käyttöjärjestelmän omaa Silica-komponenttikirjastoa. Viimeisessä osassa yhdistellään QtQuick- ja Sailfish-käsittelylukujen sisältöä konkreettisen Sailfish-sovelluksen suunnittelussa ja toteutuksessa. Sovelluksen toteuttamisessa nostetaan esiin myös yleinen mobiilisovellusten arkkitehtuuri ja rajapintakyselyt. Tutkimus osoittaa, että QtQuick kykenee tehokkaaseen sovelluskehitykseen yhdessä JavaScript ja C++-kielen kanssa. QML ja JavaScript mahdollistavat yksinkertaisten dynaamisten sovellusten luomisen. QML itsessään on joustava ja dynaaminen deklaratiivisen luonteensa vuoksi. C++ mahdollistaa laitteistoläheisen ohjelmoinnin sekä useiden matalan tason rajapintojen ja kirjastojen tuomisen mukaan sovelluskehitykseen. C++ mahdollistaa myös QML-komponenttien ja käyttöliittymän laajentamisen periyttämällä. Sailfish OS alustana ja ympäristönä osoittaa, että Qt ja QtQuick ovat kykeneviä toimimaan myös mobiilialustoilla. Sailfish-sovelluksen suunnittelu ja kehittäminen osoittivat myös omalta osaltaan, kuinka sovelluskehityksessä voidaan hyödyntää tehokkaasti JavaScriptin ja QML:n joustavuutta, deklaratiivisuutta ja skaalautuvuutta. Lisäksi ohjelmisto- ja laitteistoriippumattomuus sekä Sailfish Silica -kirjasto havainnollistavat laajennettavuutta, joustavuutta ja kustomoitavuutta.
Kokoelmat
- Kandidaatintutkielmat [7052]