Offline-ominaisuudet ohjelmistokehityksessä: offline toiminnallisuuksien kehitys Anicare-sovellukseen
Sova, Eero (2023)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2023060116979
https://urn.fi/URN:NBN:fi:amk-2023060116979
Tiivistelmä
Opinnäytetyön aiheena oli offline-ominaisuuksien luominen Anicare-sovellukseen. Suoritin opin-näytetyön Anicare-yrityksessä. Anicare valmistaa Rudolf-laitteita, joita käytetään porojen sijainnin seuraamiseen. Porotalouden hoito tapahtuu pääasiassa Lapissa huonon verkon alueilla. Sovel-lukseen oli alun perin kehitetty vain online-tila, mutta siinä oli ongelmia huonon verkon alueella, esimerkiksi karttanäkymien lataus ja päivitys toimi hitaasti tai ei ollenkaan. Anicare-sovellus on kehitetty Ionic Angular -frameworkilla. Työn tavoitteena oli kehittää offline-toiminnallisuudet Anicare-sovellukseen.
Offline-toiminnallisuuksien luomiseen käytettiin QGIS-karttaohjelmaa, Ionic Angularia, Open-Layers-karttakirjastoa sekä SQLite-tietokantaa. Nämä ohjelmat, kirjastot sekä kehitysympäristöt olivat itselleni tuntemattomia, joten niiden toiminnan oppimiseen meni huomattava osa työajasta. Erityisesti sovelluksessa käytettävien offline-karttojen luominen QGIS-ohjelmassa oli vaikea to-teuttaa, mutta lopputulos oli erittäin toimiva. Päädyin käyttämään rasteripohjaista karttaa vektori-pohjaisen kartan sijasta, jota minua edeltänyt harjoittelija oli alkanut kehittämään. QGIS-ohjelmalla luodut kartat tuotiin sovellukseen käyttämällä OpenLayers-kirjastoa, jolla voi luoda karttanäkymiä Ionic-sovellukseen. SQLite-tietokantaa käytettiin käyttäjän sekä Rudolf-laitteiden tietojen tallentamiseen mobiililaitteessa ja näiden tietojen hakemiseen ohjelman käyttöliittymään. Kehityksessä käytettiin pääasiassa TypeScript-ohjelmointikieltä.
Kokonaisuutena opinnäytetyö oli onnistunut, tavoitteeksi asetetut ominaisuudet ohjelmassa tuli-vat valmiiksi. Näitä ominaisuuksia olivat sisäänkirjautuminen offline-tilassa, paliskuntakarttojen lataaminen sekä poistaminen mobiililaitteessa, paliskuntakarttojen näyttäminen Anicare-sovelluksen offline-näkymässä, offline- ja online-tilan välillä siirtyminen ohjelmassa ja paikallisen tietokannan luominen käyttämällä SQLite-tietokantaa. Nämä ominaisuudet toimivat pääasiassa hyvin, mutta jotkin ominaisuudet jäivät viimeistelemättä johtuen työajan loppumisesta
Offline-toiminnallisuuksien luomiseen käytettiin QGIS-karttaohjelmaa, Ionic Angularia, Open-Layers-karttakirjastoa sekä SQLite-tietokantaa. Nämä ohjelmat, kirjastot sekä kehitysympäristöt olivat itselleni tuntemattomia, joten niiden toiminnan oppimiseen meni huomattava osa työajasta. Erityisesti sovelluksessa käytettävien offline-karttojen luominen QGIS-ohjelmassa oli vaikea to-teuttaa, mutta lopputulos oli erittäin toimiva. Päädyin käyttämään rasteripohjaista karttaa vektori-pohjaisen kartan sijasta, jota minua edeltänyt harjoittelija oli alkanut kehittämään. QGIS-ohjelmalla luodut kartat tuotiin sovellukseen käyttämällä OpenLayers-kirjastoa, jolla voi luoda karttanäkymiä Ionic-sovellukseen. SQLite-tietokantaa käytettiin käyttäjän sekä Rudolf-laitteiden tietojen tallentamiseen mobiililaitteessa ja näiden tietojen hakemiseen ohjelman käyttöliittymään. Kehityksessä käytettiin pääasiassa TypeScript-ohjelmointikieltä.
Kokonaisuutena opinnäytetyö oli onnistunut, tavoitteeksi asetetut ominaisuudet ohjelmassa tuli-vat valmiiksi. Näitä ominaisuuksia olivat sisäänkirjautuminen offline-tilassa, paliskuntakarttojen lataaminen sekä poistaminen mobiililaitteessa, paliskuntakarttojen näyttäminen Anicare-sovelluksen offline-näkymässä, offline- ja online-tilan välillä siirtyminen ohjelmassa ja paikallisen tietokannan luominen käyttämällä SQLite-tietokantaa. Nämä ominaisuudet toimivat pääasiassa hyvin, mutta jotkin ominaisuudet jäivät viimeistelemättä johtuen työajan loppumisesta