73
FAKULTETA ZA INFORMACIJSKE ŠTUDIJE V NOVEM MESTU MAGISTRSKA N A L O G A ŠTUDIJSKEGA PROGRAMA DRUGE STOPNJE PETER ZUPANČIČ

MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

FAKULTETA ZA INFORMACIJSKE ŠTUDIJE

V NOVEM MESTU

MAGISTRSKA N A L O G A

ŠTUDIJSKEGA PROGRAMA DRUGE STOPNJE

PETER ZUPANČIČ

Page 2: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm
Page 3: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

FAKULTETA ZA INFORMACIJSKE ŠTUDIJE

V NOVEM MESTU

MAGISTRSKA NALOGA

RAZVOJ MOBILNE APLIKACIJE – MOBILNI

IMENIK GOSTINSKIH PONUDNIKOV MALCAJT

Mentor: izr. prof. dr. Blaž Rodič

Novo mesto, junij 2017 Peter Zupančič

Page 4: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

IV

IZJAVA O AVTORSTVU

Podpisani Peter Zupančič, študent FIŠ Novo mesto, izjavljam:

da sem magistrsko nalogo pripravljal samostojno na podlagi virov, ki so navedeni v

magistrski nalogi,

da dovoljujem objavo magistrske naloge v polnem tekstu, v prostem dostopu, na

spletni strani FIŠ oz. v elektronski knjižnici FIŠ,

da je magistrska naloga, ki sem jo oddal v elektronski obliki, identična tiskani verziji,

da je magistrska naloga lektorirana.

V Novem mestu, dne _________________ Podpis avtorja ______________________

Page 5: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

Zahvaljujem se mentorju izr. prof. dr. Blažu Rodiču za mentorstvo pri magistrski nalogi. Prav

tako se zahvaljujem celotnemu referatu za vso pomoč, ki so mi jo nudili tekom študija.

Zahvala pa gre tudi družini, ki mi je stala ob strani in me podpirala skozi vsa leta

izobraževanja.

Page 6: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm
Page 7: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

VII

POVZETEK

Aplikacija Malcajt je imenik, ki na enem mestu združuje vse gostinske ponudnike. Cilj mobilne,

kakor tudi spletne aplikacije je uporabniku na enem mestu nuditi celovite informacije o

ponudniku ter njegovi ponudbi. Prednost v aplikaciji dajemo predvsem ponudnikom, ki nudijo

vsakodnevne malice ter kosila. Vsak posamezen ponudnik lahko povsem samostojno skrbi za

objavljanje njegove ponudbe malic ter kosil in urejanje splošnih podatkov o njegovem lokalu.

Ponudniku lahko za določen znesek ponudimo dodaten način oglaševanja in promocije.

Dodatna prednost naše aplikacije je objava ponudbe na enem mestu, ki je nato prikazana na več

mestih hkrati. Z enim klikom tako ponudnik objavi ponudbo v spletni aplikaciji, mobilni

aplikaciji, njegovi spletni strani ter na Facebook profilu. Uporabnik lahko z enim klikom

spremlja ponudbo gostinskih ponudnikov in tudi njihove splošne informacije, kot so kontaktni

podatki, delovni čas, njihova lokacija ipd.

KLJUČNE BESEDE: Malcajt, aplikacija, mobilna aplikacija, gostinski ponudniki, malice in

kosila, spletna aplikacija

ABSTRACT

Mobile and web application Malcajt is an application which contains all restaurants on one

place. Main idea of the application is to offer to a user all the information on one place for all

restaurants in Slovenia. Our focus is on all restaurant providers which offer daily lunches and

snacks. Restaurant owner can simply modify all of his data and his daily offer. For an agreed

fee an owner can get extra advertising and promotion. Only with one click owner can publish

his daily or weekly offer on multiple places which are published in mobile app Malcajt, web

app Malcajt, his own web page - if he integrates embedded code on his page, and also Facebook

page for his restaurant. Simply by one click users can get all restaurant data about their daily

offer of lunches and other information like contact information, opening hours, their location

etc.

KEY WORDS: Malcajt, mobile application Malcajt, restaurants, list of restaurants, lunch, web

app

Page 8: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm
Page 9: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

IX

KAZALO

1 UVOD ................................................................................................................................. 1

1.1 Cilj ............................................................................................................................ 1

1.2 Raziskovalna vprašanja ............................................................................................ 2

2 ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER MOBILNIH

APLIKACIJ ........................................................................................................................ 3

2.1 Mobilne tehnologije ................................................................................................. 3

2.1.1 Mobilne aplikacije ........................................................................................ 3

2.1.2 Mobilne naprave ........................................................................................... 3

2.1.3 Operacijski sistemi ........................................................................................ 4

2.1.4 Razvojno okolje ............................................................................................. 5

2.2 Spletne tehnologije ................................................................................................... 8

2.2.1 PHP ............................................................................................................... 8

2.2.2 MySQL ........................................................................................................ 10

2.2.3 HTML .......................................................................................................... 11

2.2.4 CSS .............................................................................................................. 11

2.2.5 JavaScript ................................................................................................... 13

2.3 Ostale uporabljene tehnologije ter orodja .............................................................. 15

2.3.1 Linux operacijski sistem .............................................................................. 15

2.3.2 Apache spletni strežnik ............................................................................... 15

2.3.3 SSL protokol za varno povezavo ................................................................. 15

2.3.4 IPV6 protokol .............................................................................................. 15

2.3.5 Google API.................................................................................................. 15

Page 10: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm
Page 11: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

XI

3 RAZVOJ APLIKACIJE MALCAJT ................................................................................ 18

3.1 Ideja ........................................................................................................................ 18

3.2 Pregled obstoječih rešitev....................................................................................... 18

3.3 Metodologija .......................................................................................................... 21

3.3.1 Razvojna metodologija................................................................................ 21

3.4 Analiza in specifikacija zahtev ............................................................................... 22

3.4.1 Zahteve oziroma želene funkcionalnosti ..................................................... 22

3.4.2 Specifikacije zahtev aplikacije .................................................................... 22

3.5 Načrtovanje in razvoj aplikacije ............................................................................. 24

3.5.1 Načrtovanje podatkovne strukture .............................................................. 24

3.5.2 Načrtovanje posameznih delov aplikacije .................................................. 24

3.6 Testiranje ................................................................................................................ 35

3.6.1 Testiranje strežnika ..................................................................................... 35

3.6.2 Testiranje podatkovne strukture ................................................................. 35

3.6.3 Testiranje programske kode ........................................................................ 35

3.6.4 Testiranje uporabniškega vmesnika ............................................................ 35

4 REZULTATI RAZISKAVE............................................................................................. 40

5 ZAKLJUČEK ................................................................................................................... 52

6 LITERATURA IN VIRI ................................................................................................... 55

Page 12: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm
Page 13: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

XIII

KAZALO SLIK IN TABEL

Slika 2.1: Potek izvajanja PHP skripta ..................................................................................... 10

Slika 2.2: Primer predprocesorskega jezika SASS, LESS ....................................................... 12

Slika 2.3: Delovanje SSL protokola ......................................................................................... 16

Slika 3.4: Prikaz iskalnika po ponudnikih ................................................................................ 26

Slika 3.5: Predstavitev ponudnika na spletu ............................................................................. 28

Slika 3.6: Okno za prijavo/registracijo ..................................................................................... 29

Slika 3.7: Urejevalno okolje za ponudnika ............................................................................... 30

Slika 3.8: Prikaz imenika ponudnikov v mobilni aplikaciji Malcajt ........................................ 32

Slika 3.9: Prikaz mobilne aplikacije Malcajt ............................................................................ 34

Slika 3.10: Testiranje strežnika 1000 zahtevkov/min ............................................................... 35

Slika 3.11: Testiranje strežnika 5000 zahtevkov/30 s .............................................................. 36

Slika 3.12: Testiranje strežnika 10000 zahtevkov/15 s ............................................................ 36

Slika 4.13: Primer promocije na Facebook socialnem omrežju ............................................... 42

Slika 4.14: Primer zadetkov iskanja v Google iskalniku .......................................................... 43

Slika 4.15: Promocijski material za ponudnika ........................................................................ 45

Slika 4.16: Prikaz obiskanosti mobilne aplikacije .................................................................... 48

Slika 4.17: Obiskanost spletne aplikacije ................................................................................. 50

Slika 4.18: Statistika obiskanosti spletne aplikacije za mesec april ......................................... 50

Slika 4.19: Obisk spletne strani pred in po izdelavi predstavitvene spletne aplikacije ............ 51

Tabela 3.1: Prednosti/slabosti produkta Gostilne.si ................................................................. 19

Tabela 3.2: Prednosti/slabosti produkta Gostilne.delo.si ......................................................... 19

Tabela 3.3: Prednosti/slabosti produkta Dobregostilne.si ........................................................ 20

Tabela 3.4: Prednosti/slabosti produkta Restavracije-gostilne.si ............................................. 20

Page 14: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm
Page 15: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

1

1 UVOD

Aplikacija Malcajt je mobilna in spletna aplikacija, katere cilj je zbrati čim več gostinskih

ponudnikov na enem mestu. Velikokrat imamo težave ravno pri tem, ko ne vemo, kaj in kam

bi šli jest. V ta namen si lahko pomagamo z našim novim produktom na slovenskem trgu.

Mobilna aplikacija, ki je razvita za iOS in Android operacijske sisteme, trenutno omogoča

pregledovanje gostinskih ponudnikov, filtracijo ponudnikov po dodatnih opcijah, kot so

invalidski dostop, dostava hrane, odprto za vikende itd., prikazovanje gostinskih ponudnikov,

ki so najbližje naši trenutni lokaciji, kakor tudi iskanje po ponudnikih s pomočjo iskalnika. S

pomočjo izbire regije oziroma kraja pa lahko še enostavneje pridemo do določene gostilne, ki

nas zanima. Sam gostinski ponudnik ima na voljo kar nekaj podatkov, ki jih lahko izpolni in se

tako še bolj približa uporabnikom. Objavi lahko svojo naslovno sliko, svoje osnovne podatke,

spletno stran, e-poštni naslov, delovni čas in, kar je najbolj pomembno, dnevno objavlja malice

ter kosila, če jih ima na voljo. Med drugim je pomembna tudi njegova stalna in aktualna

ponudba.

Magistrska naloga je sestavljena iz dveh delov. Prvi del zajema teoretično razlago vseh

uporabljenih tehnologij, ki smo jih uporabili za izdelavo aplikacije Malcajt. Podrobneje se

bomo seznanili s tehnologijami PHP, MySQL, JavaScript, katere so bile uporabljene pri sami

izvedbi produkta. Predstavljene so tudi tehnologije razvoja mobilnih aplikacij.

Drugi del magistrske naloge zajema predstavitev aplikacije Malcajt. Opisana je podrobna

funkcionalnost aplikacije, predstavljena je uporaba določenih funkcionalnosti in podrobneje

predstavljen segment med uporabniki in ponudniki. Predstavljen je tako uporabniški del

aplikacije, kakor tudi administracijski del, katerega uporabljajo gostinski ponudniki za urejanje

njihove ponudbe.

1.1 Cilj

Cilj magistrske naloge je raziskati možnosti za uporabo mobilne aplikacije na pametnem

telefonu, kot pomoč uporabniku pri vsakodnevnem odločanju kam na malico. Predstavljena je

tako mobilna, kakor tudi spletna aplikacija Malcajt ter tudi potek samega razvoja.

Page 16: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

UVOD

2

1.2 Raziskovalna vprašanja

Pred razvojem produkta smo si zastavili vprašanja, na katera smo dobili odgovor tekom same

raziskave. V najširšem pomenu delamo raziskavo, za katero smo zbrali podatke za odgovore na

vprašanja, ki rešujejo težave. Za dobro raziskovanje je pomembno, da definiramo dobra

raziskovalna vprašanja, na katera kasneje najdemo odgovore. Naša raziskovalna vprašanja so

naslednja:

Kako pridobiti čim večji nabor uporabnikov?

Kako skrbeti za promocijo in oglaševanje mobilne aplikacije?

Kako gostinskega ponudnika pripraviti, da bo skrbel za aktualno ponudbo in s tem

pridobil še večje število uporabnikov na svojo stran?

Katera razvojna orodja uporabiti za razvoj mobilne aplikacije?

Ali spletna aplikacija pripomore k pridobivanju dodatnih uporabnikov?

Page 17: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

3

2 ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER

MOBILNIH APLIKACIJ

Poglavje zajema podrobnejši opis vseh uporabljenih tehnologij za razvoj tako spletne, kakor

tudi mobilne aplikacije. Podrobneje smo predstavili mobilne tehnologije, ki se v današnjem

času uporabljajo za razvoj mobilnih aplikacij, in tudi tehnologije, ki so bile uporabljene pri

razvoju spletne aplikacije.

2.1 Mobilne tehnologije

Mobilne tehnologije, med katere štejemo pametne telefone, tablice in prenosne računalnike, vse

bolj prodirajo v naše življenje. Skupna značilnost vseh je majhen zaslon v visoki ločljivosti,

dostop do spleta iz najbolj neobičajnih krajev; tablice in pametne telefone, pa je moč gledati v

pokončni oziroma ležeči (vodoravni) postavitvi zaslona (Mobilne tehnologije, 2017).

2.1.1 Mobilne aplikacije

Mobilne aplikacije so posebni programi, ki jih naložite na vaš mobilni telefon. Trenutno jih je

na voljo že več sto tisoč, najbolj priljubljene pa so naslednje: aplikacije za zagotavljanje dodatne

funkcionalnosti družabnih omrežij, igre, aplikacije za novice in informacije, zemljevidi ipd.

(Oldsafe, 2016).

Na pospešen razvoj mobilnih aplikacij je vplival predvsem pojav t. i. pametnih telefonov

(smartphones), ki omogočajo preprost dostop do mobilnih aplikacij in enostavno brskanje po

spletu. Vse aplikacije pa ne delujejo na vsakem mobilnem telefonu, zato je potrebno pred

namestitvijo preveriti, kakšne aplikacije podpira določen mobilni telefon. Najpogosteje se

mobilne aplikacije delijo glede na operacijske sisteme in platforme, na katerih delujejo

(Symbian, BlackBerry, Windows Phone, Java, Android, IPhone ...) (Oldsafe, 2016).

2.1.2 Mobilne naprave

Mobilna naprava je naprava, ki ima prilagojen operacijski sistem, kot so iOS, Android,

BlackBerry OS, Windows Mobile in je prenosljiva (mobilni telefoni, tablični računalniki ipd.).

Page 18: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER MOBILNIH APLIKACIJ

4

V to kategorijo lahko uvrstimo tudi vse naprave, ki se lahko prenašajo in dostopajo do interneta

brez fizične povezave – brezžično (torej tudi prenosniki, prenosne igralne konzole, industrijski

čitalci ipd.) (Safe, 2017).

Razvoj na področju mobilnih naprav gre v smeri človeku prijaznih uporabniških vmesnikov,

hitrega prenosa podatkov, zmogljivih večpredstavnostnih predvajalnikov in univerzalnih

komunikacijskih naprav, ki bodo uporabnikom omogočale neposredno komunikacijo z drugimi

uporabniki in pisarniškimi ter gospodinjskimi napravami. Storitve bodo vedno bolj

personalizirane, kar pomeni, da bodo funkcije in vsebine prirejene vsakemu uporabniku

posebej. V bližnji prihodnosti lahko pričakujemo inteligentne mobilne naprave, ki se bodo znale

prilagajati trenutnemu okolju, situaciji in uporabnikovim željam. Uporabniški vmesniki bodo

omogočali čim bolj naravno upravljanje mobilnih naprav in dostop do informacij ter storitev,

na primer z glasom ali gibanjem (Hribar, 2009).

2.1.3 Operacijski sistemi

Na trgu trenutno obstaja kar veliko število različnih operacijskih sistemov, ki so razviti za

mobilne naprave. Današnji trend operacijskih sistemov za mobilne naprave zagotovo

predstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada,

Palm OS, Maemo, Blackberry OS in ostale, ki pa so tako rekoč v manjšini zaradi porasta

uporabe prej omenjenih treh sistemov.

2.1.3.1 Android operacijski sistem

20. september 2008 je bil dan, ko je Google na trgu prvič predstavil Android OS z imenom

Astro. Po določenem obdobju so se tej verziji pridružile tudi različice Bender ter Cupcake.

Kasneje so trend poimenovanja svojih operacijskih sistemov povzeli kar po imenu sladic, s

čimer nadaljujejo še dandanes. Ostale različice Android OS so še Donut, Eclair, Froyo,

Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, KitKat, Lollipop in Marshmallow.

Zadnja različica operacijskega sistema Android pa se imenuje Nougat. Na trgu obstaja tudi kup

drugih neuradnih sistemov Android, katere so razvili razvijalci iz obstoječih jeder, ki so

odprtokodna. Takoj po vstopu na trg mobilnih naprav in tabličnih računalnikov je Android OS

pridobil velik delež priljubljenosti, katerega drži še danes. Razvitih je bilo veliko novih

funkcionalnosti, ki so igrale veliko vlogo pri pridobivanju takšnega deleža uporabnikov. Google

Play je uradna tržnica mobilnih aplikacij za operacijske sisteme Android, na kateri je na voljo

Page 19: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER MOBILNIH APLIKACIJ

5

veliko število različnih aplikacij. Med najbolj priljubljenimi napravami z Android OS pa

najdemo naprave Samsung, HTC, Motorola itd. Trenutno je Android OS med top operacijskimi

sistemi (Shout Me Loud, 2015).

2.1.3.2 iOS operacijski sistem

iOS OS je bil javnosti predstavljen 29. junija 2007, ko je bil na trg prvič lansiran mobilni telefon

iPhone. Od takrat je napredek iOS sistema strmo rastel, trenutna zadnja verzija sistema pa ima

oznako iOS 10.2. Applov operacijski sistem je še vedno zaprt javnosti za razliko od Android

sistema in je nedostopen za kakršne koli nadgradnje, s katerimi bi ga razvijali po svoji volji.

Njihov dolgoročni cilj je ustvariti kakovosten, stabilen in uporabniku prijazen produkt, ki pa

zelo dobro uspeva. Kljub njihovi ne-odprtokodnosti, pa iOS spada v sam vrh mobilnih

operacijskih sistemov in je velika grožnja operacijskim sistemom, predvsem sistemu Android.

Trenutno je sistem prilagojen za iPhone, iPod in iPad naprave, ki so v lasti podjetja Apple

(Shout Me Loud, 2015).

2.1.3.3 Windows Phone operacijski sistem

Windows Phone (v nadaljevanju WP) je operacijski sistem, razvit s strani Microsofta. Je

naslednik zastarelega Windows Mobile, a med seboj nista združljiva. WP ima tako popolnoma

nov uporabniški vmesnik in je primarno namenjen potrošniškemu trgu. Prvi Windows Phone je

bil predstavljen oktobra 2010. Delo na posodobitvi starejše različice Windows Mobile se je

začelo že zgodaj leta 2004 pod kodnim imenom "Photon". Vse skupaj se je razvijalo zelo počasi,

projekt so kasneje celo ustavili. Leta 2008 je Microsoft reorganiziral Windows Mobile oddelek,

s čimer se je lahko pričelo delo na novem operacijskem sistemu. Windows Phone se je nato

razvijal mnogo hitreje. V načrtu je bila popolna združljivost med sistemoma, kot tudi uporaba

za poslovni in potrošniški trg, a do tega, kot vemo, žal ni prišlo. Vzrok je bilo pomanjkanje časa

in sredstev. Veliko glavobolov za Windows Mobile sta povzročila tudi prehod na kapacitivni

zaslon in odsotnost pisala (Zupančič, 2014).

2.1.4 Razvojno okolje

V sedanjem času večina mobilnih naprav uporablja dva giganta na področju operacijskih

sistemov za mobilne naprave, in sicer operacijski sistem Android, ki zajema 48,3 % trga, in

Page 20: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER MOBILNIH APLIKACIJ

6

iOS, ki ima 41-odstotni delež uporabnikov po celem svetu. Razlika med temi operacijskimi

sistemi in z njimi povezanimi napravami ni samo estetska, ampak tudi funkcionalna. Tako kot

MacBook ne bo deloval z uporabo operacijskega sistema Windows, Android telefon ne more

zagnati aplikacijo, zgrajeno za iOS operacijske sisteme. Z vzponom uporabe pametnih

telefonov se je povečala tudi uporaba mobilnih aplikacij in posledično tudi sam razvoj

(MobiLoud, 2017). Trg nam ponuja več različnih vrst razvoja mobilnih aplikacij. Ta je odvisen

predvsem od financ in časa, katerega želimo porabiti za razvoj želene aplikacije. Trenutno na

trgu poznamo tri različne tipe razvoja mobilnih aplikacij, in sicer razvoj aplikacije v obliki

mobilne spletne strani, razvoj »Hibridne« mobilne aplikacije in razvoj »Native« mobilne

aplikacije.

2.1.4.1 Spletna mobilna aplikacija

Spletne mobilne aplikacije so zadnje čase eden od trendov izdelave mobilnih aplikacij. So

relativno enostavne za izdelavo, saj za razvoj zadostuje znanje HTML, CSS in JS jezika.

Omenjen tip aplikacij je viden v brskalniku mobilne naprave in je tako za razliko od ostalih

dveh vrst dosegljiv kar neposredno preko domene, kar pomeni, da ni potrebe po namestitvi

aplikacije na mobilno napravo. Rečemo lahko, da je to eden od cenejših vrst razvoja mobilnih

aplikacij, prav tako pa tudi časovno najhitrejši. Slabost teh aplikacij pa je predvsem v tem, da

so omejene glede uporabe funkcionalnosti naprave. Uporabljamo lahko le funkcionalnosti

telefona, saj nima posrednega dostopa do API-jev same naprave (Agrimbau, 2016).

2.1.4.2 Native mobilne aplikacije

Razlika med »Native« in prej omenjenimi alternativami za izdelavo mobilnih aplikacij je, da

so te zasnovane in razvite za določeno vrsto naprave. Na primer iOS aplikacije so tako napisane

v Objective-C programskem jeziku, aplikacije za Android pa so napisane v programskem jeziku

Java. Vsaka mobilna platforma v tem primeru ponuja razvijalcem razvoj lastnih orodij,

grafičnih vmesnikov in standardiziranih SDK knjižnic (MobiLoud, 2017). Takšna vrsta razvoja

ima veliko prednosti, kot tudi slabosti. Prednosti so sledeče:

nudi najhitrejšo, najbolj zanesljivo in najbolj odzivno izkušnjo za uporabnike;

pokrije širše delovanje naprave; vključno s kamero, mikrofonom, kompasom in ostalimi

deli naprave;

omogoča uporabo raznih »Push« obvestil, kjer je uporabnik v interakciji z obvestili

Page 21: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER MOBILNIH APLIKACIJ

7

(MobiLoud, 2017).

Pri tej vrsti razvoja je pomembno spoštovati določene oblikovne in funkcionalne standarde, ki

so različni glede na posamezni operacijski sistem. Obstaja na stotine majhnih razlik v zasnovi

uporabniške interakcije na vsaki platformi posebej, kar pomeni, da so intuitivne za uporabo in

upoštevajo splošne standarde pri razvoju (MobiLoud, 2017). »Native« mobilne aplikacije pa

imajo tudi kar nekaj slabosti, in sicer:

potrebno je znanje več različnih programskih jezikov za posamezno platformo (Android

– Java, iOS – Objective C, Swift, Windows OS – C#);

časovno in finančno zahtevnejši tip razvoja;

težje vzdrževanje, saj je potrebno razvijati vzporedno za dve ali več različnih platform

(MobiLoud, 2017).

2.1.4.3 Hibridne mobilne aplikacije

Hibridne aplikacije so kombinacija »Native« mobilnih aplikacij »Mobile spletnih strani«. Za

razliko od mobilnih spletnih strani, se te namestijo na mobilno napravo, kakor »Native«

mobilne aplikacije z mobilnih trgovin, medtem ko se mobilne spletne strani pregleduje

neposredno v brskalniku naše naprave (Kuryliak, 2015). Imajo kar nekaj prednosti pred

ostalimi, in sicer:

zmanjšanje stroška razvoja za več mobilnih platform – saj se koda posamezne platforme

dejansko uporabi na vseh platformah;

omogoča dostopanje do »Native« API funkcionalnosti mobilne naprave, kot jih ponuja

»Native« razvoj mobilnih aplikacij;

cenovno in stroškovno bistveno ceneje od »Native« (Kuryliak, 2015).

Trenutno ta vrsta razvoja postaja čedalje večji trend, saj je dokaj enostaven in omogoča

enostaven razvoj na več platformah hkrati. Za razvoj »Hibridnih« aplikacij imamo na voljo več

različnih ogrodij, kot so Phonegap, Titanium, Ionic, React Native itd.

Ionic framework

Trenutno najbolj priljubljeno ogrodje za izdelavo hibridnih mobilnih aplikacij. Je popolnoma

brezplačno odprtokodno ogrodje, ki poleg ogrodja ponuja tudi nabor dodatnih orodij za

enostavnejšo izdelavo mobilne aplikacije. V primeru, da imamo že znanje iz razvoja spletnih

strani, je razvoj mobilnih aplikacij s pomočjo omenjenega ogrodja bistveno enostavnejši.

Page 22: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER MOBILNIH APLIKACIJ

8

Omogoča »cross-platform« razvoj oziroma razvoj za več platform hkrati. Mobilna aplikacija se

tako razvije na enem mestu in nato deluje na naših želenih platformah. Trenutno je na trgu že

več kot 120 različnih vtičnikov, kot so Bluetooth, HealthKit, Finger Print Auth itd. Pri samem

razvoju tudi zelo dobro skrbijo za razvoj dokumentacije, ki je zelo dobro definirana in omogoča

uporabnikom enostavno razumevanje (Ionic, 2017). Ionic framework je izdelan s pomočjo

ogrodja Cordova, ki je odprtokodno ogrodje, katero omogoča izdelavo mobilnih aplikacij.

Glavni cilj Cordova ogrodja je omogočanje dostopa do API funkcionalnosti na naši mobilni

napravi v skladu z njihovimi določenimi standardi. S pomočjo Cordova ogrodja lahko tako

dostopamo do ostalih funkcionalnosti, kot so senzorji, kamera, podatki, internetna povezava

itd. Aplikacija se še vedno zaganja s pomočjo WebView vmesnika, vendar pa lahko ta tudi

dostopa do API funkcij, ki sicer niso na voljo kot samostojne JavaScript knjižnice (Cordova,

2017).

2.2 Spletne tehnologije

2.2.1 PHP

2.2.1.1 Zgodovina PHP-ja

PHP je odprtokodni programski jezik, ki služi oblikovanju in razvijanju dinamičnih spletnih

strani ter njenih vsebin. Kratica PHP je kratica za »PHP Hypertext Preprocessor«, ki je imela

prvotno drugačen pomen, in sicer je bil njem pomen »Personal Home Page«. Prvi začetki PHP-

ja segajo v leto 1994, ko ga je začel razvijati Rasmus Lerdorf za potrebe upravljanja svoje

spletne strani (Čater, 2016).

Na začetku je bil PHP skupek skript prehodnih vmesnikov, napisanih v programskem jeziku C,

zasnovam z namenom, da je lahko Rasmus Lerdorf spremljal obiske na svoji spletni strani, zato

je poimenoval ta skupek skript »Personal Home Page Tools«. Potreba po večji funkcionalnosti

je Lerdorfa prisilila, da je nadgradil PHP, ki je nato ponujal zelo izboljšano implementacijo.

Novi nadgrajeni »PHP Tools« model je omogočal povezavo in interakcijo s podatkovno bazo

ter ogrodje, po katerem so lahko uporabniki začeli razvijati dinamične spletne aplikacije.

Junija 1995 je Rasmus Lerdorf objavil izvorno kodo PHP-ja z namenom uporabe in izboljšanja

izvorne kode, ter štiri mesece kasneje razširil implementacijo PHP-ja in ga preimenoval v »FI«,

kar je kratica za Forms Interpreter. Čeprav je imela ta verzija nekaj pomanjkljivosti, kot je ta,

da so morali razvijalci uporabljati HTML komentarje, če so hoteli vključiti kodo v HTML

Page 23: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER MOBILNIH APLIKACIJ

9

datoteke, je PHP, ki se je takrat imenoval FI, še vedno širil med uporabniki po svetu (Čater,

2016).

Programska koda je doživela temeljite spremembe aprila leta 1996 z različnimi podporami za

podatkovne baze, piškotke in številne druge funkcionalnosti. Takrat se je tudi vrnila kratica

PHP za programski jezik, ki se je sedaj imenoval PHP/FI. Ko je Lerdorf s prijateljema Andijom

Gutmansom in Zeevom Suraskim razvijal univerzitetni projekt, so ugotovili, da programskemu

jeziku PHP/FI še vedno manjkajo funkcije in je neučinkovit za izvedbo aplikacij, ki omogočajo

elektronsko poslovanje, zato so se odločili, da bodo programski jezik temeljito predelali in

izboljšali. Želeli so ustvariti popolnoma neodvisen programski jezik in zato so ustvarili nov

jezik, ki se je sedaj imenoval PHP (angl. PHP Hypertext Preprocessor), kot ga poznamo danes.

Ime PHP/FI se ni nikoli več uporabilo in PHP je dobil končnico 3.0. Leta 2000 je izšel PHP 4

in v juliju 2004, po dolgem času razvijanja, PHP 5. Od leta 2014 naprej je PHP v razvoju verzije

7 (Čater, 2016).

2.2.1.2 Kako deluje PHP?

PHP deluje na načelu odjemalec–strežnik. Ko v spletni brskalnik vnesemo URL strežniško pot,

se pošlje zahteva strežniku, da nam pošlje želeno HTML datoteko. Strežnik se odzove in nam

pošlje HTML datoteko, ki jo nato prikažemo na spletnem brskalniku. Ko strežnik interpretira

PHP kodo, nam vrne nazaj generirano HTML datoteko, ki jo prikažemo v spletnem brskalniku.

V datoteki, ki nam jo vrne strežnik, ni več PHP kode, zato nekateri rečejo, da PHP koda ni

vidna (Čater, 2016).

Primer uporabe PHP-ja je na dinamičnih spletnih straneh, ki nam lahko posredujejo podatke

glede na želene parametre, ki jih posredujemo s pomočjo PHP kode. S pomočjo PHP-ja rešimo

spreminjanje datoteke za ažuriranje podatkov, saj jih PHP ažurira s pomočjo povezave z bazo,

v kateri se nahajajo podatki. PHP komunicira z bazo s pomočjo sistemov, ki skrbijo za

upravljanje s podatkovnimi bazami (Čater, 2016).

PHP je objektno orientiran jezik, kar pomeni, da se ne razlikuje od sodobnejših programskih

jezikov, ki podpirajo objektno programiranje. Pojem objektnega programiranja nudi namen

ponovne uporabe programske kode in je bil dodan v PHP-ju 3 z osnovnimi lastnostmi in

dopolnjen v PHP-ju 4 (Čater, 2016).

Page 24: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER MOBILNIH APLIKACIJ

10

Slika 2.1: Potek izvajanja PHP skripta (MonsterTUT, 2017)

2.2.2 MySQL

MySQL je eden izmed sistemov, ki obstajajo za upravljanje z bazami podatkov. Drugi sistemi

so še dBase, Fox, Oracle, MS SQl Server … MySQL je odprtokodna implementacija relacijske

baze podatkov, ki s strukturiranim poizvedovalnim jezikom SQL (Structure Query Language)

upravlja s podatki v bazi podatkov. MySQL lahko deluje kot povsem samostojen podatkovni

strežnik, lahko pa deluje v kombinaciji z ostalimi tehnologijami. MySQL deluje na načelu

odjemalec–strežnik, kjer lahko strežnik namestimo samostojno, lahko pa ga namestimo kot

sistem, porazdeljen na več strežnikov. Do podatkovne zbirke lahko dostopamo s številnimi

odjemalci, programskimi vmesniki ter zbirkami ukazov (Petek, 2017).

Strežnik MySQL se upravlja na dva načina – z ukazno vrstico in z grafičnim vmesnikom

(MySQL Front, MyAdmin …). Način z ukazno vrstico je počasnejši, hkrati pa pri večjih

zbirkah podatkov pridobi nepregledne množice podatkov, iz katerih težko najdemo želeno.

Vendar pa je v praksi zaželeno, da je uporabnik seznanjen z obema načinoma, ker si le tako

lahko lažje razlaga posamičen rezultat poizvedbe (Petek, 2017).

Zbirka podatkov lahko obstaja brez tabel, nobena tabela pa ne more obstajati brez vsaj enega

stolpca. Tabele v MySQL-ovih zbirkah, katerih lastnosti lahko določamo sami, imajo natančno

določeno obliko. Vsakem polju v podatkovni bazi je potrebno določiti tip polja ter lastnost.

Najpogosteje so uporabljeni tipi, prikazani v nadaljevanju:

INT: standardno celo število, ki ni večje od 4.294.967.295;

VARCHAR(N): znakovno polje spremenljivk z največ N znaki;

CHAR(N): znakovno polje s točno N znaki;

DATE: datum v obliki »LLLL-MM-DD« (Petek, 2017).

V MySQL-u lahko določimo vsakemu polju tudi lastnost. V nadaljevanju so prikazane lastnosti

polj, ki so najpogostejše:

Page 25: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER MOBILNIH APLIKACIJ

11

AUTO_INCREMENT: celo število, katero se ob novem vnosu poveča za eno v

kombinaciji z lastnostjo PRIMARY_KEY;

PRIMARY_KEY: primarni, unikaten ključ tabele;

DEFAULT: nastavimo privzeto vrednost polja;

NOT_NULL: vrednosti stolpca ne smejo biti prazne;

NULL: vrednosti stolpca so lahko prazne (Petek, 2017).

2.2.3 HTML

HTML je označevalni jezik, s katerim ustvarimo spletne strani. HTML sestavljajo označevalne

značke, ki opisujejo spletno stran. HTML temelji na predhodnem označevalnem jeziku SGML.

Značke se nahajajo med lomljenimi oklepaji; npr. kot primer začetka značke <h1> in konec

</h1>. Dokumente HTML prikazuje brskalnik, ki posamezen dokument prebere, ga razčleni in

na podlagi značk interpretira vsebino strani. Brskalnik ne prikazuje značk, saj te služijo kot

meta podatki za vsebino in določajo njen prikaz v brskalniku ali enoto strukture vsebine (npr.

naslov, odstavek). Značke HTML predstavljajo različne bloke, kot so na primer slike, obrazci,

polja, gumbi ali objekti, določajo strukturo dokumenta s semantičnim označevanjem npr. glava

dokumenta, odstavki, seznami, povezave, citati itd. ali celo vsebujejo posebne skripte, ki

omogočajo dodatno interaktivnost spletnim stranem (Lipuš, 2011).

2.2.4 CSS

CSS (Cascading Style Sheets) ali kaskadna stilska predloga, omogoča razvijalcem spletnih

strani, da se posameznim elementom v HTML dokumentih predpiše obliko. Ker so elementi v

HTML dokumentih namenjeni logičnemu oblikovanju in jih vsak brskalnik oblikuje po svoje,

se z uporabo CSS slog bolj natančno določi. Z uporabo CSS stilov elementom določimo vrsto

oblikovnih lastnosti, med katere spadajo pisava, razmiki, odmiki, ozadje, robovi, poravnava,

barva itd. CSS omogoča oblikovanje ločeno od vsebine, kar izboljša preglednost kode,

oblikovalcem pa omogoča oblikovanje spletnih strani brez posega v kodo (Kamin, 2016).

Organizacija World Wide Web Consortium (W3C), ki razvija spletne standarde in priporočila,

je tudi za CSS izdala priporočilo, kako naj bi bili CSS stili opisani. Tako kot drugi spletni

standardi se tudi CSS razvija vse od leta 1996, ko je nastala prva generacija. Trenutno so v

pripravi priporočila za CSS tretje generacije. Žal pa si razvijalci spletnih pregledovalnikov po

Page 26: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER MOBILNIH APLIKACIJ

12

svoje razlagajo priporočila organizacije W3C in še vedno se dogaja, da se iste spletne strani v

različnih brskalnikih prikazujejo različno (Kamin, 2016).

2.2.4.1 Predprocesorski jeziki CSS

SASS in LESS so odprtokodni predprocesorski jeziki CSS-ja (Cascading Style Sheets). Tako

SASS in LESS dodajo CSS-ju dinamično obnašanje v obliki spremenljivk, operacij, funkcij …

Vsi jeziki so na koncu prevedeni v standardno obliko CSS-ja. Namen SASS-a in LESS-a je

pohitriti in poenostaviti oblikovanje spletnih projektov (Pomagalnik, 2012).

Slika 2.2: Primer predprocesorskega jezika SASS, LESS

SASS

SASS(Syntactically Awesome Stylesheets) uporablja dve različni sintaksi. Prva sintaksa je bila

podobna sintaksi Haml, ki uporablja zamike za ločevanje posameznih blokov kode in nove

vrstice brez ločil na koncu. Medtem se druga z imenom SCSS zgleduje po CSS sintaksi in

uporablja zavite oklepaje za označevanje posameznih blokov kode in podpičja za ločevanje

vrstic. Datoteke imajo končnico .sass oziroma .scss. SASS je bil prvotno sprogramiran v

programskem jeziku Ruby. Pojavile pa so se že druge oblike, med drugim tudi PHP za Drupal.

SASS lahko uporabljamo le na strežniški strani (server-side) (Pomagalnik, 2012).

LESS

LESS uporablja samo eno sintakso, ki se zgleduje po CSS sintaksi in je tudi zelo podobna SCSS

Page 27: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER MOBILNIH APLIKACIJ

13

sintaksi. Uporablja zavite oklepaje za označevanje posameznih blokov kode in podpičja za

ločevanje vrstic. Datoteke imajo končnico .less. LESS je bil prav tako prvotno sprogramiran v

programskem jeziku Ruby, vendar je bila v novejših verzijah uporaba Ruby-ja opuščena in

zamenjana z JavaScriptom. Za razliko od SASSa lahko LESS teče tako na strani strežnika

(server-side), kot na strani uporabnika (client-side) (Pomagalnik, 2012).

2.2.4.2 Bootstrap ogrodje

Bootstrap je najbolj priljubljeno HTML, CSS in JavaScript ogrodje za izdelavo odzivnih

spletnih strani. S pomočjo ogrodja izdelamo odzivno spletno stran bistveno hitreje in

enostavneje. Izdelano je za razvijalce z različnim nivojem znanja, za različne naprave ter za

izdelavo spletnih strani različnih oblik. Privzeto že vsebuje predprocesorski jezik tako LESS

kot SASS. Prednost takšnega ogrodja je izdelava spletne strani za več naprav hkrati. Ogrodje

izdelano spletno stran pravilno prilagaja in prikazuje na vseh napravah tako na računalniku kot

na mobilnih napravah, saj se prilagaja dejanski širini našega ekrana. Pri uporabi ogrodja si lahko

pomagate z veliko dodatnih vtičnikov, ki nam olajšajo delo (Bootstrap, 2017). Trenutna zadnja

stabilna različica ima verzijo 3.3.7, v razvoju pa je že nova verzija Boostrap 4.0, katera pa

prinaša veliko novosti.

2.2.5 JavaScript

JavaScript je programski jezik, namenjen uporabi na spletu. Leta 1995 ga je, za potrebe

spletnega brskalnika Netscape, razvil Brendan Eich. Kasneje je bil standardiziran kot ECMA

Script in je, brez razširitev, podprt v vseh sodobnih spletnih brskalnikih. Skupaj z jezikoma

HTML in CSS tvori jedro tehnologij za izdelavo spletnih strani (Rakovič, 2016).

JavaScript je zelo primeren tudi za začetnike, saj ne zahteva veliko predznanja programiranja.

Je neodvisen od platforme in deluje tako na Macu kot na PC-ju in Linuxu. Kot programska

oprema pa zadostuje že spletni brskalnik in preprost urejevalnik. JavaScript tako poenostavi

razvoj uporabniških vmesnikov, saj deluje na vseh platformah, kjer so nameščeni klasični

brskalniki (Rakovič, 2016).

2.2.5.1 jQuery knjižnica

jQuery je programska knjižnica za JavaScript. Zavzame malo prostora, je hitra in funkcionalno

Page 28: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER MOBILNIH APLIKACIJ

14

bogata. HTML dokumente lahko naredi bogatejše z raznimi dogodki, animacijami ali

manipulacijami. Za njeno uporabo moramo dokument povezati s knjižnico. Ima sorazmerno

enostaven programski vmesnik, ki deluje na večini spletnih brskalnikov. S kombinacijo

vsestranskosti in razširljivosti je jQuery spremenil način, kako milijoni ljudi pišejo JavaScript

jezik (Žlebič, 2016).

jQuery knjižnica se navezuje na:

izbiro in manipulacijo s HTML elementi;

manipulacijo z dogodki na spletni strani;

premikanje po HTML DOM modeli in manipulacijo z njegovimi objekti;

manipulacijo z elementi jezika CSS;

uporabo že pripravljenih efektov in animacij;

asinhrono komunikacijo med odjemalcem in strežnikom (AJAX);

različna druga podporna orodja (Žlebič, 2016).

2.2.5.2 Angular JS ogrodje

AngularJS je odprto-kodno (pod MIT licenco) ogrodje za razvoj spletnih aplikacij na

odjemalčevi strani. Vzdrževano je s pomočjo Googla in posameznih odprtokodnih razvijalcev.

Poudarek je predvsem na izboljšanju razvoja in testiranja enostranskih spletnih aplikacij z

arhitekturo MVVM (Model-View-Viewmodel). Arhitektura MVVM je zelo podobna

arhitekturi MVC. Glavna razlika je, da pri MVC pogled (View) in krmilnik (Controller) med

sabo ne moreta komunicirati. Pri MVVM krmilnik zamenja pogled modela (Modelview), ki

omogoča, da sta pogled in pogled modela konstantno povezana in lahko komunicirata med

sabo. AngularJS temelji na treh že uveljavljenih spletnih tehnologijah, to so Javascript, CSS in

HTML (Golobič, 2016). Glavne funkcionalnosti, ki jih AngularJS ponuja, so:

vključevanje odvisnosti (angl. dependency injection), ki razvijalcu omogoča, da že

napisano logiko uporabi večkrat;

Ajax (ang. asynchronous JavaScript and XML), ki omogoča asinhrono komuniciranje

odjemalca s strežnikom;

MVVM arhitektura in s tem avtomatska sinhronizacija med modelom in pogledom;

testiranje skozi celoten razvoj spletne aplikacije (Golobič, 2016).

Razlogi za izbiro AngularJS so: enostavnost razvoja interaktivnih strani, razbremenjevanje

strežnika tako, da se večina logike izvaja na odjemalčevi strani, in možnost učenja sodobne

Page 29: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER MOBILNIH APLIKACIJ

15

spletne tehnologije.

2.3 Ostale uporabljene tehnologije ter orodja

2.3.1 Linux operacijski sistem

Ime Linux se nanaša na jedro operacijskega sistema (OS), ki ga s tujko imenujemo kernel.

Linux ponuja nabor sistemskih objektov, potrebnih za vsak sistem, ki temelji na Linuxih, da

pravilno deluje. Programska oprema temelji na specifičnih funkcijah jedra Linuxov, kot je

upravljanje strojne opreme in zagotavljanje različnih temeljnih abstrakcij, kot je npr. virtualni

pomnilnik, opravila, datoteke in programskih vtičnikov. Linux kernel je običajno zagnan preko

zagonskega nalagalnika in nato teče ves čas in ni nikoli med rednim delovanjem izklopljen.

Linux kernel je samo operacijski sistem brez kakršne koli programske opreme. Temu so

namenjene predpripravljene Linux distribucije, ki vključujejo programsko opremo. Glavni

namen Linux distribucij je ponuditi uporabniku pripravljene in skrčene datoteke za namestitev

jedra operacijskega sistema in osnovne programske opreme na strojno opremo za različne

namene (Dolinar, 2016).

2.3.2 Apache spletni strežnik

Spletni strežnik Apache, pogovorno samo Apache, je najbolj priljubljen spletni strežnik. V

osnovi je temeljil na NSCA HTTPd strežniku. Podprt je v večini priljubljenih in manj znanih

operacijskih sistemov (Windows, Linux, Mac OS, FreeBSD in ostale variante Unix sistemov),

posledično pa kar preko 60 % vseh spletnih strani na internetu gosti spletni strežnik Apache

(Mitrović, 2016).

Spletni strežnik služi komunikaciji in posredovanju podatkov brskalniku. V večini primerov so

to HTML strani in multimedijske datoteke. Apache ima veliko število dodatkov, v sebi pa

vsebuje tudi podporo za PHP in MySQL. Ta kombinacija zadosti našo potrebo za prikaz

dinamičnih strani na spletnem brskalniku. Na splošno velja za varen, robusten in prilagodljiv

strežnik (Mitrović, 2016).

2.3.3 SSL protokol za varno povezavo

SSL (Secure Socket Layer) certifikat je digitalno varnostno potrdilo, ki zagotavlja pristnost

Page 30: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER MOBILNIH APLIKACIJ

16

identitete spletnega mesta, hkrati pa z uporabo SSL tehnologije šifrira vse podatke, ki se

prenašajo med spletno stranjo in njenimi obiskovalci. SSL certifikat torej poskrbi za varnost

prenosa podatkov (Neoserv, 2017).

SSL certifikate je najbolj smiselno uporabljati na spletnih straneh, pri katerih prihaja do prenosa

občutljivih podatkov (osebni podatki, gesla, bančni podatki …), ki nikakor ne smejo končati v

nepravih rokah. Do prenosa občutljivih podatkov največkrat prihaja v primeru spletne trgovine.

SSL certifikat je smiselno namestiti tudi na spletne strani, kjer prenosa občutljivih podatkov ni.

Razlog za to je v iskalniku Googlu, ki spletne strani z nameščenim varnostnim certifikatom

nagradi z višjo pozicijo (Neoserv, 2017).

Glavni razlogi za uporabo varne povezave:

prvi razlog je varnostni, saj se na spletni strani, na katero je nameščen varnostni

certifikat, vsi podatki prenašajo prek zavarovane HTTPS povezave;

drugi razlog je prodajni, saj so spletni uporabniki vse bolj pozorni na ikono varnostne

ključavnice ter HTTPS povezave, kar se najbolj vidno izraža v povečani prodaji varnih

spletnih trgovin;

tretji razlog pa je tesno povezan z obiskanostjo spletnega mesta oz. z njegovo vidnostjo

v iskalniku Google. Za iskalnik Google je SSL certifikat pozitiven signal, ki prispeva k

višjim uvrstitvam spletnega mesta za posamezne iskalne poizvedbe (Neoserv, 2017).

Slika 2.3: Delovanje SSL protokola (Hölbl, 2011)

2.3.4 IPV6 protokol

IPv6 je nov način, kako oštevilčiti internet in s tem omogočiti komunikacijo v internetu. Vsaka

Page 31: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

ORODJA IN TEHNOLOGIJA ZA RAZVOJ SPLETNIH TER MOBILNIH APLIKACIJ

17

naprava v internetu ima svoj IP-naslov. Ta naslov in protokol, ki ga morajo upoštevati naprave,

če želijo komunicirati med seboj, sta pogoja za IP-povezljivost. Ko danes govorimo o IP-

povezljivosti, ne mislimo le na stari in trenutno še vedno najbolj razširjeni IP-protokol različice

4 (IPv4), temveč tudi na novejši protokol IPv6, ki postaja stalnica sodobnih IP-omrežij. Zelo

poenostavljeno – IPv6 je torej le nov način oštevilčenja interneta. Brskalniku je ta pretvorba iz

imena v IP-naslov skrita. Povezal se bo s spletnim strežnikom na IP-naslovu, ki ga je izvedel

od DNS strežnika, in s tega naslova pridobil podatke za prikaz spletne strani. Za delovanje

brskalnika ni pomembno, ali je ta naslov dosegljiv po protokolu IPv4 ali IPv6. Lahko je

dosegljiv tudi v obeh različicah. V tem primeru se mora brskalnik odločiti za tisto, ki ji bo dal

prednost. Za večino sodobnih internetnih storitev v takem primeru velja, da ima IPv6 prednost

pred starejšim protokolom IPv4 (Arnes, 2017).

2.3.5 Google API

Pri razvoju produkta smo za uporabo zemljevidov ter pridobivanja naslova na podlagi

geokoordinat uporabili tako imenovan Google API. Google API je skupek vseh Googlovih

storitev, katere lahko uporabljamo pri razvoju naših produktov. Omogoča integracijo Google

zemljevidov, YouTube, Google Drive in vseh ostalih Google produktov, ki jih ponujajo tudi za

samostojno uporabo. S pomočjo API-jev povečamo predvsem robustnost celotnega projekta

(Google, 2017).

Page 32: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

18

3 RAZVOJ APLIKACIJE MALCAJT

V nadaljevanju bomo predstavili idejo aplikacije Malcajt. Zajema tudi bolj podroben opis

razvoja aplikacije ter testiranje produkta pred objavo na trgu.

3.1 Ideja

Ideja o aplikaciji Malcajt se je razvila na podlagi dobrih praks medijskega portala ePosavje.

ePosavje je eden izmed najbolj obiskanih medijskih portalov v Posavju, ki zajema objavo novic,

dogodkov, obvestil ter ostalih informacij za Posavsko regijo. Portal v eni izmed sekcij zajema

tudi objavo malic ter kosil za področje Posavja (Brežice, Krško, Sevnica …). Glede na takratne

statistike obiska, je bila ta stran med najbolj obiskanimi stranmi in smo posledično zaradi tega

prišli do ideje, da bi v ta namen razvili tudi mobilno aplikacijo. Prvoten cilj je bil razviti mobilno

aplikacijo, ki na enem mestu združuje vse ponudnike v posavski regiji. Če bi ta cilj razvili, kot

smo si ga prvotno zamislili, bi aplikacijo naredili uporabno zgolj za uporabnike znotraj

omenjene regije, za vse ostale regije pa bi v tem primeru bila aplikacija neuporabna. Če si

predstavljamo kot primer, da se nahajamo v centru Ljubljane in si naložimo aplikacijo Malcajt.

Ko uporabnik aplikacijo odpre je seveda seznam najbližjih ponudnikov prazen, saj ta ne vsebuje

njegove regije. V tem primeru uporabnika omejimo in naredimo aplikacijo neuporabno za ostal

delež populacije. Takšnega uporabnika pa tudi sicer zelo težko prepričamo k nadaljnji uporabi.

Na podlagi vseh teh domnev smo se tako odločili, da razvijemo aplikacijo, ki bo pokrila celotno

Slovenijo in bo zajemala približno 2000 gostinskih objektov.

3.2 Pregled obstoječih rešitev

Pred razvojem mobilne aplikacije smo izvedli pregled sorodnih projektov in strokovne

literature, na podlagi katere smo si lažje zastavili, kakšne bodo funkcionalnosti ter kako izdelek

izboljšati glede na predhodne izdelane produkte. Kot vemo na trgu obstaja že kar nekaj

podobnih produktov, ki imajo identičen cilj – predstaviti nabor uporabnikov na enem mestu.

Kljub večjemu število produktov, ki trenutno obstajajo, smo se naslanjali na štiri produkte, ki

so na spletu najbolj izpostavljeni: gostilne.si, gostilne.delo.si, dobregostilne.si in restavracije-

gostilne.si. V spodnji tabeli so vidne prednosti ter slabosti posameznih produktov po našem

Page 33: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

19

mnenju.

Produkt Gostilne.si

Tabela 3.1: Prednosti/slabosti produkta Gostilne.si

Prednosti Slabosti

- Varna povezava.

- Mobilna prilagodljivost.

- Mobilna aplikacija (Android in iOS).

- Dnevna/tedenska ponudba.

- Interaktivni prikaz ponudnikov na

zemljevidu.

- Uporabniški dostop za ponudnike.

- Najbližji ponudniki.

- Veliko manjkajočih ali nepravilnih

podatkov.

- Veliko ponudnikov manjka.

- Slabo oskrbovano oglaševanje preko

socialnih medijev.

- Neprijazen uporabniški vmesnik.

- Ohlapni rezultati glede na iskalne nize.

- Ne omogoča filtracije pri iskanju

ponudnika.

Produkt Gostilne.delo.si

Tabela 3.2: Prednosti/slabosti produkta Gostilne.delo.si

Prednosti Slabosti

- Mobilna prilagodljivost.

- Mobilna aplikacija (Android in iOS).

- Interaktivni prikaz ponudnikov na

zemljevidu.

- Uporabniški dostop za ponudnike.

- Ne vsebuje varne povezave.

- Mobilna aplikacija uporabniku

neprijazna.

- Ne vsebuje dnevne/tedenske ponudbe.

- Ne uporabljajo socialnih medijev za

promocijo.

- Pomanjkljivi podatki.

- Veliko ponudnikov manjka.

Page 34: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

20

Produkt Dobregostilne.si

Tabela 3.3: Prednosti/slabosti produkta Dobregostilne.si

Prednosti Slabosti

- Varna povezava.

- Interaktivna mapa.

- Najbližji ponudniki.

- Mobilno prilagodljiva.

- Ocenjevanje ter komentiranje

ponudnikov.

- Slabo oskrbovana ponudba.

- Pomanjkljivi podatki.

- Veliko gostinskih ponudnikov manjka.

- Ne obstaja kot samostojna aplikacija za

mobilne naprave.

- Zastarel grafični vmesnik.

- Slab iskalnik po ponudnikih.

Produkt Restavracije-gostilne.si

Tabela 3.4: Prednosti/slabosti produkta Restavracije-gostilne.si

Prednosti Slabosti

- Ponudniki zelo podrobno predstavljeni

(osnovne informacije, opis, delovni čas,

ponudba …).

- Dobro zajeti skoraj vsi gostinski

ponudniki v Sloveniji.

- Uporabniški dostop za ponudnike.

- Kategorizacija po ponudnikih.

- Ni varne povezave.

- Zastarel grafični vmesnik.

- Ni mobilno prilagodljivo.

- Ne obstaja kot samostojna aplikacija za

mobilne naprave.

- Slab iskalnik po ponudnikih.

Pri zgoraj omenjenih produktih smo ugotovili kar nekaj slabosti oziroma pomanjkljivosti, na

podlagi katerih smo lahko naš produkt razvili bistveno bolj učinkovito ter uporabniku bolj

prijazno. Največja pomanjkljivost trenutnih produktov na trgu je predvsem slabo oskrbovanje

tedenske kot tudi aktualne ponudbe gostinskih ponudnikov. Neažuriranost podatkov prav tako

igra zelo pomembno vlogo tako ponudniku, kot tudi samem uporabniku. Ena izmed pomembnih

pomanjkljivosti pa je tudi uporaba novih tehnologij pri razvoju spletnih aplikacij, kot je mobilna

prilagodljivost ter uporaba varnega protokola za komunikacijo HTTPS. Vse te pomanjkljivosti

smo tudi pri razvoju našega produkta kar se da dobro dodelali in sledili vsem trenutnim

trendom, ki so pomembni pri razvoju spletnih in mobilnih aplikacij.

Page 35: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

21

3.3 Metodologija

Za razvoj mobilne aplikacije smo uporabili ogrodje Ionic, ki se uporablja za razvoj hibridnih

mobilnih aplikacij za operacijske sisteme iOS ter Android. Ogrodje uporablja AngularJS

knjižnico, ki je uporabljena kot MVC model. Pri razvoju spletne aplikacije smo uporabili

tehnologije HTML, CSS(Less), JavaScript (jQuery knjižnico) za »Front-end« del ter PHP,

MySQL za »Back-end« del. Front-end je del, ki je viden uporabniku. Ta uporablja tehnologije,

ki skrbijo za predstavitev ter vizualizacijo določenih elementov na spletni strani, medtem ko se

»Back-end« izvaja na strani strežnika in skrbi za izpisovanje določenih podatkov iz baze

(Pluralsight, 2015). Poleg omenjenih uporabljenih tehnologij pa je pomembna tudi sama

postavitev strežnika. Strežnik mora zadoščati določenim kriterijem, in sicer je potreben IPV6

protokol, saj to zahteva predvsem App Store za potrditev aplikacije na njihovem trgu, prav tako

pa imajo zahteve po varni izmenjavi podatkov, kar pomeni, da mora biti REST API prav tako

na varni povezavi. REST API je nabor funkcij, ki jih razvijalec uporablja za izvedbo zahtevkov

preko GET ali POST metode. Po poslani poizvedbi nam REST API posreduje odgovor v obliki

podatka. Ta način komunikacije med klientom in strežnikom je postal standard za pridobivanje

podatkov iz drugih strežnikov (Deering, 2017).

3.3.1 Razvojna metodologija

Pri razvoju produkta Malcajt smo uporabili agilno metodologijo razvoja. Agilne metodologije

poudarjajo ljudi na projektu in komunikacijo med njimi, hitro razvit in testiran delujoč produkt,

komunikacijo in sodelovanje med razvijalci in naročniki ter priložnosti pri spremembah zahtev.

Prednosti takšnega pristopa razvoja glede na plansko vodene metodologijam so predvsem:

inkrementalni razvoj (kratki cikli, rezultat cikla je delujoča koda), intenzivno sodelovanje z

uporabniki, enostavnost metode za učenje in uporabo ter prilagodljivost sprotnega vključevanja

sprememb. Za naš produkt je bila najbolj primerna agilna metodologija SCRUM. SCRUM

metodologija poteka v iteracijah, ki si sledijo ena za drugo. Rezultat vsake iteracije je nova

(dodatna) funkcionalnost izdelka. Pri metodi so pomembni vsakodnevni pregledi znotraj enega

cikla, ki omogočajo pregled opravljenega dela in izvedbo prilagoditev. Osnova za cikel je

seznam zahtev. Ko so vse izvedene, je cikel končan. Metodologija vključuje 4 vloge, in sicer:

lastnika izdelka, razvojno skupino, skrbnika metodologije ter opazovalce (Rožanc, 2008).

Page 36: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

22

3.4 Analiza in specifikacija zahtev

3.4.1 Zahteve oziroma želene funkcionalnosti

Želeli smo razviti mobilno aplikacijo, ki bi na enem mestu združevala vse gostinske ponudnike

in tako posameznemu uporabniku omogočala enostaven pregled ponudbe. Na eni strani imamo

tako uporabnika, ki želi priti do vseh teh podatkov, na drugi strani pa gostinca, ki skrbi za te

podatke. Aplikacija mora tako uporabniku ponuditi čim večji nabor podatkov, ki bi mu prišli

prav in bi tako aplikacijo naredilo še bolj uporabno. Uporabniku je potrebno ponuditi najbližje

ponudnike glede na njegovo trenutno lokacijo. Imeti mora tudi možnost izbire regije oziroma

kraja, za katerega želi izpis ponudnikov, kar pomeni, da lahko izbira med najbližjimi ponudniki

ali pa med regijo oziroma krajem. Glede na to, da ima posamezna gostilna več različnih

lastnosti, kot so parkirni prostor, otroška igrala, Wi-Fi dostopna točka, možnost uporabe

kreditnih kartic itd., je pomembno, da lahko uporabnik enostavno filtrira tudi po teh lastnostih

in tako pridobi vse ponudnike, ki ustrezajo njegovim željam. Vsak uporabnik ima tudi

priljubljene gostilne, do katerih bi rad dostopal na najenostavnejši način, kar pomeni, da mora

imeti možnost ponudnika dodati na listo priljubljenih. Ena od pomembnih funkcij pa je tudi, da

lahko uporabnik ponudnika čim enostavneje poišče s pomočjo iskalnika po nazivu, kraju ali po

ponudbi. Dobrodošlo je tudi, da lahko sam uporabnik skozi aplikacijo predlaga novega

ponudnika ali pa tudi poda kakšno pripombo pri obstoječem ponudniku. Zelo dobrodošla pa bi

bila tudi enostavna pomoč oziroma enostaven pregled najpogosteje uporabljenih funkcij, ki bi

uporabniku lažje predstavila, kako se kateri del funkcionalnosti lahko uporablja. Cilj nam je

predvsem narediti enostaven, hiter in pregleden imenik, ki združuje vse naštete funkcionalnosti.

3.4.2 Specifikacije zahtev aplikacije

Na podlagi želenih funkcionalnosti aplikacije smo tako definirali specifikacije zahtev, katerih

smo se držali pri razvoju mobilne aplikacije:

aplikacijo bo možno uporabljati na operacijskih sistemih Android in iOS. Prilagojena bo

tudi starejšim napravam, vendar z določenimi omejitvami. Podpora za Android je nudena

od verzije 4.3 naprej, v starejših tako ne bo delovala. Aplikacija bo prilagojena tudi

tabličnim napravam tako za Android kot za iOS;

aplikacija bo brezplačna vsem uporabnikom. Uporabniki iOS naprav bodo tako brezplačno

prenesli mobilno aplikacijo iz Android trgovine Google Play in iz trgovine App Store;

Page 37: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

23

uporabnik bo na podlagi trenutne lokacije pridobil njemu najbližje ponudnike. Uporabnik

mora pri namestitvi aplikacije na Android napravah potrditi in se strinjati z uporabo trenutne

lokacije, da bo tako imela aplikacija pravice dostopati do teh podatkov, medtem ko pri iOS

napravah potrdi dovoljenje za pridobivanje trenutne lokacije ob prvem zagonu aplikacije.

Če uporabnik ne dovoli uporabe trenutne lokacije, aplikacija ne more dostopati do teh

podatkov. Trenutna lokacija poda vse gostinske ponudnike, ki so oddaljene največ 10 km

zračne razdalje;

uporabnik bo ob prvem zagonu aplikacije v primeru, da aplikacija ne pridobi trenutnih

podatkov o njegovi lokaciji, izbral regijo iz seznama regij in v naslednjem koraku občino

znotraj regije, da lahko na ta način omeji število izpisanih ponudnikov;

uporabnik bo lahko enostavneje našel gostilno s pomočjo uporabe iskalnika. Kot iskalni niz

bo uporabnik lahko podal ime gostilne, kraj ali ponudbo in tako pridobil vse ponudnike, ki

ustrezajo iskalnemu nizu;

uporabnik bo na podlagi izbrane regije oziroma občine omejeval število izpisanih gostinskih

ponudnikov, ki bodo ustrezali njegovim kriterijem. Na izbiro ima 12 slovenskih regij in 212

občin, po katerih lahko filtrira;

uporabnik bo lahko dodal ponudnike na listo priljubljenih. Dodani priljubljeni ponudniki

bodo na višjem mestu, če bo uporabnik izpisoval vse ponudnike znotraj regije ali znotraj

občine, kar pomeni, da bodo priljubljeni vedno izpostavljeni višje in bodo uporabniku

vedno na dosegu roke;

za enostavnejši pregled ponudnikov bo lahko uporabnik tudi izbiral lastnosti, ki mu

ustrezajo in na podlagi tega bo izpis gostinskih ponudnikov omejen glede na njegove

zahteve. Tako bo imel uporabnik na voljo izbiro lastnosti, kot so: parkirni prostor, odprto

ob vikendih, malice, kosila, primerno za invalide, kosila itd.;

izpis ponudnikov bo razvrščen glede na tip filtra. V primeru, da je izbrana trenutna lokacija,

so ponudniki izpisani po oddaljenosti od trenutne lokacije, najprej bodo prikazani najbližji

ponudniki, na koncu pa ti, ki so oddaljeni največ od trenutne lokacije. Izpisuje ponudnike

do 10 km od trenutne lokacije gledano iz zračne razdalje. V primeru, da pa bi uporabnik

izbral regijo ali občino, pa najprej sledijo vsi priljubljeni ponudniki, nato ponudniki, ki

imajo objavljeno ponudbo, na koncu pa vsi ostali, ki so razvrščeni po abecednem seznamu

glede na njihovo ime;

izpis ponudnikov bo na začetni strani vseboval ime ponudnika, lokacijo, ikono za telefon,

ponudbe ter v spodnjem delu še podatke, kot so oddaljenost od trenutne lokacije ter

Page 38: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

24

informacije o delovnem času;

uporabnik bo ob kliku na posameznega ponudnika pridobil vse splošne podatke o

ponudniku. Na vrhu izpisa bo prikazana slika gostinskega ponudnika, njegovi osnovni

podatki (ime, naslov, kraj) in pa kontaktni podatki (telefon, elektronska pošta, spletna stran,

klik na zemljevid). V primeru, da bo ponudnik imel vpisane malice ali kosila, bo tako ob

odprtju na začetnem zaslonu izpis malic ali kosil. Malice in kosila so izpisana po dnevih in

so lahko ločena po želji ponudnika. V primeru, da ima ponudnik v svoji ponudbi tudi

študentsko prehrano, je tudi ta vključena v samem prikazu na podoben način, kot so

objavljene malice oziroma kosila. Naslednji zaslon je izpis aktualne in stalne ponudbe,

katero definira ponudnik. Če ponudnik definiran aktualno ponudbo in če nima objavljenih

malic oziroma kosil, je ta aktualna ponudba prikazana pri spisku vseh ponudnikov.

Naslednja sekcija pri ponudniku je splošen opis ponudnika, delovni čas in dodatne opcije,

katere ponudnik nudi. Zadnja sekcija pa predstavlja galerijo slik, katero ponudnik ureja

povsem samostojno;

uporabniki bodo lahko sami predlagali novega ponudnika;

uporabnik bo lahko predlagal spremembe obstoječega ponudnika, katere pa pred

posodobitvijo preverijo administratorji;

v primeru kakršnih koli dilem si bo lahko uporabnik s funkcijo pomoči pomagal do

določenih funkcionalnosti.

S pomočjo specifikacije zahtev, katere smo si določili, smo se lahko lažje podali v naslednji

korak, in sicer načrtovanje in kasneje tudi razvoj aplikacije.

3.5 Načrtovanje in razvoj aplikacije

3.5.1 Načrtovanje podatkovne strukture

Na podlagi specifikacij smo izdelali podatkovno strukturo, ki je del mobilne kot tudi spletne

aplikacije Malcajt. Podatkovna struktura, katero uporablja mobilna aplikacija, je enaka tudi pri

uporabi spletne aplikacije. Podatkovna struktura zajema 19 različnih tabel. Te so med sabo

povezane s primarnimi oziroma sekundarnimi ključi in so realizirane za hitrejše delovanje.

Zaradi poslovnih skrivnosti ne bomo podrobneje opisovali same podatkovne strukture.

Page 39: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

25

3.5.2 Načrtovanje posameznih delov aplikacije

Celotna aplikacija je razdeljena na dva dela, in sicer na spletno aplikacijo za administracijo

gostinskih ponudnikov ter predstavitev ponudnikov in mobilno aplikacijo. Na eni strani imamo

spletno aplikacijo, katero uporablja gostinski ponudnik za urejanje njegovih podatkov, ter

spletno aplikacijo za administracijo vseh ponudnikov, na drugi strani pa imamo mobilno

aplikacijo, ki omogoča pregled vseh ponudnikov. Naknadno pa smo razvili tudi spletno

aplikacijo za predstavitev ponudnikov, ki ima identične funkcionalnosti kot mobilna aplikacija.

3.5.2.1 Spletna aplikacija

Spletna aplikacija je sestavljena iz dveh delov, in sicer iz »front-end« dela, ki je namenjen

ponudnikom, in »back-end« dela, ki je namenjen administriranju vseh ponudnikov.

Predstavitveno okolje za ponudnika

Predstavitev posameznega ponudnika je bila v začetku možna samo preko mobilne aplikacije,

kar je po eni strani uporabnika omejevalo. Gledano z uporabniškega vidika ima sicer vsak

uporabnik mobilno napravo vedno pri sebi, vendar večina uporabnikov, ki opravljajo delo v

pisarnah za računalniki, v večji meri uporabljajo le-te. V ta namen smo se odločili razviti tudi

spletno aplikacijo za predstavitev uporabnikov. Vsak uporabnik je predstavljen tudi na naši

spletni aplikaciji Malcajt in je lahko dosegljiv tudi preko določene spletne povezave. To je tudi

boljši način predstavitve ponudnika z vidika SEO, saj je ponudnik lahko najden tudi preko

ostalih iskalnikov, kot so Google, Najdi.si in Yahoo. Predstavitveno okolje je razdeljeno na dva

dela: prvi del zajema iskanje ponudnika po določenih iskalnih parametrih ter imenik

ponudnikov, drugi del pa zajema predstavitev samega ponudnika. Spodnja slika prikazuje

prikaz iskalnika po ponudnikih.

Page 40: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

26

Slika 3.4: Prikaz iskalnika po ponudnikih

Iskanje ponudnika poteka podobno kot na mobilni aplikaciji Malcajt, s tem da je tu bistveno

iskalno polje. V to polje lahko uporabnik vnese želene besede, na podlagi katerih mu vrne

rezultate. Iskanje se izvaja po naslednjih atributih, ki so zabeleženi v podatkovni strukturi:

Title – naziv ponudnika;

Description – opis ponudnika;

City – kraj, v katerem se nahaja ponudnik;

Address – naslov, na katerem se nahaja ponudnik;

Postage – poštna številka, v kateri je kraj ponudnika;

OfferText – posebna ponudba, ki jo lahko vnese ponudnik;

ActualText – aktualna ponudba;

LunchText – dnevna/tedenska ponudba malic oziroma kosil;

Keywords – ključne besede, po katerih lahko ponudnika iščemo.

V iskalno polje lahko uporabnik vnaša sestavljene besede, na podlagi katerih kasneje pridobi

rezultate. Kot primer uporabnik v iskalno polje vnese iskalni niz »krško malice« in tako dobi

kot vrnjen rezultat izpis vseh ponudnikov, ki imajo ti dve ključni besedi v katerem koli polju,

ki so bila prej omenjena. Ne glede na dolžino vnosa v iskalna polja želimo uporabnikom izpisati

Page 41: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

27

čim več smiselnih zadetkov in mu s tem prihraniti čas, ki bi ga sicer porabil za prehode po

posameznih straneh. Privzeto razvrščamo ponudnike po oddaljenosti od trenutne lokacije. V

primeru, da uporabnik potrdi uporabo njegove trenutne lokacije, s tem aplikacija pridobi

trenutne koordinate naše lokacije in izpiše ponudnike od najmanjše do največje oddaljenosti.

Razvrščanje izpisa ponudnika se lahko povsem samostojno tudi spremeni. Parametri, po katerih

lahko razvrščamo, so »Distance« – oddaljenost od trenutne lokacije – in pa »Title« – naziv

ponudnika. Če uporabniku ne zadošča iskanje s pomočjo iskalnega niza, si lahko omeji število

zadetkov tudi z uporabo filtra. Filtri »Nudimo« so enaki v mobilni aplikaciji. Z njimi lahko

uporabnik filtrira število zadetkov po karakteristikah, kot so invalidski dostop, malice, tedenska

kosila, odprto ob vikendih, parkirni prostor itd. Uporabnik ima omogočeno tudi dodatno

filtracijo, in sicer po regijah oziroma občinah. Vsak zadetek po iskalnem nizu ali po zgoraj

omenjeni filtraciji zmanjšuje tudi število ponudnikov po določeni regiji oziroma občini, tako

da so rezultati dejansko čim bolj smiselni uporabniku. Del, kjer so prikazani zadetki vseh

ponudnikov, je povsem podoben shematiki, katero uporabljamo pri mobilni aplikaciji. Vsak

zadetek ima podan naziv, kraj, oddaljenost od trenutne lokacije, delovni čas (odprto/zaprto),

telefonsko številko, vstopno fotografijo in najpomembnejše – predstavitev ponudbe, ki jo

ponuja na trenutni dan, ali pa aktualno ponudbo, če jo ima vneseno. Tako uporabnik enostavno

pregleda vso današnjo ponudbo in se lažje odloči za ponudnika. Glede na to, da je v bazi veliko

število ponudnikov, smo jih omejili po straneh. Na posamezni strani je največ 25 ponudnikov.

Za nadaljnje rezultate se premikamo na naslednjo stran, kjer pridobimo rezultat naslednjih 25

ponudnikov in s tem ne obremenjujemo strežnika ter zmanjšamo interakcijo med strežnikom in

uporabnikom.

Predstavitev ponudnika na spletu je podobna predstavitvi ponudnika v mobilni aplikaciji. Glede

na to, da smo želeli shematiko mobilne aplikacije prenesti na splet, smo se držali enake logike

glede uporabnosti. Vsak ponudnik je samostojno predstavljen na spletni strani z določeno

spletno povezavo, preko katere lahko tudi sicer uporabnik pride do ponudnika. Ponudnik je

predstavljen z vsemi podatki, katere imamo shranjene v naši podatkovni bazi. V zgornjem

levem delu imamo naziv ponudnika, kraj, oddaljenost od trenutne lokacije ter opis odprto/zaprto

v primeru, da ima določen delovni čas. Nato sledi izpis galerije, kjer so prikazane slike za

posameznega ponudnika. Ponudniku je na voljo galerija, kjer lahko naloži največ 15 dodatnih

fotografij, ki bodo kasneje vidne uporabniku. Pod predstavitvijo fotografij so tako imenovani

tabulatorji, pri katerih preklapljamo med informacijami. V primeru, da ima ponudnik dodane

malice, kosila ali študentsko prehrano, se na prvem mestu pojavi tabulator, ki izpisuje te

podatke in vsebuje preklope med malicami/kosili in študentsko prehrano v primeru, da je ta na

Page 42: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

28

voljo. Drugi tabulator zopet vsebuje predstavitev ponudbe v primeru, če jo ponudnik vpiše. Tu

je na voljo izpis aktualne in posebne ponudbe. Zadnji tabulator vsebuje predstavitev opisa

ponudnika in opcije, ki jih nudi v obliki ikon, ki nazorno opišejo, kaj ima kateri ponudnik na

voljo. To so opcije, ki smo jih lahko pri samem iskanju tudi uporabili za lažje filtriranje

zadetkov iskanja. Desni del predstavitve ponudnika zajema predstavitev kontaktnih podatkov,

kot so telefon, spletna stran, e-poštni naslov in pa gumb »Pišite nam«, kateri vodi na obrazec

za povpraševanje, ki neposredno kontaktira ponudnika. Naslednje okno zajema predstavitev

delovnega časa, ki ga je vnesel ponudnik. Tu so predstavljeni dnevi z imeni ter čas odprtja

oziroma zaprtja. Nazorno je tudi predstavljeno, ali je ponudnik trenutno odprt oziroma zaprt.

Zadnje okno vsebuje izpis slike iz Google zemljevida. Klik na sliko nas vodi neposredno na

Googlovo stran, kjer je prikazana karta z neposredno potjo od naše trenutne lokacije do

ponudnika.

Slika 3.5: Predstavitev ponudnika na spletu

Urejevalno okolje za ponudnika

Front-end administracija za dostop zahteva vnos t. i. prijavnih podatkov, in sicer uporabniško

ime ter geslo, katero so uporabniki pridobili z dopisom oziroma so ga pridobili tekom

registracije v spletno aplikacijo. Najprej je bilo potrebno izdelati prijavno in registracijsko okno.

Prijavno okno vsebuje vnosna polja »Uporabniško ime« in »Geslo« in ob vnosu teh dveh

podatkov preveri v obstoječi podatkovni bazi, če uporabnik obstaja in če je aktiven. Če je

prijava uspešno potrjena, je ponudnik preusmerjen na urejevalno okolje za uporabnika. Spodnja

slika prikazuje primer prijavnega in registracijskega okna.

Page 43: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

29

Slika 3.6: Okno za prijavo/registracijo

Registracija na drugi strani vsebuje vnosna polja »Uporabniško ime«, »Geslo« ter »E-poštni

naslov«. Pri registraciji je potrebno vnesti vsa polja, prav tako je potrebno izpolniti polja

»Geslo« in »Ponovi geslo«, katera morata biti identična. Ob vnosu vseh obveznih podatkov se

v bazi podatkov preveri, ali že obstaja uporabnik s tem uporabniškim imenom ali e-poštnim

naslovom. Če ne obstaja, je registracija uspešna in ponudnik je preusmerjen v administracijo

njegove ponudbe. Uporabnik na vnesen e-poštni naslov prejme obvestilo o registraciji in o

potrditvi profila ter s tem pridobi vse pravice za objavo in oskrbovanje ponudbe. Ko je ponudnik

prijavljen, ima pravico urejanja gostinskih lokalov, katerih lastnik je. Ponudniki so sicer ločeni

na dva dela. Delijo se na ponudnike, ki imajo Mali paket, in ponudnike, ki imajo Veliki paket.

Ponudnik z Malim paketom ima možnost objave osnovnih podatkov, kar je brezplačno za vse

ponudnike. Vsak ponudnik, ki ne podaljša naročnine, postane naročnik tega paketa in ima

pravico do urejanja naslednjih podatkov: naziv in naslov lokala, lokacija, telefon, delovni čas

in nosilna slika. Spodnja slika prikazuje primer urejevalnega okolja za ponudnika.

Page 44: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

30

Slika 3.7: Urejevalno okolje za ponudnika

Ponudnik velikega paketa pa ima poleg osnovnih podatkov še možnost dodatnih polj, kot so

spletna stran, opis lokala, ponudba, aktualna ponudba, lastnosti lokala – izbira opcij parkirni

prostor, dostop za invalide itd., galerija, objava malic oziroma kosil ter možnost objave ponudbe

na spletni strani in na Facebooku. V primeru lastništva velikega paketa ponudnik z enim

vnosom pridobi pravico za objavo ponudbe na več lokacijah hkrati.

Urejevalno okolje za administratorje

Urejevalno okolje za administratorje je namenjeno celotni administraciji vseh gostinskih

ponudnikov. Do tega okolja lahko dostopajo le administratorji, ki imajo popoln nadzor nad

vsemi ponudniki.

Administracija je sestavljena iz treh delov. Prvi je del, ki pokriva vse dodane ponudnike. Pri

njem imamo spisek vseh dodanih ponudnikov, katere lahko filtriramo po regijah/občinah ali

poiščemo s pomočjo iskalnika, lahko jih pa tudi filtriramo po tipu ponudnika. Vsak ponudnik

ima določen tip. Prvi tip so ponudniki, ki nimajo malic in so v imeniku zgolj samo informativno

ali pa še niso uvrščeni v pravilno kategorijo. Naslednji tip so ponudniki, ki imajo dnevno

ponudbo malic in kosil, vendar za to skrbimo mi – te imajo tako imenovani tip »Ročno«. Tretji

tip pa so ponudniki, ki za objave skrbijo samostojno in spadajo v kategorijo »Samostojno«,

takšni pa za svoje ponudbe skrbijo popolnoma sami in so tako neodvisni od nas. Administrator

ima popoln nadzor nad ponudniki, kar pomeni, da lahko ureja celotno ponudbo ponudnika.

Lahko spreminja vse podatke, ki so izpolnjeni, dodaja slike, lastnosti in ostale podatke, ki

manjkajo ali so nepravilni. V osnovi pa lahko seveda administrator dodaja nove ponudnike.

Page 45: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

31

Drugi del administracije je namenjen pregledu naročnin posameznega ponudnika. Glede na to,

da imamo dva paketa, v katerih so ponudniki, in sicer »Mali« ter »Veliki« paket, po tem ključu

tudi v administraciji nadzorujemo ponudnike. Podan je podroben izpis vseh ponudnikov, kjer

imamo opisano ime paketa, v katerem je ponudnik, njihov čas aktivacije paketa in zaključek,

kdaj paket poteče. Administrator ima seveda možnost popravljanja datuma poteka in

spreminjanje tipa paketa, prav tako pa lahko tudi definira posamezno ceno paketa.

Tretji del administracije je namenjen pregledu vseh uporabnikov. Na tem mestu se lahko

spremlja celoten pregled prijav/registracij uporabnikov, da lahko lažje spremljamo tudi

spremembe pri posameznih ponudnikih. Izpisane imamo zadnje prijavljene uporabnike, njihov

status (aktiven/neaktiven), čas zadnje prijave, čas registracije in ostale podrobne informacije,

ki jih potrebujemo za lažji nadzor nad uporabniki. Administrator lahko tudi spreminja

uporabniške podatke ponudniku, spreminja osnovne podatke (ime in priimek naročnika, naslov,

e-poštni naslov itd.) ter prijavne podatke (uporabniško ime, geslo). Prav tako lahko tudi

vklaplja/izklaplja uporabnika ter ga po željah tudi odstrani.

3.5.2.2 Mobilna aplikacija

Mobilna aplikacija Malcajt združuje vse gostinske ponudnike v Sloveniji na enem mestu.

Aplikacija omogoča enostaven pregled gostinskih ponudnikov z vsemi informacijami, katere

so gostinci objavili. Ciljna skupina so predvsem vsi gostinski ponudniki, ki imajo

dnevno/tedensko ali aktualno ponudbo in želijo oglaševati svojo ponudbo še na enem dodatnem

medijskem kanalu. Iz vidika uporabnika aplikacija omogoča pregled vseh dodanih ponudnikov

v posamezni izbrani regiji ali občini in tudi podroben opis posameznega ponudnika.

Ko uporabnik prvič namesti mobilno aplikacijo na iOS ali Android mobilno napravo, ga v

prvem koraku vpraša za privolitev pravic do uporabe trenutne lokacije. V primeru, da je bila

uporaba lokacije potrjena, aplikacija preusmeri na izpis ponudnikov, ki so najbližje naši trenutni

lokaciji. V nasprotnem primeru pa je potrebno izbrati regijo in po želji občino, v kateri bi želeli

izpis ponudnikov. Če je izbran izpis ponudnikov »Najbližji ponudniki«, so ti razvrščeni po

trenutni oddaljenosti od najbližjega proti najbolj oddaljenem, če pa ima uporabnik izbrano

regijo oziroma občino, pa imenik izpisuje ponudnike glede na njihovo ponudbo. Najprej so na

vrhu višje razvrščeni vsi ponudniki, katere imamo nastavljene kot priljubljene, nato sledijo tisti,

ki imajo vneseno dnevno/tedensko ali aktualno ponudbo. Ti so posledično razvrščeni tudi glede

na naziv. Po tem spisku pa sledijo vsi ostali ponudniki, razvrščeni po nazivu. Na levi strani

Page 46: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

32

aplikacije se v primeru, da se nahajamo na začetnem naslovu, kjer imamo izpis ponudnikov,

nahaja meni, s pomočjo katerega dostopamo do drugih oken v mobilni aplikaciji. Prvi v meniju

je »Ponudniki«, kateri izpisuje vse ponudnike in je hkrati začetni zaslon ob odprtju aplikacije.

Naslednji v meniju je »Priljubljene«, kjer je zbirka vseh izbranih priljubljenih ponudnikov.

Nato sledi meni »Objavi ponudbo«, kjer se v pop-up oknu odpre možnost do povezave na

spletno aplikacijo za prijavo oziroma registracijo ponudnika. »Predlagaj ponudnika« omogoča

uporabniku dodajanje novega ponudnika v primeru, če tega ni v imeniku. Zadnji od menijev

»Pomoč« pa omogoča pregled enostavnega pregleda vseh oken in dodatnih opcij za lažjo

uporabo v primeru, če pride do kakršnih koli dilem. Med drugimi pa so dodane tudi ikone

spletne strani, e-poštnega naslova in splošnih informacij o sami aplikaciji.

Imenik ponudnikov omogoča pregled vseh ponudnikov tudi za določen dan oziroma za

naslednje 4 dni vnaprej. Tako se lahko uporabnik enostavno z zdrsom v levo ali desno premika

med dnevi, da ni potrebe po kliku na posameznega ponudnika. Vsak ponudnik ima poleg

svojega naziva na desni strani ikono za neposredni klic na njihovo telefonsko število. Pod

nazivom sledi izpis splošnih informacij, kot so kraj, v katerem se nahaja ponudnik, oddaljenost

ponudnika od trenutne lokacije ter opis, ali je ponudnik odprt oziroma zaprt. Pred nazivom so

tudi smiselne ikone, katere ponazarjajo, ali je ponudnik priljubljen (ikona srček), ikona študent,

ki opisuje, da ima ponudnik vneseno tudi študentsko prehrano, ikona malice, ki ponazarja, da

je za trenutni dan objavljena malica oziroma kosilo, in pa ikona ogenj, ki ponazarja aktualno

ponudbo. Spodnja slika prikazuje izpis imenika ponudnikov glede na najbližje ponudnike.

Slika 3.8: Prikaz imenika ponudnikov v mobilni aplikaciji Malcajt

Na začetnem naslovu ponudnikov je pri posameznem ponudniku napisana tudi današnja

Page 47: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

33

ponudba malic oziroma kosil. Če te ni, je nadomeščena z opisom študentske prehrane, če pa ni

tudi te, pa jo nadomesti opis aktualne ponudbe. Kot je bilo že zgoraj omenjeno, lahko uporabnik

enostavno preklaplja med dnevi in se s tem izogiba dodatnim klikom na posameznega

ponudnika za ponudbo ostalih dni. Izpis malic/kosil ali študentske prehrane je na začetnem

zaslonu omejen na 5 vrstic, za več vrstic pa je tudi nazorno prikazano, da lahko uporabnik

klikne na posameznega ponudnika in pridobi izpis celotne ponudbe. V desnem zgornjem kotu

zaslona se nahaja ikona za iskanje (lupa), kjer v iskalno polje uporabnik vnese želene iskalne

nize in pridobi rezultate, ki nadomestijo trenutni izpis. Iskalnik deluje podobno kot ostali

iskalniki na spletu – vpiše se ključne besede, kot recimo »malice Krško«, in v tem primeru nam

iskalnik ponudi rezultate vseh ponudnikov, ki imajo te besede uporabljene v določenem polju,

po katerem iščemo. Uporabnik lahko na klik izbrane regije/občine tudi menja trenutno

filtriranje ponudnikov in se povsem samostojno premika po ostalih regijah oziroma občinah.

Vsaka regija/občina ima tudi nazorno napisano število ponudnikov, da tako uporabnik pridobi

občutek, kolikšen je obseg ponudnikov v posameznem delu Slovenije. Ena od opcij filtracije

pa je tudi filtracija po opcijah, katere nudi ponudnik. Uporabnik lahko tako izbira po naslednjih

opcijah in tako filtrira izpis ponudnikov:

dostava na dom;

invalidski dostop;

kreditne kartice;

malice;

možnost rezervacije;

nedeljska kosila;

odprto ob vikendih;

otroška igrala;

parkirni prostor;

parkirni za tovornjake;

ponudba brez glutena;

ponudba za vegane;

ponudba za vegetarijance;

prenočišča;

študentski boni;

tedenska kosila;

WI-FI.

Page 48: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

34

Tu lahko seveda uporabnik izbere poljubno število opcij, po katerih želi filtrirati izpis vseh

ponudnikov, in se s tem izogne vsem tistim, katerih ne želi na spisku oziroma pridobi zgolj

tiste, ki so zanj lahko potencialni.

S klikom na posameznega ponudnika se odpre nov zaslon za podroben opis ponudnika. Ta

zajema predstavitveno sliko, da uporabnik dobi občutek, o kakšni gostilni je govora, nato sledijo

osnovni podatki, kot je naziv ponudnika, kraj, naslov. Pod osnovnim opisom sledijo ikone, ki

se lahko uporabljajo za kontaktiranje preko klica ali e-poštnega naslova ter gumb za navigacijo,

katera nam neposredno izriše pot do ponudnika glede na našo trenutno lokacijo. Naslednje okno

zajema predstavitev ponudbe. Tu je celotni zaslon razdeljen na tabulatorje, ki se uporabljajo

tudi pri spletni različici. Izpis je popolnoma identičen spletni različici aplikacije, torej se izpis

malic/kosil ali študentske prehrane nahaja na prvem tabulatorju, izpis aktualne/posebne

ponudbe pa se nahaja na naslednjem tabulatorju ponudba. Tabulator »Info« zajema opis

ponudnika ter ikone »nudimo«, ki nazorno opisujejo, kaj posamezen ponudnik nudi. Zadnji

tabulator zajema prikaz galerije fotografij ponudnika, kjer uporabnik pridobi še dodaten

občutek, kakšen je videz gostilne ali pa kakršne koli druge fotografije, ki predstavljajo

ponudnika. Posameznega ponudnika lahko tudi obvestimo o kakršni koli pomanjkljivost s

klikom »Predlagaj spremembo«, kjer ponudnik dobi obvestilo s strani Malcajt-a. Uporabnik si

lahko ponudnika tudi doda na listo priljubljenih s klikom na ikono srce, katera shrani ponudnika

na listo k vsem preostalim ponudnikom. Ti ponudniki so na začetnem zaslonu tudi sicer višje

razvrščeni oziroma se pojavljajo prvi na seznamu, razen v primeru, ko izpisujemo ponudnike

glede na nam najbližje ponudnike. Vsak ponudnik je s tem tudi samostojno podrobno

predstavljen z vsemi osnovnimi, kakor tudi dodatnimi podatki, ki lahko uporabniku pridejo

prav. Prikaz mobilne aplikacije je viden na spodnjih slikah.

Slika 3.9: Prikaz mobilne aplikacije Malcajt

Page 49: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

35

3.6 Testiranje

3.6.1 Testiranje strežnika

Preden je bila aplikacija javno dostopna, smo se lotili testiranja strežnikov. Največja dilema je

bila, ali kupiti nov strežnik, ki bi bil v celoti ločen od drugih strežnikov in bi bil uporabljen

samo v namene aplikacije Malcajt. Glede na to, da to doprinese kar velik dodaten strošek, smo

najprej testirali obstoječi strežnik, koliko zahtevkov je le ta zmožen izvesti v določenem času.

Za namene testiranja strežnika smo uporabili loader.io – aplikacijo za testiranje obremenitve

strežnika. To je brezplačna spletna aplikacija, ki omogoča izvajanje stresnega testa na našem

strežniku. Uporabnik določi spletni naslov, na spletnem naslovu potrdi certifikat, ko je ta

potrjen, pa lahko s pomočjo spletne aplikacije pošljemo večje število zahtevkov na strežnik.

Aplikacija omogoča podrobni pregled prejemanja ter pošiljanja zahtevkov ter celotno analizo

(Loader, 2017). Spodnja slika prikazuje testiranje 1000 zahtevkov na minuto, kar je približno

16 zahtevkov na sekundo oziroma 16 uporabnikov na sekundo.

Slika 3.10: Testiranje strežnika 1000 zahtevkov/min

V naslednjem testu smo malce povečali število zahtevkov in skrajšali čas, kar pomeni, da smo

na strežnik poslali še večje število zahtevkov v še krajšem časovnem obdobju. Poslali smo 5000

zahtevkov v časovnem razponu 30 sekund, kar bi pomenilo 166 uporabnikov na sekundo.

Page 50: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

36

Spodnja slika prikazuje odzivanje strežnika ob prejemanju 5000 zahtevkov v 30 sekundnem

intervalu.

Slika 3.11: Testiranje strežnika 5000 zahtevkov/30 s

Zadnji test je bil najbolj zahteven, in sicer 10000 zahtevkov v le 15 sekundah, kar bi pomenilo

približno 666 uporabnikov na sekundo. Spodnja slika prikazuje zadnje testiranje pošiljanja

zahtevkov na naš strežnik.

Slika 3.12: Testiranje strežnika 10000 zahtevkov/15 s

Page 51: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

37

Glede na pridobljene rezultate smo ugotovili, da je strežnik sposoben prejemati večje število

zahtevkov in se v tem primeru ni bilo potrebno odločiti za nakup oziroma najem dodatnega

strežnika samo v namen Malcajt-a.

3.6.2 Testiranje podatkovne strukture

Podatkovno strukturo smo testirali v veliki večini tekom same izvedbe aplikacije. Torej se je

interno testiranje izvajalo medtem, ko smo izdelovali poizvedbe po podatkovni bazi. Predvsem

je tu pomembno, da so tabele čim bolj optimalno izdelane, kar pomeni, da so realizirane –

vsebujejo ključe do drugih pod-tabel in s tem omogočijo hitrejše pridobivanje želenih poizvedb.

Glede na to, da je naša podatkovna struktura kar velika (v ozadju imamo ca. 2000 gostinskih

ponudnikov), je posledično velik tudi del tabel, katere pa morajo biti čim bolj optimalne za

hitrejše izvajanje poizvedb.

Zelo pomemben del pri podatkovni strukturi je njeno indeksiranje, po katerem izvajamo iskanje.

Indeks je podatkovna struktura, ki nam omogoča, da v poizvedbi poiščemo vrstice iz tabele

mnogo hitreje kot sicer. Če ne uporabimo indeksa, mora SQL preiskati celotno tabelo, pri čemer

začne pri prvi vrstici in preišče celotno zbirko podatkov, dokler ne najde ustreznih zadetkov.

Časovna zahtevnost iskanja v tem primeru narašča linearno s številom vrstic O(n), zato je

iskanje hitro, dokler vrstic v tabeli ni preveč. Ko velikost tabele narašča, pa ustrezno postavljen

indeks pospeši iskanje, saj je v tem primeru časovna zahtevnost iskanja O(log n) (Mrgole,

2013). V ta namen smo določene atribute, po katerih izvajamo iskanje, indeksirali. Indeksirali

smo naslednje atribute:

Title – nam pove naziv gostilne;

Description – vsebuje podroben opis gostilne;

City – kraj, v katerem je gostilna;

Postage – poštna številka kraja;

Address – naslov, na katerem je gostilna;

OfferText – opis posebne ponudbe;

ActualText – opis aktualne ponudbe;

Keywords – ključne besede gostinskega ponudnika;

LunchText – opis dnevne ponudbe/malic/kosil.

S pomočjo indeksiranja po tabelah smo spremenili hitrost odziva na rezultat iz 10 sekund na

Page 52: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

38

0,5 sekund, kar je seveda bistvena razlika tako za uporabnika kot tudi za odzivnost našega

strežnika. To uporabniku omogoča predvsem boljšo interakcijo in hitrejše delovanje strežnika.

3.6.3 Testiranje programske kode

Testiranje programske kode je v večini potekalo tekom samega razvoja. Programer najbolje

pozna produkt in tudi ve, kako in kaj bi bilo smiselno uporabiti, da pride do neke logične rešitve.

Mobilna aplikacija se je programirala s pomočjo ogrodja Ionic, ki v namene testiranja uporablja

tudi različna orodja. Programiranje se je izvajalo v programu PHPStorm, prav tako pa tudi

testiranje in razhroščevanje. PHPStorm je orodje, ki je namenjeno razvoju tako spletnih kot

drugih vrst aplikacij. Uporabnik ima na voljo 30-dnevno preizkusno različico, kjer lahko

program preizkusi. Prilagojeno je za različna PHP ogrodja, kot so Symfony, Drupal, Wordpress,

Zend, Laravel itd. Vsebuje celotno »front-end« podporo za spletne razvijalce, kot je HTML5,

CSS, Less, SASS, Javascript in drugo. Omogoča tudi »Live edit« torej živo urejanje, ki je vidno

takoj ob narejeni spremembi. Poleg vseh orodij za razvoj spleta omogoča tudi dodatne vtičnike

za VCS, oddaljeni dostop, SSH povezovanje na druge strežnike, terminal, urejanje podatkovnih

baz, Composer ter Rest API klient za prejemanje ter pošiljanje zahtevkov (PHPStorm, 2017).

Pri testiranju spletne, kakor tudi mobilne aplikacije, pa smo si pomagali tudi z orodjem Chrome

DevTools. To je eden od vtičnikov Google Chrome brskalnika, namenjen razhroščevanju

aplikacij, do katerih dostopamo preko spleta. Omogoča pregled elementov znotraj spletne

strani, njihovih lastnosti ter tudi spreminjanje posameznih lastnosti. S pomočjo omenjenega

orodja lahko posegamo neposredno v izvorno kodo spletne strani in spreminjamo/dodajamo

oziroma brišemo posamezne elemente spletne strani. Pomembna prednost uporabe tega vtičnika

je predvsem konzola, namenjena JavaScript izpisovanju vseh interakcij med klientom in spletno

stranjo. Ta konzola nam javlja podrobne podatke, s pomočjo katerih lahko bolj učinkovito

poiščemo kakšno težavo, ki se pojavlja. Mrežna plošča je tudi eno od zelo uporabnih sekcij tega

vtičnika, saj omogoča spremljanje pošiljanja in prejemanja zahtevkov na spletni strani, katero

pregledujemo. Sam vtičnik pa ima tudi dodatne funkcionalnosti, kot so pregledovanje piškotkov

ter sej na spletni strani, pregledovanje certifikatov, ki jih uporablja spletna stran, pregledovanje

ter urejanje predpomnjenja, katerega cilj je naložiti spletno stran v čim krajšem možnem času,

ter kup ostalih funkcionalnosti, ki za nas niso bile tako pomembne (Google, 2017).

Page 53: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

RAZVOJ APLIKACIJE MALCAJT

39

3.6.4 Testiranje uporabniškega vmesnika

Testiranje uporabniškega vmesnika je potekalo predvsem s strani uporabnikov, saj smo kot

razvijalci težko ocenili, kako dober je dejansko naš uporabniški vmesnik. Kot razvijalcem se

nam zdi vsaka stvar enostavna ter logična, medtem ko je lahko navadnem uporabniku vsak klik

v aplikaciji bistveno težji in neuporaben.

Uporabniki so v večini testirali predvsem enostavnost uporabe same aplikacije. Kako priti do

določenega cilja s pomočjo ponujenih opcij in kako v našem primeru v najhitrejšem času priti

do kontaktnih podatkov posamezne gostilne, v kateri bi naročili. Največji delež uporabnikov

nam je javljal, kako bi lahko določene dele grafičnega vmesnika popravili, da bi do nekega

podatka lahko uporabnik dostopal čim hitreje in čim bolj enostavno. Prav tako so uporabniki

podajali mnenja o menjavi določenih barvnih kombinacij, tako da smo z njihovo pomočjo

oblikovali dober uporabniški vmesnik, ki je dokaj pregleden in enostaven za uporabo.

Page 54: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

40

4 REZULTATI RAZISKAVE

Tekom celotnega razvoja produkta, tako spletne kot mobilne aplikacije, smo s pomočjo

raziskave lažje prišli do pomembnih odgovorov, ki so nam kasneje lahko še kako zelo koristili.

Zastavili smo si nekaj raziskovalnih vprašanj, na katera smo se naslanjali in si z njimi pomagali

pri razvoju produkta.

Prvo raziskovalno vprašanje se je nagibalo k pridobivanju uporabnikov. Vprašanje se je glasilo:

»Kako pridobiti čim večji nabor uporabnikov?«. Z lansiranjem izdelka na trg smo izdelek

izpostavili celotni javnosti, kar pomeni, da smo izdelek predstavili velikem številu

uporabnikov. Z objavo aplikacije na App store in Google Play smo tako izdelek predali v

uporabo vsem uporabnikom tako iOS mobilnih naprav, kakor tudi Android mobilnih naprav.

Na mobilnih trgovinah so aplikacije dosegljive prav vsem uporabnikom omenjenih naprav.

Aplikacija je ciljno namenjena uporabnikom v Sloveniji, saj vsebuje spisek gostinskih

ponudnikov v Sloveniji. Uporaba aplikacije v tujih državah je sicer bolj kot ne nesmiselna, saj

uporabnik ne bo pridobil konkretnih uporabnih informacij. Ob lansiranju mobilne aplikacije na

trg smo javno objavili tudi spletno stran Malcajt.com, katera privzeto zajema predstavitev

mobilne aplikacije, kakor tudi urejevalno orodje za ponudnika. Spletna stran je ciljna predvsem

za ponudnike gostinskih lokalov, ki skrbijo za objavo in urejanje ponudb na eni strani, na drugi

strani pa tudi za uporabnike, ki želijo pridobiti več podatkov o sami aplikaciji.

Mobilna aplikacija je bila na trgu predstavljena v sredini decembra 2016. Kot je bilo že prej

omenjeno, je dosegljiva za vse iOS in Android naprave. Registrirali smo se tudi na ostalih

socialnih kanalih, preko katerih smo začeli pridobivati uporabnike, in sicer Twitter, Facebook

in Youtube. Twitter je spletno mesto, kjer lahko v tem trenutku ugotovimo, kaj se dogaja po

celem svetu. Omogoča vnos objav, označevanje ostalih profilov, deljenje objav po celotnem

spletu ter spremljanje ostalih uporabnikov. Posebnost Twitterja je bila, da je posamezna objava

imela omejeno število znakov, z letom 2015 pa so to omejitev odstranili in s tem uporabnikom

omogočili več svobode (Twitter, 2017). Socialni medij Facebook je nam vsem dobro poznan

medij, ki omogoča registracijo novih uporabnikov, pregled uporabnikov, objavljanje objav,

deljenje objav, nalaganje fotografij/video posnetkov in kup ostalih funkcionalnosti. Facebook

je dosegljiv v več kot 70 različnih jezikih in je dosegljiv po celem svetu. Uporabniku prijazne

funkcije omogočajo tudi omejevanje vseh naših podatkov samo določenim osebam in s tem

Page 55: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

REZULTATI RAZISKAVE

41

ščitenje pred zlorabo podatkov (Facebook, 2017). YouTube pa je nam vsem poznan spletni

gigant, ki omogoča objavljanje/pregled video posnetkov. Je eden večjih spletnih gigantov,

katerega lastnik je Google in ponuja nabor dodatnih funkcionalnosti ter še en dober način, kako

marketinško oglaševati izdelek. Z objavo aplikacije na mobilnih trgovinah smo tako začeli tudi

z objavljanjem vsebin na omenjenih socialnih medijih. S pomočjo socialnih medijev lahko zelo

dobro predstavimo produkt in pridobimo veliko število uporabnikov. Pomembno je predvsem

čim bolj ažurno objavljanje vsebin, ki uporabnike pritegne k uporabi. S Facebookom se je širil

glas o mobilni aplikaciji Malcajt preko drugih profilov, ki so produkt všečkali ali delili naprej.

Glede na to, da smo uporabili profil, ki je imel že kar precejšnjo maso uporabnikov, nam je to

deljenje objav pripomoglo pri dodatnem pridobivanju uporabnikov. Eno od pomembnih funkcij

je tudi všečkanje vseh potencialnih gostinskih ponudnikov, ki bi lahko na tak način izvedeli o

obstoju mobilne aplikacije in kasneje tudi spletne aplikacije. Tekom celotnega obdobja tako na

tedenski ravni objavimo novost ali kakršno koli vsebino, ki je povezana z našim produktom in

daje uporabnikom občutek, da je stvar vedno bolj atraktivna za uporabo. Poleg tedenskega

oskrbovanja medijskih kanalov z objavljanjem vsebin smo izvedli tudi nagradno igro v smislu

»deli-dobi« kar je bil v našem primeru primer deljenje določene objave na Facebooku v

časovnem obdobju enega meseca. Po pretečenem roku smo izžrebali uporabnike, ki so dobili

manjšo nagrado za uspešno objavljanje ter širjenje glasu. Ponudnikom smo po drugi strani

razdelili tudi oglasna gradiva, nalepke, plakate ter oglasne letake za zatikanje. Na ta način se

lahko uporabnika obvesti, da je tudi ta ponudnik v naši aplikaciji in da lahko pri nas spremlja

dnevno ponudbo. Zadnji način, preko katerega smo obveščali uporabnike glede aplikacije

Malcajt, pa je objava oglasov na različnih radijskih postajah. V našem primeru smo izbrali tri

najbolj znane radijske postaje in izvajali objavo oglasnega bloka v 14-dnevnem obdobju med

delavnikom v časovnem razponu od 8. do 22. ure. Na ta način je vsak uporabnik lahko slišal

besedo »Malcajt«, katero si je lahko po večkratnem objavljanju lažje zapomnil.

Naslednje raziskovalno vprašanje se je naslanjalo na oglaševanje produkta na trgu: »Kako

skrbeti za promocijo in oglaševanje mobilne aplikacije?« Oglaševanje je eden od

pomembnejših delov poslovanja in internet (splet) ima danes pred tradicionalnimi

oglaševalskimi mediji vrsto prednosti (interaktivnost medija, doseganje ciljnih skupin in hitra

odzivnost). Z nenehnim tehnološkim razvojem in nenehno dostopnostjo ponuja spletno

oglaševanje številne možnosti in priložnosti. Izrazite prednosti spletnega oglaševanja so tudi v

tem, da omogoča visoko stopnjo prilagodljivosti in nenehne dosegljivosti, posebej pomembno

pa je nagovarjanje obiskovalcev na družbenih omrežjih, ki ponuja izjemno možnost razvoja

Page 56: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

REZULTATI RAZISKAVE

42

podjetja in rast blagovne znamke (Promocija in oglaševanje, 2017). Vse od razvoja ideje do

same implementacije in lansiranja na trg smo imeli kot razvijalci v glavi, da bo aplikacija res

pritegnila veliko število uporabnikov, kakor tudi ponudnikov, vendar je realno stanje po vsem

tem času bistveno drugačno. Prva težava, ki se je pojavljala že od samega začetka, je dejstvo,

da imena Malcajt nihče ne pozna, saj je to nov produkt na trgu. Pri samem oglaševanju smo

vložili velik del finančnih sredstev predvsem za to, da pridobimo čim večji nabor uporabnikov.

Celotna promocija ter oglaševanje poteka preko socialnih medijev Facebook ter Twitter. Tu je

seveda zelo pomembno, da na neko časovno obdobje objavimo ali članek ali sliko in s tem

pritegnemo čim več uporabnikov. Na socialnem omrežju se tudi neprestano izvaja promocija

objav. Promocija objave poteka na ta način, da neko našo objavo, ki se nam zdi smiselna, s

pomočjo finančnih sredstev delimo tudi med druge uporabnike, ki načeloma niso všečkali naše

strani, je pa tudi njim ta objava vidna. Pri takšni promociji je seveda vse odvisno od števila

doseženih oseb – večje kot je število, večji nabor uporabnikov lahko pridobimo, seveda pa je

tudi iz finančnega vidika promocija dražja oziroma se ta zaključi, ko dosežemo finančni limit

za določeno objavo. Na sliki spodaj vidimo primer promocije za nagradno igro, kjer smo

podarili majice.

Slika 4.13: Primer promocije na Facebook socialnem omrežju

Iz zgornje promocije je razvidno, da smo v 11 dneh porabili za promocijo objave 20,64 €.

Proračun za omenjeno promocijo, je bil 25 €. Ko se ta sredstva porabijo, se seveda promocija

samodejno ustavi. Doseg objave je bil 12.717, kar pomeni, da je objavo na Facebooku videlo

toliko oseb bodisi med reklamnimi bloki bodisi med deljenjem med drugimi uporabniki. Na

objavi je bilo izvedenih 251 delitev med drugimi osebami ter 238 reakcij oziroma všečkov, saj

Page 57: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

REZULTATI RAZISKAVE

43

je bil to tudi cilj igre pri žrebanju nagrajencev.

Poleg promocije na socialnem omrežju Facebook se izvaja tudi oglaševanje preko spletne

aplikacije Google AdWords. Google AdWords je Googlova spletna aplikacija za oglaševanje

in promocijo produktov ter spletnih strani. Cilj takšnega načina oglaševanja je izpostaviti želeno

storitev na prvo mesto in s tem prehiteti konkurenco. S tem načinom oglaševanja pridobimo

dodatno število obiskovalcev, doseg objav lahko omejimo glede na čas, glede na kraj, glede na

tip uporabnikov, glede na starostno skupino itd. Oglase sestavljamo čisto samostojno po svojih

željah in zahtevah. Politika njihovega oglaševanja je predvsem takšna, da plačamo samo

dosežene rezultate. Torej se vedno plača samo klik na posamezni oglas. Za določeno

oglaševalsko kampanjo se določi preračun. Ko se ta prekorači, se oglaševanje začasno ustavi

(Get your ad on Google today, 2017). Za produkt Malcajt se izvaja oglaševanje v spletnem

iskalniku Google, kakor tudi v mobilni trgovini Google Play. Spodaj je prikazan primer

oglaševanja aplikacije Malcajt v spletnem iskalniku Google.

Slika 4.14: Primer zadetkov iskanja v Google iskalniku

Zgoraj je izpisan primer oglasa v Google spletnem, kakor tudi mobilnem iskalniku. Za besedo

»malice in kosila« smo izdelali oglaševalsko akcijo »Malice in Kosila v Ljubljani – Preveri

Kam Jesti V Ljubljani – malcajt.com«. Ta oglaševalska akcija ima seveda tudi nabor drugih

ključnih besed, kot so: malice, kosila, kosilo, kaj skuhati, meni za kosilo itd. Glede na to, da v

času, ko se je izvajala ta oglaševalska akcija, še ni bilo izdelane spletne aplikacije za

predstavitev ponudnikov, je bil posledično manjši tudi strošek oglaševanja. Če pogledamo

Page 58: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

REZULTATI RAZISKAVE

44

primer za obdobje od 1. 3. 2017 do 1. 4. 2017, je bilo prikazov za te ključne besede 8645, od

tega je bilo 297 klikov, kar je zneslo okoli 3,44 %, kar pomeni, da je od števila prikazov 3 %

uporabnikov tudi kliknilo neposredno na oglas. Za to oglaševalsko akcijo smo v mesecu dni

zapravili 42,59 €. Takšna oglaševalska akcija je sicer bolj primerna za promoviranje spletne

aplikacije. Za namene promoviranja mobilne aplikacije pa smo izdelali posebno oglaševalsko

akcijo. Ta se pojavlja na posameznih spletnih straneh kot oglasni blok in tudi v sami mobilni

trgovini Google Play. Akcija beleži število prenosov znotraj mobilne trgovine Google Play ob

prikazanem oglasnem bloku. Enako kot pri predhodni akciji, komentiramo rezultate za obdobje

med 1. 3. 2017 in 1. 4. 2017, torej za en mesec. Dnevni proračun akcije je bil 3 €. Število

prikazov oglasnega bloka je bilo 174.551, od tega je bilo zabeleženih 868 klikov. Od 868

izvedenih klikov je 18,20 % uporabnikov aplikacijo namestilo, kar znaša 158 konverzij. Cena

posamezne konverzije oziroma v tem primeru cena namestitve znaša 0,25 €, kar je skupno 39,23

€ za mesečno obdobje med marcem in aprilom. Vse promocije, ki so se izvajale in se še izvajajo,

so imele oziroma imajo dokaj dober rezultat glede na ceno. To velja tako za promocije na

Facebook omrežju, kjer se lahko zelo dobro promovira določeno objavo in s tem doseže veliko

število uporabnikov za relativno ugodno ceno, kot za oglaševanje preko Google AdWords

spletne aplikacije, kjer se promovira tako spletno aplikacijo, kakor tudi mobilno aplikacijo.

Dnevno posodabljanje ponudb gostinskega ponudnika igra pomembno vlogo pri uporabnosti te

aplikacije. Če se uporabnik navadi dnevno pregledovati ponudbe gostinca in ta ni objavljena,

je lahko to za gostinca zelo velika napaka. Vprašanje, ki smo si ga zastavili, je: »Kako

gostinskega ponudnika pripraviti, da bo skrbel za aktualno ponudbo in s tem pridobil še večje

število uporabnikov na svojo stran?« Vsak ponudnik, ki je bil vnesen v naš sistem, je ob

lansiranju aplikacije na trg pridobil tudi uporabniško ime ter geslo, s katerim se je nato lahko

prijavil v sistem. Skupno je bilo poslanih 1860 dopisov z oglasnim letakom ter nalepko za vrata.

Od 1860 ponudnikov se je prijavilo 234 ponudnikov, kar je malo več kot 10 %. Glede na

posredovane dopise je število prijav vsekakor znak, da pri ponudnikih objavljanje ponudbe na

spletu ne igra tako velike vloge. Prvotna težava je seveda neprepoznavnost celotnega produkta

in nezaupanje ponudnika v produkt, ki še ni vsem dobro poznan. Vsak ponudnik ima 3-mesečno

preizkusno obdobje, v katerem lahko aplikacijo v celoti preizkusi in testira, po preizkusnem

obdobju pa dobi določene omejitve, ki so dosegljive le za ponudnike velikega paketa oziroma

za ponudnike, ki so plačali letno naročnino. Od vseh ponudnikov, ki so se prijavili v sistem, je

približno 60 ponudnikov takšnih, ki samostojno skrbijo za objavljanje ponudb, kar pomeni, da

se vsakodnevno ali tedensko prijavijo v sistem ter vnesejo malice/kosila ter ostalo, kar nudijo

Page 59: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

REZULTATI RAZISKAVE

45

v ponudbi. Ni enostavno pripraviti ponudnika, da sam vnaša podatke. Razlogi so naslednji:

ponudnik je nevešč uporabe takšnih in drugačnih računalniških tehnologij;

prevelik strošek za nov produkt na trgu, ki še nima velikega nabora uporabnikov;

ponudbo dnevno objavlja na svoji spletni strani ali na socialnih omrežjih ali pa že

uporablja kakšno podobno rešitev.

Za vse te razloge smo poiskali smiselne rešitve, da bi tako olajšali vnos ponudbe ponudniku ter

poskrbeli za objavljanje ponudbe. V primeru, ko se zgodi, da imamo na drugi strani neveščega

ponudnika, mu lahko ponudimo za določen znesek vnos ponudbe. Tako nas ponudnik lahko

pokliče ali kontaktira na kakršen koli drug način ter sporoči svojo ponudbo, katero mu bomo

objavili mi v aplikacijo Malcajt. Če ponudnik že samostojno vnaša vsebino v obstoječ sistem

ali na socialno omrežje, mu lahko v takšnem primeru ponudimo objavo ponudbe v aplikaciji

Malcajt, katera pa bo lahko vidna na več mestih hkrati z samo enim vnosom. V primeru, da je

ponudba vnesena v Malcajt, je sinhronizirana tako v mobilni, kakor tudi v spletni aplikaciji.

Ponudnik lahko tudi z določeno kodo, ki jo pridobi v spletni aplikaciji, prikaže objavo na svoji

spletni strani, lahko pa tudi samo z enim klikom ponudbo objavi na Facebook zidu lastnega

profila ali pa predstavitvene strani. Tako lahko z enim vnosom objavi svojo ponudbo na štirih

različnih koncih. Ko ponudnik uporabi kodo na svojo spletni strani, je tudi na nek način

primoran nadaljevati z vnosom ponudbe, sicer ima izpis Malcajt na spletni strani prazen, kar pa

lahko uporabnika odvrne od dnevnega pregledovanja. Vsak ponudnik ima tudi možnost

pridobiti oglasno gradivo, s katerim promovira sebe, kakor tudi aplikacijo Malcajt. Spodnja

slika prikazuje primer promocijskega materiala za ponudnika v njegovem lokalu.

Slika 4.15: Promocijski material za ponudnika

Page 60: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

REZULTATI RAZISKAVE

46

Pri izbiri pravilnega orodja za razvoj mobilnih aplikacij smo si pomagali z raziskovalni

vprašanjem: »Katera razvojna orodja uporabit za razvoj mobilne aplikacije?« Razvoj

mobilnih aplikacij je v vedno večjem porastu. Na trgu se išče predvsem aplikacije, ki so

uporabne tako uporabnikom, kakor tudi razvijalcu in imajo neko dodano vrednost. Izbira

razvojnega orodja je predvsem odvisna od specifike posamezne aplikacije. Za aplikacijo, ki

potrebuje dostop do strojne opreme telefona in za delovanje uporablja specifične UI elemente,

je najbolj smiselna rešitev razvoja »native« mobilne aplikacije. Pri tem moramo vzeti v zakup,

da je razvoj takšne aplikacije iz vidika financ in časa bistveno bolj potraten. Razvoj takšne

aplikacije se že v osnovi podvoji glede na druga razvojna okolja, saj tu razvoj poteka za vsak

operacijski sistem posebej. Sicer dandanes obstajajo rešitve, ki se imenujejo »Crossplatform

development«, katere omogočajo razvoj aplikacije na enem mestu za več operacijskih sistemov.

Primer je recimo razvoj mobilne aplikacije s pomočjo orodja »Xamarin« ali »React Native«.

Xamarin orodje temelji na razvoju »Crossplatform« aplikacij, ki se razvijajo v C# programskem

jeziku, medtem ko je React Native bližje razvoju spletnih aplikacij, ki temeljijo na JavaScript

skriptnem jeziku. Na drugi strani imamo rešitev hibridnih aplikacij, ki se tudi razvijajo kot

spletne strani s pomočjo jezikov HTML, CSS ter JavaScript, vendar aplikacija v tem primeru

ne dostopa neposredno do »native« API-jev, temveč deluje preko vmesnika WebView. Iz

časovnega in finančnega vidika je razvoj takih aplikacij najbolj smiseln v primeru, če ima

razvijalec že obstoječe znanje iz spletnih aplikacij ter spletnih strani. V našem primeru smo se

odločili za razvoj hibridne mobilne aplikacije, saj smo tako izhajali iz znanja, ki smo ga že imeli

pri izdelavi spletnih strani. Kljub temu pa bi se danes v primeru ponovnega razvoja odločili za

razvoj mobilne spletne strani. Glede na to, da naša aplikacija dostopa samo do uporabnikove

trenutne lokacije s pomočjo GPS koordinat, ki jo načeloma lahko pridobimo že tudi z uporabo

brskalnika, je kakršno koli drugo razvojno okolje nesmiselno. Takšna aplikacija ni nič drugega

kot spletna stran, ki je prilagojena mobilnim napravam. Prednosti razvoja mobilne spletne strani

so predvsem:

hitra in finančno ugodna rešitev;

ne potrebujemo dodatnega znanja;

lažje vzdrževanje;

ni potrebnih posodobitev na mobilnih trgovinah;

prilagodljivost večini mobilnih naprav na vseh operacijskih sistemih.

Velika prednost je tako predvsem lažje vzdrževanje – kar pomeni, da popravimo na enem mestu

Page 61: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

REZULTATI RAZISKAVE

47

in je vidno povsod brez dodatnega posodabljanja na posameznih mobilnih trgovinah. Ker takšna

mobilna aplikacija deluje po enakem načelu kot spletna stran, je dejansko dosegljiva preko

določenega spletnega naslova in je lahko vidna tako na mobilnih napravah, kakor tudi na

računalniku. Ob kakršni koli spremembi je sprememba vidna prav povsod – tako na pametnih

telefonih kot aplikacija, kakor na spletni strani. Dodatna prednost takšnega razvoja je tudi

prilagodljivost večini mobilnih naprav. Pri mobilnih aplikacijah se nenehno srečujemo s

težavami podpore po posameznih napravah, pri tem primeru razvoja pa se takšnim težavam

zlahka izognemo. Dodatna prednost pa je tudi ta, da lahko na enem mestu podpremo večino

operacijskih sistemov, medtem ko to zelo težko dosežemo tako pri hibridnem, kakor tudi pri

»native« razvoju.

Naše zadnje raziskovalno vprašanje se je nanašalo predvsem na pridobivanje novih

uporabnikov pri objavi spletne aplikacije, ki je po funkcionalnosti enaka mobilni aplikaciji:

»Ali spletna aplikacija pripomore k pridobivanju dodatnih uporabnikov?« Pred objavo

aplikacije na trgu smo se v največji meri orientirali na razvoj mobilne aplikacije in na stranski

tir postavljali spletno aplikacijo, ki bi imela identične funkcionalnosti. Glavna funkcija mobilne

aplikacije je imenik gostinskih ponudnikov v Sloveniji s podrobnimi opisom ponudnika, kakor

tudi njegove ponudbe. Mobilna aplikacija je prisotna na trgu od decembra 2016. V tem obdobju

je sledilo še nekaj manjših popravkov brez večjih sprememb. Statistiko obiska v mobilni

aplikaciji spremljamo preko dveh različnih programskih orodij za merjenje in analizo. Prva

aplikacija je Google Analytics – spletna, kakor tudi mobilna aplikacija za merjenje in analizo

obiskanosti. Je orodje, s katerim lahko izvedemo kakovostno analizo obiskanosti tako naše

spletne strani, kakor tudi mobilne aplikacije. Orodje s pomočjo algoritmov natančno podaja

podatke, kot so: kako je uporabnik prišel na neko mesto, koliko časa se je tam zadrževal, katere

naprave pri tem uporablja in ostale podrobnosti, ki nam lahko ponudijo izboljšanje obstoječega

stanja obiskanosti. S pomočjo orodja lahko tudi lažje spremljamo, ali določene spremembe

pozitivno vplivajo na sam obisk ter ali je potrebna kakšna dodatna izboljšava, da bo rezultat

boljši. Še ena od zelo velikih prednosti pa je tudi »Real-time« statistika, ki beleži trenutno stanje

obiska ter podaja podrobno analizo, kdo vse se nahaja trenutno v naši aplikaciji ali spletni strani

ter kaj trenutno izvaja sam uporabnik (Analytics - overview, 2017).

Druga aplikacija za merjenje obiskanosti se imenuje AWStats. To je brezplačna aplikacija, ki

je nameščena na našem strežniku in na podlagi naših Apache log zapisov izpiše statistiko z

podrobnimi podatki in grafi. Ta lahko na podlagi log datotek generira izpis celotne statistike za

različne tipe strežnikov. Primerna je tako za e-poštne, FTP ter Web strežnike. Možna je uporaba

Page 62: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

REZULTATI RAZISKAVE

48

v dveh oblikah, in sicer preko spletnega naslova kot spletna aplikacija ali preko terminala kot

samostojni skript (What is AWStats, 2017).

S pomočjo omenjenih aplikacij smo spremljali celotni promet v naši mobilni aplikaciji. Google

Analytics je sicer začel z beleženjem mesec dni kasneje, tako da lahko sklepamo, da določeni

redni uporabniki niso posodobili aplikacije na zadnjo verzijo, zato so možna tudi odstopanja

obiskanosti glede na podatke, ki nam jih ponuja AWStats. V nadaljevanju bomo predstavljali

zgolj rezultate statistike iz spletne aplikacije Google Analytics, saj sklepamo, da je ta bolj

natančna in nam hkrati podaja bolj podrobne ter nazorne rezultate. Spodnja slika nam prikazuje

statistiko obiska v aplikaciji Google Analytics za obdobje zadnjih dveh mesecev od 1. 2. 2017

do 1. 4. 2017.

Slika 4.16: Prikaz obiskanosti mobilne aplikacije

Kot je razvidno iz statistike Google Analytics smo imeli v tem obdobju skupno 6882 unikatnih

obiskov, kar pomeni unikatno število uporabnikov glede na njihovo napravo. Skupno imamo

25.601 sejo oziroma uporabnike, ki se vračajo vsakodnevno tudi nazaj, kar pomeni, da odprejo

aplikacijo, pregledajo ponudbo, pregledajo tudi kakšno posamezno gostilno itd. Skupno število

ogledov z vsemi ponudniki je bilo 68.034, povprečen čas uporabe aplikacije pa je znašal 2:06.

V tem časovnem obdobju je bilo 21,50 % novih uporabnikov, ki so si aplikacijo namestili in jo

začeli uporabljati, medtem ko je 69,50 % starih uporabnikov, ki se vsakodnevno vračajo. Glede

na statistiko tudi vidimo potek obiskanosti po dnevih. Kot smo že tudi sami pričakovali, je

padec obiska iz povprečnih 400 na povprečnih 200 ob sobotah in nedeljah. Prav tako so vidni

padci obiska ob praznikih, torej lahko sklepamo, da so padci ob nedelovnih dneh dejansko na

mestu. Ob teh dneh je seveda večina ponudnikov zaprtih ali pa ni poskrbljeno za objavo

ponudbe. Na podlagi statistike sicer težko sklepamo, kateri dnevi so bolj obiskani in kateri

manj. Načeloma je začetek tedna kar prevladujoč glede obiskanosti, saj se takrat največ ljudi

Page 63: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

REZULTATI RAZISKAVE

49

vrne vsakodnevno v službo, so pa tudi tedni, kjer je obiskanost ob sredah v porastu. V tem

časovnem obdobju je tako Google Analytics zabeležil najmanj obiska v soboto 19. 3. 2017, in

sicer točno 200 obiskovalcev. Največ obiska pa je bilo zabeleženega v istem tednu, in sicer v

sredo 15. 3. 2017, ko je znašal 419 obiskovalcev. V statistiki beležimo tudi obiskanost

posameznih ponudnikov, vendar teh zaradi poslovnih skrivnosti ne bomo razkrili. Na podlagi

statistike o obisku posameznih ponudnikov pa lahko pridemo do sklepa, da ponudnik, ki skrbi

za dnevno ponudbo in promovira tako sebe kot aplikacijo Malcajt, z gotovostjo prevlada po

številu obiska glede na ostale. Seveda število ogledov posameznega ponudnika še ne pomeni,

da ta beleži tudi največ prometa, ampak je to lahko le sklep glede na podane rezultate. Če se

dotaknemo še tipa operacijskega sistema, je aplikacija namenjena dvema operacijskima

sistemoma, in sicer iOS ter Android. Glede na število namestitev lahko tudi po statistiki vidimo,

da je obiskanost iz operacijskega sistema Android bistveno višja. Približno 80 % obiska po

statistiki je zabeleženega iz Android operacijskega sistema, kar potrjuje že samo dejstvo glede

števila namestitev.

Razvoj spletne aplikacije je potekal na podoben način kot razvoj mobilne aplikacije. Njen cilj

je prikazati gostinske ponudnike tudi na spletu. Že od samega začetka je bila velika težava, ker

se gostinec ni prepoznal v mobilni aplikaciji. Od desetih gostincev sta si največ dva ogledala,

kako je videti njihova gostilna v aplikaciji, kar pomeni, da jih takšna predstavitev ni dovolj

pritegnila. Z uvedbo predstavitvene spletne aplikacije vsak gostinec pridobi URL naslov, preko

katerega je dosegljiv neposredno preko spleta, kar pomeni, da je izpostavljen celotnem spletu

in ga tako vsi iskalniki zlahka najdejo. Predstavitev ponudnikov, kakor tudi posameznega

ponudnika, je identična kot v mobilni aplikaciji, s tem da je prilagojena predvsem nekim

zahtevam, katerih se držimo pri spletnih straneh. Z začetkom aprila smo javnosti predstavili

spletno aplikacijo za predstavitev ponudnikov. Kot je bilo že omenjeno pri mobilni aplikaciji,

se je do sedaj povprečje gibalo med 300 do 350 uporabniki na dan. Uvedba spletne aplikacije

pa nam je še povečala število uporabnikov.

Page 64: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

REZULTATI RAZISKAVE

50

Spodnja slika prikazuje statistiko obiska spletne aplikacije od 1. 2. 2017 do 20. 4. 2017.

Slika 4.17: Obiskanost spletne aplikacije

Pred uvedbo spletne aplikacije za predstavitev ponudnikov je imela sama spletna aplikacija v

povprečju okoli 80 obiskov. Prvi teden je seveda bil drastičen poskok števila ogledov zaradi

objav po socialnih medijih ter ostalih portalih in je seveda veliko število uporabnikov zanimalo,

kar smo predstavili. V tem časovnem razponu je bilo največje število uporabnikov na spletni

aplikaciji 841. Upad obiska je identičen kot na mobilni aplikaciji za vikende – takrat število

uporabnikov upade tudi za polovico. Trenutno je spletna aplikacija na trgu mesec dni in beleži

naslednje rezultate.

Slika 4.18: Statistika obiskanosti spletne aplikacije za mesec april

Page 65: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

REZULTATI RAZISKAVE

51

Kot je razvidno iz zgornje slike, je v zadnjem mesecu spletno aplikacijo obiskalo 6273 različnih

uporabnikov. Skupno beležimo 8438 uporabnikov, kateri se večkrat vrnejo nazaj. Število

obiskov se giblje med 200 in 300 na dan, vse je seveda odvisno od dneva in tudi od posamezne

ure. Kakor pri mobilni aplikaciji, je tudi pri spletni aplikaciji podobna rast obiskanosti ob

določeni uri. Največ uporabnikov si ogleduje stran med 10. in 11. uro dopoldan, ko imajo

podjetja malice, ter med 13. in 14. uro, kadar imajo podjetja čas za kosila. Spodnja slika nam

prikazuje primerjavo obiskanosti spletne strani pred in po uvedbi predstavitvene spletne

aplikacije za ponudnike.

Slika 4.19: Obisk spletne strani pred in po izdelavi predstavitvene spletne aplikacije

Vidna je porast števila uporabnikov z uvedbo predstavitvene spletne aplikacije, saj se je na

dnevni ravni število uporabnikov povečala za 135 %, na mesečni ravni pa je to zneslo 388 %.

Predhodne so spletno aplikacijo uporabljali v večini samo ponudniki za vnos njihove ponudbe,

z uvedbo spletne aplikacije za predstavitev ponudnikov pa so tako prišli tudi dodatni

uporabniki, kateri spremljajo gostinske ponudnike neposredno preko spleta.

Glede na trenutno število uporabnikov v mobilni aplikaciji je obisk v spletni aplikaciji seveda

samo plus. Vsak dodaten uporabnik, ki obišče spletno aplikacijo, ima enak namen – na podlagi

katere je prišel obisk, pa niti ni pomembno. Rast uporabnikov je bila seveda pričakovana, saj

večina uporabnikov, ki vsakodnevno opravlja delo za računalnikom, ne posega po mobilnih

napravah in posledično tudi ne odpira aplikacije, kar posledično pomeni manjši obisk. Z uvedbo

spletne predstavitvene aplikacije smo tako dosegli dodaten obisk in dodatne uporabnike.

Ponudnikom, kakor tudi uporabnikom, smo na ta način še bolj poenoteno predstavili

posamezno gostilno, vso njihovo ponudbo, predvsem pa omogočili še enostavnejše deljenje

ponudnikov preko spleta.

Page 66: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

52

5 ZAKLJUČEK

Razvoj spletnih, kakor tudi mobilnih aplikacij, je v vedno večjem porastu. V času, ko smo vsi

tako rekoč priključeni na internet, želimo do nekih rezultatov priti po najhitrejši možni poti in

to je seveda preko mobilnih naprav, kot sta tablica ali pametni telefon. Aplikacija Malcajt nam

je na nek način odprla pot na trgu in omogočila nudenje dodatnih storitev tako ponudniku na

eni strani kot uporabnikom na drugi strani. Z razvojem mobilne aplikacije smo želeli

uporabnikom predstaviti imenik gostinskih ponudnikov na enem mestu in s tem omogočiti čim

enostavnejši dostop do osnovnih informacij, kakor tudi do ponudbe, ki jo gostinec ponuja na

dnevni/tedenski ali pa tudi na mesečni ravni. Potek razvoja smo razdelili na nekaj smiselnih

korakov in pri tem sledili dejanskim trendom, ki se uporabljajo pri razvoju večjih produktov.

Na prvem mestu je seveda razvoj dobre ideje in pa točno določen cilj, ki ga želimo doseči s

produktom, nato sledi analiza trenutnega trga, pregled primerljivih produktov in definiranje,

kaj bi lahko na tej točki izboljšali. Tej fazi sledi faza razvoja, integracija, testiranje in na koncu

še analiza, ali smo dosegli želeni rezultat.

Tekom razvoja produkta smo si pomagali tudi z raziskovalnimi vprašanji, da bi lažje določili

smernice in se pravilneje odločiti, kako nadaljevati pri posameznih segmentih. Prvo

raziskovalno vprašanje se je glasilo: »Kako pridobiti čim večji nabor uporabnikov?« S prvotno

objavo mobilne aplikacije še nismo imeli točno določenih smernic na kakšen način bi lahko

pridobili čim večje število uporabnikov. Po daljšem časovnem obdobju je bilo ugotovljeno

predvsem to, da je pomembno na nek način širiti glas, da uporabniki dejansko zaznajo produkt

na trgu. Skozi celotno obdobje se trudimo uporabnike pridobivat s pomočjo socialnih medijev,

kot so Facebook, Twitter, Instagram. Na ta način promoviramo aplikacijo in uporabnikom

neprestano ponujamo rešitev, ki jim bo omogočala lažji dostop do imenika ponudnikov.

Uporabnike smo tako pridobivali preko spleta, kakor tudi preko radijskih medijev z objavo na

radijskih postajah v Sloveniji. Naslednje vprašanje se je nanašalo predvsem na promocijo in

oglaševanje aplikacije. Vprašanje je bilo naslednje: »Kako skrbeti za promocijo in oglaševanje

mobilne aplikacije?« Mobilno, kakor tudi spletno aplikacijo neprestano oglašujemo preko

Google Adwords sistema, ki je namenjen predvsem pridobivanju uporabnikov in dodatnim

oglaševalskim kampanjam. Sama promocija prav tako poteka na socialnem mediju Facebook.

Za boljšo promocijo pa smo izvedli tudi nagradno igro, kjer smo podeljevali brezplačna darila.

Kakor je težko pridobiti novega uporabnika, je tudi težko prepričati ponudnika za vnos in

Page 67: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

ZAKLJUČEK

53

urejanje njegove ponudbe. Ponudnike želimo prepričati za vnos ponudbe v aplikacijo Malcajt

in jim s tem omogočiti dodaten medij, s katerim se lahko promovirajo. Sistem objave ponudbe

ima v ta namen tudi možnost objave ponudbe na enem mestu, katera je vidna na štirih različnih

lokacijah in s tem ponudnikom prihrani veliko časa. Ponudnik lahko tako objavo deli na

socialnem mediju Facebook, na svoji spletni strani, če integrira dodatno kodo, in pa v mobilni

ter spletni aplikaciji Malcajt. Je pa seveda eden izmed pomembnih faktorjev, da uporabniki

samostojno oskrbujejo svoje ponudbe. Pri naslednjem raziskovalnem vprašanju smo se

dotaknili razvojnega orodja, ki bi bilo primerno. Za razvoj mobilne aplikacije smo izbrali

hibridno mobilno aplikacijo na ogrodju Ionic. Vsako razvojno orodje ima določene prednosti

oziroma pomanjkljivosti. Če bi se danes odločali za ponoven razvoj, bi se odločili za razvoj

mobilne aplikacije v obliki mobilne spletne strani. Prednost takega razvoja je predvsem

enostavnejše upravljanje s posodobitvami, izvajanje popravkov na enem mestu in predvsem

enostavnejši nadzor nad vsemi ostalimi operacijskimi sistemi, za katere nudimo mobilno

aplikacijo. Naše zadnje raziskovalno vprašanje se je glasilo: »Ali spletna aplikacija pripomore

k pridobivanju dodatnih uporabnikov?« Aplikacija Malcajt je bila v prvotni obliki zgolj kot

mobilna aplikacija. Njena težava je bila, da ponudnik ni poiskal sebe in pregledal svojih

podatkov, poleg tega pa so bili vsi ponudniki dosegljivi zgolj v mobilni aplikaciji. Z razvojem

spletne predstavitvene aplikacije smo tako vsem spletnim iskalnikom omogočili dodatno

iskanje in prikaz ponudnikov tudi preko spleta. S tem smo seveda pridobili dodatno število

uporabnikov ter zajeli predvsem tiste, ki niso imeli želje uporabljati mobilne aplikacije, kakor

tudi ponudnike, ki so se lahko našli preko spleta in tako lažje promovirali samega sebe.

Tekom razvoja celotnega produkta smo usvojili veliko novega znanja, predvsem iz vidika

razvoja mobilnih aplikacij, saj smo posegli na čisto nov trg. Po drugi strani smo usvojili potek

celotnega razvoja ter vseh njegovih faz. Ugotovili smo tudi, kakšen je najboljši način za

promocijo produkta, ko ga postavimo na trg, in kako pridobiti čim večji delež uporabnikov, kar

pa je seveda najbolj pomemben cilj razvoja takšnega produkta.

Page 68: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm
Page 69: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

55

6 LITERATURA IN VIRI

Agrimbau, T. (2016). Toptal. Developing Mobile Web Apps: When, Why, and How.

Pridobljeno iz https://www.toptal.com/android/developing-mobile-web-apps-when-

why-and-how (9. 4. 2017).

Analytics - overview (2017). Google Analytics Solutions. Pridobljeno iz https://www.google.

com/analytics/analytics/#?modal_active=none (2. 6. 2017).

Arnes (2017). Arnes - povezujemo znanje. Pridobljeno iz https://www.arnes.si/storitve/

omrezne-storitve/ip-povezljivost/ipv6/.

Bootstrap. (2017). Getting started. Bootstrap. Pridobljeno iz http://getbootstrap.com/ (22. 4.

2017).

Cordova, A. (2017). Overview. Apache Cordova. Pridobljeno iz https://cordova.apache.org/

docs/en/latest/guide/overview/ (31. 5. 2017).

Čater, D. (2016). Spletna aplikacija za upravljanje elektronskih knjig (diplomsko delo).

Pridobljeno iz https://dk.um.si/Dokument.php?id=107016 (14. 4. 2017).

Deering, S. (2017). Do you know what a REST API is? SitePoint. Pridobljeno iz

https://www.sitepoint.com/developers-rest-api/ (18. 3. 2017).

Dolinar, J. (2016). Razvoj komunikacijskega prehoda s podporo modernih protokolov za

sistem SCADA (magistrsko delo). Pridobljeno iz https://dk.um.si/Dokument.php?id=

93722 (12. 4. 2017).

Facebook (2017). TechTarget - WhatIs.com. Pridobljeno iz http://whatis.techtarget.com/

definition/Facebook (3. 5. 2017).

Google (2017). Get your ad on Google today. Pridobljeno iz https://adwords.google.com/

home/#?modal_active=none (1. 5. 2017).

Golobič, B. (2016). Razvoj spletnega portala za študente (diplomsko delo). Pridobljeno iz

http://eprints.fri.uni-lj.si/3452/1/63120207-BOGDAN_GOLOBI%C4%8C-

Razvoj_spletnega_portala_za_%C5%A1tudente.pdf (14. 3. 2017).

Google (2017). Access Google APIs more easily. Google API Client Libaries. Pridobljeno iz

https://developers.google.com/api-client-library/ (1. 5. 2017).

Google (2017). Chrome DevTools. Pridobljeno iz https://developers.google.com/web/tools/

chrome-devtools/ (1. 5. 2017).

Page 70: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm
Page 71: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

LITERATURA IN VIRI

57

Hölbl, M. (2011). SSL in afera Diginotar. Monitor. Pridobljeno iz http://www.monitor.si/

clanek/ssl-in-afera-diginotar/124865/?xURL=301 (16. 5. 2017).

Hribar, U. (2009). Razvoj mobilnih tehnologij. Pridobljeno iz http://uploadi.www.ris.org/

editor/1259623431Hribar%20Uros%20-%20Razvoj%20mobilnih%20tehnologij.pdf

(21. 4. 2017).

Ionic (2017). The top open source framework for building amazing mobile apps. Pridobljeno

iz https://ionicframework.com/ (18. 4. 2017).

Kamin, T. (2016). Razvoj programskih rešitev v oblaku za mirko podjetja (diplomsko delo).

Pridobljeno iz https://dk.um.si/Dokument.php?id=97601 (27. 3. 2017).

Kuryliak, O. (2015). Tech in Asia. 3 reasons why hybrid mobile apps are the best. Pridobljeno

iz https://www.techinasia.com/talk/3-reasons-hybrid-mobile-apps (14. 5. 2017).

Lipuš, M. (2011). Realno-časovno spletne aplikacije (diplomsko delo). Pridobljeno iz

https://dk.um.si/Dokument.php?id=21298 (18. 4. 2017).

Loader (2017). Simple Cloud-based LOAD TESTING. Pridobljeno iz https://loader.io/ (12. 4.

2017).

Mitrović, M. (2016). Izdelava spletne aplikacije za nadzor radijskega omrežja (diplomsko

delo). Pridobljeno iz https://dk.um.si/Dokument.php?id=103961 (7. 4. 2017).

Mobilne tehnologije (2017). Infotronika. Pridobljeno iz http://infotronika.org/mobilne-

tehnologije (18. 5. 2017).

MobiLoud. (2017). Native, Web or Hybrid Apps? What's the difference? Pridobljeno iz

https://www.mobiloud.com/blog/native-web-or-hybrid-apps/ (14. 5. 2017).

MonsterTUT. (2017). So... You wanna learn web design? Pridobljeno iz http://monstertut.

com/ (28. 4. 2017).

Mrgole, M. (2013). Ogrodje za optimizacijo indeksov v MySQL bazah podatkov (dipomsko

delo). Pridobljeno iz http://lie.fe.uni-lj.si/diplome/PDF/2013/Diploma_

MatjazMrgole.pdf (21. 4. 2017).

Neoserv. (2017). SSL CERTIFIKATI. Za večjo varnost. Pridobljeno iz https://www.neoserv.

si/ssl-certifikati#faq-4 (21. 5. 2017).

Petek, A. (2017). Programska rešitev za vadbo na delovnem mestu (diplomsko delo).

Pridobljeno iz https://dk.um.si/Dokument.php?id=97862 (14. 4. 2017).

PHPStorm (2017). Lightning-smart PHP IDE. JET BRAINS - PHPStorm. Pridobljeno iz

https://www.jetbrains.com/phpstorm/ (11. 5. 2017).

Page 72: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm
Page 73: MAGISTRSKA N A L O G A - Milovan Tomaševićdk.fis.unm.si/mag/MAG_2017_Peter_Zupancic.pdfpredstavljajo Android, iOS ter Windows Phone, med drugimi pa poznamo še Symbian, Bada, Palm

LITERATURA IN VIRI

59

Pomagalnik (2012). Kaj so SASS, LESS in Stylus? Pridobljeno iz https://www.pomagalnik.

com/izobrazevanje/slovar/kaj-so-sass-less-in-stylus/ (1. 5. 2017).

Promocija in oglaševanje (2017). Promotour - agencija za promocijo turizma. Pridobljeno iz

https://promotour.si/promocija-in-oglasevanje/ (22. 4. 2017).

Rakovič, A. (2016). Razvoj informacijskega sistema za vodenje projektov in opravljenih

delovnih ur na platformi Node.js (diplomsko delo). Pridobljeno iz https://dk.um.si/

Dokument.php?id=101760 (21. 3. 2017).

Rožanc, I. (2008). Agilne metodologije razvoja programske opreme. Ljubljana, Slovenija.

Pridobljeno iz http://studentski.net/gradivo/ulj_fri_ri3_tpo_sno_predavanja_05?r=1

(22. 4. 2017).

Safe (2017). Mobilna naprava. Točka osveščanja o varni rabi interneta in mobilnih naprav za

otroke, najstnike, starše in učitelje. Pridobljeno iz https://safe.si/pojmi/mobilna-

naprava (23. 5. 2017).

Shout Me Loud (2015). Top 10 Mobile Phones Operating Systems. Pridobljeno iz

https://www.shoutmeloud.com/top-mobile-os-overview.html (12. 4. 2017).

Twitter (2017). Help center. Pridobljeno iz https://support.twitter.com/articles/215585 (18. 4.

2017).

What is AWStats (2017). AWStats official web site. Pridobljeno iz http://www.awstats.org/

(16. 4. 2017).

Zupančič, M. (2014). Vse o operacijskem sistemu Windows Phone. Pridobljeno iz

http://www.mobile.si/articles/operacijski-sistem-windows-phone.html (12. 3. 2017).

Žlebič, J. (2016). Razvoj aplikacije za spremljanje zdravega načina življenja (diplomsko

delo). Pridobljeno iz https://dk.um.si/Dokument.php?id=102411 (11. 4. 2017).