Prototyypin luonti iOS-sovellukseen
Kirkkola, Konsta (2019)
Kirkkola, Konsta
2019
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019061617075
https://urn.fi/URN:NBN:fi:amk-2019061617075
Tiivistelmä
Tämän toiminnallisen opinnäytetyön kehittämistehtävänä oli suunnitella ja toteuttaa mobiilisovellus. Työn tavoitteena oli luoda sovellus, jossa käyttäjä asettaa itselleen aikaan sidotun budjetin ja jakaa sen eri kategorioihin. Käyttäjä kirjaa sovellukseen tekemänsä ostokset ja saa sekä budjetin että kategorioiden ylityksistä ilmoituksen. Työn toimeksiantajana oli liiketalouden opiskelija Haaga-Heliasta.
Työn tietoperustan muodostivat työssä hyödynnettyjen teknologioiden dokumentaatiot ja suunnitteluvaiheessa myös designiin liittyvä kirjallisuus ja tutkimustieto. Suunnitteluvaiheessa toteutus rajattiin kattamaan sovelluksen olennaisimmat toiminnot teknisistä haasteista johtuen. Sovelluksen prototyyppi toteutettiin iOS-alustalle.
Tekninen toteutus suoritettiin käyttäen Applen Xcode-kehitysalustaa ja Swift-ohjelmointikieltä. Muita työssä käytettyjä teknologioita olivat muun muassa Firebase, Core Data, Realm ja Cocoapods. Teknisessä toteutuksessa hyödynnettiin viiteaineistona Stack Overflow’n kaltaisia ohjelmointiin painottuvia sivustoja ja aiemmin hankittua omaa kokemusta.
Työn tuloksena oli toimiva prototyyppi sovellusideasta. Olennaisimmat toiminnot toteutettiin, kuten sovelluksen rakenne, välilehdet, navigointi, tietokantojen alustus ja tiedon tallentaminen tietokantoihin. Merkittävin toteuttamatta jäänyt toiminto oli dynaamiset kategoriat, joiden lisääminen ei ollut mahdollista toteuttaa suunnitteluvaiheessa luodun mallin mukaisessa ratkaisussa. Jatkokehitystä varten suunniteltiin uusi alustava malli, jonka avulla on mahdollista toteuttaa dynaamiset kategoriat ja niihin liittyvät toiminnot. Toinen kohde jatkossa on tutkia työn siirtämistä React Nativen kaltaiselle Cross Platform- alustalle, jolla on mahdollista kehittää sovellusta samanaikaisesti sekä iOS- että Android-alustalle vain yhdellä koodikannalla.
Työn tietoperustan muodostivat työssä hyödynnettyjen teknologioiden dokumentaatiot ja suunnitteluvaiheessa myös designiin liittyvä kirjallisuus ja tutkimustieto. Suunnitteluvaiheessa toteutus rajattiin kattamaan sovelluksen olennaisimmat toiminnot teknisistä haasteista johtuen. Sovelluksen prototyyppi toteutettiin iOS-alustalle.
Tekninen toteutus suoritettiin käyttäen Applen Xcode-kehitysalustaa ja Swift-ohjelmointikieltä. Muita työssä käytettyjä teknologioita olivat muun muassa Firebase, Core Data, Realm ja Cocoapods. Teknisessä toteutuksessa hyödynnettiin viiteaineistona Stack Overflow’n kaltaisia ohjelmointiin painottuvia sivustoja ja aiemmin hankittua omaa kokemusta.
Työn tuloksena oli toimiva prototyyppi sovellusideasta. Olennaisimmat toiminnot toteutettiin, kuten sovelluksen rakenne, välilehdet, navigointi, tietokantojen alustus ja tiedon tallentaminen tietokantoihin. Merkittävin toteuttamatta jäänyt toiminto oli dynaamiset kategoriat, joiden lisääminen ei ollut mahdollista toteuttaa suunnitteluvaiheessa luodun mallin mukaisessa ratkaisussa. Jatkokehitystä varten suunniteltiin uusi alustava malli, jonka avulla on mahdollista toteuttaa dynaamiset kategoriat ja niihin liittyvät toiminnot. Toinen kohde jatkossa on tutkia työn siirtämistä React Nativen kaltaiselle Cross Platform- alustalle, jolla on mahdollista kehittää sovellusta samanaikaisesti sekä iOS- että Android-alustalle vain yhdellä koodikannalla.