sveučilište j.j. strossmayera u osijeku odjel za matematiku...

14
Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku Sveučilišni diplomski studij matematike, smjer: Matematika i računarstvo Danilo Šormaz Razvoj mobilnih aplikacija Seminarski rad Kolegij : Softversko inženjerstvo Nositelj kolegija : doc. dr. sc. Alfonzo Baumgartner Osijek, 2018

Upload: others

Post on 22-Jan-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku ...mrkve.etfos.hr/pred/ozm/si/sem22.pdfZa razvoj aplikacije je potrebno ili više ljudi koji će moći pokriti razne jezike,

Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku

Sveučilišni diplomski studij matematike, smjer: Matematika i računarstvo

Danilo Šormaz Razvoj mobilnih aplikacija

Seminarski rad

Kolegij : Softversko inženjerstvo

Nositelj kolegija : doc. dr. sc. Alfonzo Baumgartner

Osijek, 2018

Page 2: Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku ...mrkve.etfos.hr/pred/ozm/si/sem22.pdfZa razvoj aplikacije je potrebno ili više ljudi koji će moći pokriti razne jezike,

2

Sadržaj 1. Uvod ............................................................................................................................................... 3

2. Nativni vs Hibridni razvoj aplikacija ................................................................................................ 3

3. Platforme mobilnih aplikacija ........................................................................................................ 7

3.1. Android ................................................................................................................................... 7

3.1.1. Razvoj Android mobilnih aplikacija ..................................................................................... 9

3.2. iOS ........................................................................................................................................ 10

3.2.1. Razvoj iOS aplikacija ......................................................................................................... 11

3.3. Windows Phone.................................................................................................................... 12

3.3.1. Razvoj Windows Phone aplikacija ..................................................................................... 12

4. Zaključak ....................................................................................................................................... 13

5. Literatura ...................................................................................................................................... 14

Page 3: Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku ...mrkve.etfos.hr/pred/ozm/si/sem22.pdfZa razvoj aplikacije je potrebno ili više ljudi koji će moći pokriti razne jezike,

3

1. Uvod

U ovom seminaru će biti obrađena tema razvoja mobilnih aplikacija, grane softvera koja se

najbrže razvija. U prvom dijelu ćemo izvršiti podjelu razvoja aplikacija na nativni i hibridni razvoj.

Navest ćemo prednosti i mane razvoja aplikacije na jedan odnosno drugi način. Usporedit ćemo ta

dva razvoja, navesti primjere nativnih i hibridnih aplikacija, te primjere frameworka za hibridni razvoj.

U nastavku ćemo opisati tri najpopularnije mobilne platforme te njihove razvojne okoline.

2. Nativni vs Hibridni razvoj aplikacija

Nativna aplikacija je softverski proizvod razvijen za točno određenu platformu ili uređaj. To je

zapravo najčešći oblik mobilnih aplikacija. Instalira se izravno na uređaj najčešće putem nekakvog

online marketa kao što je Google Play. Kao što i samo ime govori nativne aplikacije koriste nativne

programske jezike za svaku platformu; npr Objective - C ili Swift za iOS i Javu za Android .

Prednosti nativnog razvoja aplikacija:

User Experience - dugogodišnjem korisniku jedne platforme ta platforma je jako dobro

poznata, pa ima problema s korištenjem aplikacije koja izgleda i ponaša se prema

konvencijama druge platforme. Zato će nativne aplikacije biti intuitivnije budući da svaka

platforma ima svoj specifičan UI.

Brzina i performanse - budući je aplikacija razvijana i optimiziriana za točno određenu

platformu (bio to iOS ili Android) to će se odraziti na boljoj učinkovitosti. Uz nativni način

razvoja aplikacije sve je unaprijed uzeto u obzir poput memorije i baterije uređaja. Kôd

nativnih aplikacija radi brže, nove funkcionalnosti se lakše integriraju te je sama aplikacija

stabilnija.

Mogućnosti - kada promatramo razlog zašto su Android i iOS nativne aplikacije bolje,

trebamo uzeti u obzir činjenicu da aplikacije imaju potpun pristup kameri, bazi podataka,

geolokaciji i drugim funkcionalnostima uređaja. S hibridnim načinom razvoja postoje

ograničenja prilikom konstrukcije interface-a jer se koristi na više platformi.

Testiranje - testira se samo jedna platforma pa su testovi specifičniji, detaljniji, te je veća

mogućnost da budu uspješniji.

Internetska konekcija najčešće nije potrebna, tj. ovisi o funkcionalnosti.

Page 4: Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku ...mrkve.etfos.hr/pred/ozm/si/sem22.pdfZa razvoj aplikacije je potrebno ili više ljudi koji će moći pokriti razne jezike,

4

Mane nativnog razvoja aplikacija:

Trošak razvoja aplikacije - potrebno je zasebno razviti aplikaciju za svaki mobilni operativni

sustav, što iziskuje više vremena i novca u razvoju, a i kasnijoj nadogradnji.

Brzina razvoja aplikacije - sav kôd mora biti jedinstven za svaku platformu što će iziskivati više

vremena za razvoj.

Održavanje i evolucija - u ovisnosti o broju platformi i uređaja za koje je aplikacija rađena

toliko ćemo više errora i bugova morati popraviti.

Za razvoj aplikacije je potrebno ili više ljudi koji će moći pokriti razne jezike, ili jedan iskusniji

developer koji mora znati više jezika.

Glavna razlika između nativnih i hibridnih aplikacija dolazi iz procesa razvoja aplikacije. Hibridne

aplikacije se pišu odjednom za sve platforme, tj. kôd je jedinstven, uz neke iznimke. Zapravo hibridna

aplikacija se može opisati kao mješavina nativne aplikacije i web aplikacije. Hibridne aplikacije se

razvijaju pomoću HTML-a, CSS-a i JS-a. Developeri razvijaju jedan bazni kod na kojem se dodatno vrše

manje promjene za različite platforme. Hibridne aplikacije mogu koristiti WebView, aplikaciju koju

možemo zamisliti kao fullscreen web preglednik tj. mogu koristiti nativni wrapper. Zbog toga

možemo reći da su hibridne aplikacije aplikacije koje su razvijene web tehnologijom, a kao rezultat

daju web aplikaciju koja se pokreće kao samostalna aplikacija.

Prednosti hibridnog razvoja aplikacija:

Razvijanje aplikacije je puno jednostavnije budući se izrađuje jedna aplikacija za više

platformi.

Brže razvijanje uz nižu cijenu .

Jedinstvena logika - bez obzira na platformu logičkio dio aplikacije će se ponašati jednako.

Razvijena na web tehnologijama HTML, CSS, JS koje su mnogo jednostavnije za korištenje.

Mane hibridnog razvoja:

User Experience - postizanje dobrog korisničkog iskustva je teško jer prilikom razvijanja

interface mora zadovoljiti potrebe korisnika Androida i iOS-a. Ukoliko aplikacija bude više

izlazila u susret korisnicima Androida, tada će korisnici iOS-a osjetiti poteškoće prilikom

uporabe aplikacije (i obratno).

Performanse - nedovoljno brzo renderiranje interface-a i trzanje efekata animacije kod

starijih verzija OS-a.

Page 5: Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku ...mrkve.etfos.hr/pred/ozm/si/sem22.pdfZa razvoj aplikacije je potrebno ili više ljudi koji će moći pokriti razne jezike,

5

Programski okviri za hibridne mobilne aplikacije:

Framework Prednosti Mane

Xamarin

Performanse Nativan UX Jednostavno za održavanje

Limitiran pristup open-source bibliotekama Community Nije za aplikacije koje imaju napredniju grafiku Veličina aplikacije

PhoneGap/Cordova

Veliki izbor biblioteka Brza izrada prototipa

Loše performanse Manjak UI widgeta

Intel XDK

HTML, CSS, JS mobile i Cordova Responzivan dizajn Lagana provjera na različitim uređajima kroz XDK emulate tab

Performanse Limitirane funckionalnosti zbog security modela Community

Ionic

Rad s predefiniranim komponentama Dobar community

Zahtjeva dobro poznavanje Angular JS-a

Framework7

Jednostavan Temeljen na HTML, CSS i JS Dobre performanse

PhoneGap/Cordova builder nije uključen

Kendo UI

Animacije Brzina Dokumentacija

Kombinacija jQuery i Angular JS

Apache Cordova je framework za razvoj mobilnih aplikacija. Ovaj framework omogućuje

developerima da razvijaju aplikaciju koristeći CSS3, HTML5 i JS. On koristi mobilni preglednik tj.

njegov rendering engine za izvršavanje aplikacije. Preko tog enginea je omogućena komunikacija s

operativnim sustavom te nakon uspješne komunikacije se prikazuje UI aplikacije. Postoje dva različita

smjera razvoja Cordova aplikacija:

cross - platform - omogućava da pokrijemo sve željene platforme (Android, iOS, BlackBerry,

Windows Phone), ali nam daje nešto manje funkcionalnosti.

platform - centered - bazira se na dodacima za točno određenu platformu što omogućuje

bolje performanse i više mogućnosti.

Iako smo strogo podijelili razvoj Cordova aplikacija, moguće je da se ova dva načina kombiniraju. Npr.

možemo napisati većinu aplikacije tako da koristimo prvi pristup, a zatim taj dio iskoristiti i

određenim aplikacijama dodati biblioteke za iOS, Android itd.

Cordova trenutno podržava razvijanje aplikacija za: Apple iOS, Bada, BlackBerry, FirefoxOS, Google

Android, Microsoft Windows Phone, Nokia Symbian OS, Tizen i Ubuntu Touch.

Page 6: Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku ...mrkve.etfos.hr/pred/ozm/si/sem22.pdfZa razvoj aplikacije je potrebno ili više ljudi koji će moći pokriti razne jezike,

6

Cordova pruža API za pristup sustavskim funkcijama uređaja, tako da iz web aplikacije možemo

aktivirati kameru, izbaciti notifikaciju, očitati geografske koordinate i dr. Ove funkcionalnosti su

dostupne nakon instaliranja odgovarajućeg Cordova plugina:

Battery Status

Camera

Console

Contacts

Device

File

Geolocation

Media

Vibration

itd.

Da bi odgovorili na pitanje kada koristiti nativni razvoj aplikacije, a kada hibridni, moramo znati što je cilj našeg projekta i što naš projekt zahtjeva.

Izabrat ćemo nativni razvoj ukoliko :

Aplikacija treba biti u mogućnosti da radi i offline i online

Želimo što responzivniju aplikaciju

Aplikacija zahtjeva pristup servisima i resursima uređaja

Želimo što funkcionalniju aplikaciju

Želimo bolji UX

Želimo stabilnost i brzinu

Izabrat ćemo hibridni razvoj ukoliko :

Offline način rada nije važan

Aplikacija ne sadrži zahtjevne obrade podataka ili kompleksne animacije

Imamo web aplikaciju i želimo u što kraćem roku uz minimalne troškove izraditi mobilnu

aplikaciju

Primjeri hibridnih aplikacija: Gmail, Twitter, Uber, Amazon Appstore...

Primjer nativnih aplikacija: Pokemon GO, Google play, App Store, Facebook, Kalkulator...

Page 7: Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku ...mrkve.etfos.hr/pred/ozm/si/sem22.pdfZa razvoj aplikacije je potrebno ili više ljudi koji će moći pokriti razne jezike,

7

3. Platforme mobilnih aplikacija

3.1. Android

Android je mobilni operacijski sustav razvijen od strane Google-a. Tvrtku Android su osnovali

Andy Rubin, Rich Miner, Nick Sears i Chris White 2003. godine. Prvobitna namjera tvrke je bilo

razvijanje naprednijeg operacijskog sustava za digitalne kamere. Međutim, tvrtka je shvatila kako

tržište kamera nije dovoljno veliko kako bi se postigao veći uspjeh , te se prebacuju na razvoj

operacijskog sustava za mobilne telefone. Google 2005. godine kupuje tvrtku Android, a bitniji

zaposlenici, uključujući Rubina, Minera i White-a, se pridružuju Googleu kao dio akvizicije. U Googleu,

tim vođen Rubinom razvija platformu za mobilne uređaje na Linux kernelu. 2006. godine predstavlja

prototip „Sooner“ , koji je imao sličnosti s BlackBerry mobilnim uređajem. Uređaj nije imao zaslon

osjetljiv na dodir, imao je QWERTY fizičku tipkovnicu. Izlaskom Appleovog iPhone-a 2007. godine,

Android je morao unaprijediti svoj mobilni uređaj, kako bi ostao konkurentan na budućem tržištu.

Slika 1: Prototip Sooner

2007. godine osnovana je Open Handset Alliance tj. grupa koja se zalagala za open source

budućnost mobilne tehnologije, a koju su sačinjavali Google, HTC, Motorola, Samsung, Sprint, T-

Mobile, Qualcomm i Texas Instruments. Ubrzo grupacija dobija još dva open source konkurenta:

Symbian Foundation i LiMo Foundation. Open Handset Alliance je iste godine predstavila svoj prvi

projekt - Android OS.

2008. godine pojavljuje se prvi komercijalni uređaj na Android sustavu - HTC Dream, poznat i kao

T - Mobile G1. Uređaj je bio pokretan Androidom 1.5 kodnog imena „Cupcake“. Verzije Androida su

dobivale imena po slasticama i to abecednim redom, pa tako imamo „Cupcake“ , „Donut“ , „Eclair“

itd. Jednom prilikom Google je pokušao na svoj način objasniti zašto daju takva imena verzijama

Page 8: Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku ...mrkve.etfos.hr/pred/ozm/si/sem22.pdfZa razvoj aplikacije je potrebno ili više ljudi koji će moći pokriti razne jezike,

8

Androida - „Since these devices make our lives so sweet, each Android version is named after a

dessert“.

Kodno ime Broj verzije Godina izlaska

Bez kodnog imena 1.0 2008

„Petit Four“ 1.1 2009

„Cupcake“ 1.5 2009

„Donut“ 1.6 2009

„Eclair“ 2.0 - 2.1 2009

„Froyo“ 2.2 - 2.2.3 2010

„Gingerbreade“ 2.3 - 2.3.7 2010

„Honeycomb“ 3.0 - 3.2.6 2011

„Ice Cream Sandwich“ 4.0 - 4.0.4 2011

„Jelly Bean“ 4.1 - 4.3.1 2012

„KitKat“ 4.4 - 4.4.4 2013

„Lollipop“ 5.0 - 5.1.1 2014

„Marshmallow“ 6.0 - 6.0.1 2015

„Nougat“ 7.0 - 7.1.2 2016

„Oreo“ 8.0 - 8.1 2017

„Android P“ 9 2018 (beta) Slika 2: Verzije Android OS-a

Kako je Apple razvijao operacijski sustav isključivo za svoj uređaj Iphone, tako je i Google

2010. godine predstavio Nexus uređaj koji je specifičan po tome što se na njemu nalazi čisti Android

operacijski sustav - bez dodatnih modifikacija od strane proizvođača samog uređaja.

Slika 3: Verzije Android OS-a

Page 9: Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku ...mrkve.etfos.hr/pred/ozm/si/sem22.pdfZa razvoj aplikacije je potrebno ili više ljudi koji će moći pokriti razne jezike,

9

3.1.1. Razvoj Android mobilnih aplikacija

Aplikacije koje proširuju funkcionalnost mobilnih uređaja su pisane uz korištenje Android

software develompent alata (SDK) i često uz korištenje Jave kao programskog jezika. Java može biti

kombinirana sa C/C++ programskim jezikom. 2017. godine Google je objavio podršku za razvoj

Android mobilnih aplikacija u programskom jeziku Kotlinu.

SDK omogućuje veći skup razvojnih alata, uključujući debbuger, biblioteke, emulator za mobilni

uređaj baziran na QEMU (Quick Emulator - besplatan open source hypervisor ili monitor virtualne

mašine), dokumentaciju, primjer koda i tutorijale. Prvobitno su developeri koristili Eclipse IDE uz ADT

(Android Development Tools) plugin. Od 2014. godine do danas aplikacije za Android se razvijaju u

Android Studiu (trenutačna verzija je 3.1.2), baziranom na IntelliJ IDEA (Java integrated development

environment).

Android Studio pruža razne mogućnosti prilikom razvoja aplikacija:

fleksibilan Gradle - based build sustav (Gradle je open - source build automation sustav)brz

emulator

jedinstveno okruženje koje omogućuje razvoj za sve Android uređaje

Instant run koji trenutno gura promjene na aktivnu aplikaciju, bez da stvara novi APK

(Application Package Kit)

Template kodovi i integracija s GitHubom koji omogućuju brzu izgradnju uobičajenih dijelova

aplikacije

Sadrži opsežne alate za testiranje aplikacije

Lint alati za praćenje performansa, iskoristivosti, kompatibilnosti verzije itd.

C++ i NDK (skup alata koji omogućavaju implementaciju dijelova aplikacije u nativnom kodu,

koristeći jezike poput C-a i C++-a. Za određene tipove aplikacija, ovo svojstvo može pomoći

prilikom ponovne iskoristivosti određenih kodova i biblioteka napisanih u tim jezicima)

podrška.

Layout Editor - omogućuje drag and drop UI komponente.

Prezentacijski dio aplikacije se piše u XML-u.

Prilikom razvoja aplikacije developeri moraju uzeti u obzir da razvijaju aplikaciju koja će biti

pokretana na različitim uređajima s različitim verzijama Android sustava na sebi. Time razvoj Android

aplikacija zahtjeva više vremena, veću posvećenost detaljima, te iscrpno testiranje na različitim

uređajima i verzijama platforme.

Android nudi različite mogućnosti distribucije aplikacija. Moguće je distribuirati aplikaciju

koristeći mrežnu trgovinu aplikacija Google Play, web stranicu ili slanjem aplikacije korisniku direktno

preko e-maila. Google Play pruža najbolju uslugu distribucije aplikacija budući je na taj način

Page 10: Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku ...mrkve.etfos.hr/pred/ozm/si/sem22.pdfZa razvoj aplikacije je potrebno ili više ljudi koji će moći pokriti razne jezike,

10

obuhvaćeno najviše potencijalnih korisnika. Kako bi developerima bilo omogućeno da distribuiraju

aplikacije koristeći Google Play, moraju imati Google korisnički račun te moraju uplati iznos u

vrijednost od 25$ (američkih dolara) na ime registracije. Google na stranicama za developere nudi

upute i zadatke koje je potrebno obaviti prije distribucije aplikacije. Developeri dobijaju 70% cijene

aplikacije, dok se s ostalih 30% financiraju distribucijski partneri. Trenutno na Google Playu postoji

3.6 milijuna Android aplikacija.

3.2. iOS

iOS je mobilni operativni sustav kojeg je razvila tvrtke Apple. Prvi uređaj s ovim operativnim

sustavom je bio iPhone. iPhone nije bio prvi uređaj sa zaslonom osjetljivim na dodir, ali je za razliku

od ostalih uređaja imao bolje performanse jer je Apple razvio operacijski sustav specifično samo za

iPhone (za razliku od Androida koji je razvijao OS za različite uređaje). Kasnije je Apple dodatno

proširio iOS na uređaje iPod i iPad.

Za razliku od Androida, iOS je closed source operativni sustav koji pripada obitelji UNIX-oida, a

pisan je u C-u, C++-u, Objective C-u te u Swiftu. Apple razvija i hardver i softver što omogućuje

performanse uređaja na vrlo visokom nivou.

Slika 4: iOS verzije

Page 11: Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku ...mrkve.etfos.hr/pred/ozm/si/sem22.pdfZa razvoj aplikacije je potrebno ili više ljudi koji će moći pokriti razne jezike,

11

3.2.1. Razvoj iOS aplikacija

Centar razvoja iOS aplikacija je Xcode IDE. Prilikom razvoja aplikacija koristi se Apple hardver i

Apple softver. Logika aplikacija se pisala u Objective C - u, dok danas developeri prelaze sve više na

programski jezik Swift. Međutim dopušteno je i kombiniranje ta dva jezika prilikom izrade aplikacije.

Xcode sadrži većinu potrebnih alata i resursa za razvoj iOS aplikacije, ali za neke detaljnije stvari bit će

potrebni neki dodatni alati.

Xcode komponente :

Assistant Editor - dijeli Xcode editor u dva editora, pri čemu je jedan definiran za primaran

rad, dok drugi automatski prikazuje dokumente koji su korisni za rad na primarnom

dokumentu

Jump Bar - služi za brzi skok do bilo kojeg resursa u projektu

Testing

Schemes

Documentation

iOS Simulator - omogućuje testiranje aplikacije bez samog uređaja

Compilers

Graphical Debugger - debuggiranje direktno u editoru

Interface Builder - integriran u Xcode, omogućuje slaganje korisničkog sučelja bez pisanja

koda.

Iako iOS simulator omogućuje trenutno testiranje aplikacije bez samog uređaja, najbolje je

testirati aplikaciju na stvarnom uređaju.

Aplikacije se distribuiraju putem App Store-a. Proces je jednostavan, ali postoje određena pravila

prilikom objavljivanja aplikacija na App Store-u.

Razvoj aplikacije od samog početka pa do distribucije podjeljen je na 5 faza:

1. Uključivanje u iOS Developer Program

2. Razvoj i testiranje aplikacije

3. Dodavanje aplikacije u iTunes Connect sustav, uređivanje opisa, screenshotova itd.

4. Slanje aplikacije Apple-u na pregled. Ukoliko je aplikacija odbijena vraćamo se na točku 2.

5. Puštanje aplikacije u App Store.

Osnovna developerska licenca je skuplja od developerske licence za Android developere, i iznosi 99$

godišnje. Licenca koja podržava naprednije mogućnosti košta 299$ godišnje. Prema podacima iz 2017

godine App Store je sadržavao 2.2 milijuna aplikacija.

Page 12: Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku ...mrkve.etfos.hr/pred/ozm/si/sem22.pdfZa razvoj aplikacije je potrebno ili više ljudi koji će moći pokriti razne jezike,

12

3.3. Windows Phone

Windows Phone je familija mobilnog operativnog sustava razvijenog od strane Microsofta. Predviđen

je za smartphone uređaje kao zamjena za Windows Mobile. Prvobitno je 2010. godine izašla verzija

Windows Phone 7 . Za razliku od Windows Mobile-a, u fokusu nisu bili samo poslovni korisnici već

cijela populacija. Windows Phone 8.1 je posljednja verzija ovog operativnog sustava. 2015. godine

Windows Phone je zamjenjen s Windows 10 Mobile. U ovoj verziji OS-a naglasak je bio na integraciji s

Windows 10 OS-om.

Ovaj operativni sustav nikada nije bio konkurent Androidu i iOS-u. Naime, razvoj ovog sustava nema

budućnost. Broj mobilnih aplikacija za ovaj sustav je nedovoljan da bi privukao veći broj korisnika.

Vrlo često su aplikacije nedovoljno razvijene i nestabilne.

3.3.1. Razvoj Windows Phone aplikacija

Razvoj aplikacija za Windows mobilnu platformu moguć je samo na Windows OS-u, u Visual Studiju.

Aplikacije se piše u jednom od .NET programskih jezika: Visual C++, Visual C# ili Visual Basic-u.

Prezentacijski dio aplikacije se piše u XAML-, modificiranoj verziji XML-a.

Universal Windows Platform (UWP) je API izrađen od strane Microsofta. Svrha UWP-a je da omogući

razvijanje univerzalnih aplikacija koje će biti pokretane na Windows 10, Windows 10 Mobile, Xbox

One i HoloLens-u, bez dodatnog uređivanja aplikacije za svaki od prethodno navedenih uređaja.

Podržava razvoj Windows aplikacija koristeći C++, C#, VB.NET, Javascript, HTML i XAML. API je

implementran u C++-u. Naime, UWP je razvijen kao ekstenzija Windows Runtime-a. Windows Phone

8.1 je koristio verziju Windows Runtime-a koja se zvala Windows Phone Runtime. Ona je

omogućavala razvoj aplikacija u C# i VB.NET.

Distribuiranje Windows mobilnih aplikacija je omogućeno putem Windows Store-a. Licenca za

individualne developere iznosi oko 19$, dok za tvrtke iznosi 99$.

Page 13: Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku ...mrkve.etfos.hr/pred/ozm/si/sem22.pdfZa razvoj aplikacije je potrebno ili više ljudi koji će moći pokriti razne jezike,

13

4. Zaključak

Mobilni telefoni i aplikacije se vrlo brzo razvijaju. Potražnja za raznolikim mobilnim aplikacijama

je svakodnevna, kao i potražnja za aplikacijama koje će biti bolje od trenutnih.

Korisnici koriste i nativne i hibridne aplikacije, i trenutno ne možemo s točnošću tvrditi koje

aplikacije tj. koji pristup razvoju aplikacija je bolji. Sve ovisi o vrsti aplikacije i njenim potrebama. Iako,

možemo reći da postoji doza preferiranja hibridnih aplikacija, zbog jednostavnosti razvoja.

Danas najveći dio tržišta zauzimaju Android i iOS, koji se nastavljaju rapidno razvijati. Nažalost,

Windows ne predstavlja više konkurenciju prethodno navedenim tvrktama. U procesu razvoja

aplikacije moramo obratiti pažnju na pojedina ograničenja i karakteristike platforme. iPhone uređaji

predstavljaju najkvalitetniji omjer hardvera i softvera budući Apple izrađuje i hardver i softver.

U budućnosti mobilne aplikacije će i dalje držati visok nivo popularnosti, te se trenutno stanje na

tržištu mobilnih platformi vjerojatno neće previše mjenjati.

Page 14: Sveučilište J.J. Strossmayera u Osijeku Odjel za matematiku ...mrkve.etfos.hr/pred/ozm/si/sem22.pdfZa razvoj aplikacije je potrebno ili više ljudi koji će moći pokriti razne jezike,

14

5. Literatura

1. https://www.hdonweb.com/mobiteli/nativna-aplikacija-mobilna-web-stranica

2. https://thebhwgroup.com/blog/mobile-app-development-process

3. https://dzone.com/articles/native-vs-hybrid-app-development-1

4. https://searchsoftwarequality.techtarget.com/definition/native-application-native-app

5. https://developer.android.com/docs/

6. https://en.wikipedia.org/wiki/Android_(operating_system)

7. https://en.wikipedia.org/wiki/IOS

8. https://en.wikipedia.org/wiki/Windows_Phone