mobilne aplikacije
DESCRIPTION
Mobilne Aplikacije. Danijel Pobi, dipl. Ing. Računarstva. Mobilne aplikacije. Hardwer Pregled mobilnih OS-ova Android fragmentacija SDK, ADK, ADT, NDK OOP Eclipse. Hardware mobilnih platformi. Arhitekture: ARM (Cortex A8, Snapdragon, Tegra, ...) - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Mobilne Aplikacije](https://reader036.vdocuments.us/reader036/viewer/2022081419/5681577a550346895dc516c9/html5/thumbnails/1.jpg)
MOBILNE APLIKACIJE
Danijel Pobi, dipl. Ing. Računarstva
![Page 2: Mobilne Aplikacije](https://reader036.vdocuments.us/reader036/viewer/2022081419/5681577a550346895dc516c9/html5/thumbnails/2.jpg)
Mobilne aplikacije
Hardwer Pregled mobilnih OS-ova Android fragmentacija SDK, ADK, ADT, NDK OOP Eclipse
![Page 3: Mobilne Aplikacije](https://reader036.vdocuments.us/reader036/viewer/2022081419/5681577a550346895dc516c9/html5/thumbnails/3.jpg)
Hardware mobilnih platformi
Arhitekture: ARM (Cortex A8, Snapdragon, Tegra, ...) x86 ULV i embedded (Intel Atom, AMD Z, VIA
Nano,...) ULV = Ultra low voltage SoC = System on Chip Glavne potrebe mobitela:
Mala dimenzije Malo zagrijavanje i potrošnja Velike performanse (?)
![Page 4: Mobilne Aplikacije](https://reader036.vdocuments.us/reader036/viewer/2022081419/5681577a550346895dc516c9/html5/thumbnails/4.jpg)
Smartphone OS-ovi
Smartphone OS-ovi: Windows Phone (Microsoft) Android (Google) iOS (Apple) Blackberry (RIM) Symbian !EOL (Nokia, Motorola,...) Windows Mobile (Microsoft) Crome OS (Google) Linux Mobile
![Page 5: Mobilne Aplikacije](https://reader036.vdocuments.us/reader036/viewer/2022081419/5681577a550346895dc516c9/html5/thumbnails/5.jpg)
Smartphone OS
Windows Phone
MicrosoftLicencaVisual StudioDefinitrana platformaC#, VB, C++MarketplaceSigurnost (SandBox )
GoogleOtvoren ?EclipseOgromna fragmentacijaJava, C++, Py,...StoreAntivirus s Stora obavezan!
AppleZatvorenXcodeDefinirana platformaObjective-C, C++iTunesIluzija sigurnosti postoji
Android iOS
![Page 6: Mobilne Aplikacije](https://reader036.vdocuments.us/reader036/viewer/2022081419/5681577a550346895dc516c9/html5/thumbnails/6.jpg)
Android
integracija Google servisa Popularan Velika podrška velikih proizvođača Hrpa aplikacija na Store-u Otvoren (~=?) (nadzire se problem) Ima jak hardware (top end, ali tu i počinju
problemi) Veliki broj revizija i verzija (problem
eskalira) Mukotrpno za programere
![Page 7: Mobilne Aplikacije](https://reader036.vdocuments.us/reader036/viewer/2022081419/5681577a550346895dc516c9/html5/thumbnails/7.jpg)
Android problemi: Otvorenost
Baza linux, ali... Microsoftu plaćaju za svaki prodani Android uređaj zbog
korištenja njihove tehnologije File System implementacija, Memory management
implementacija, sustav za povezivanje na PC, SM API, ... Oracle-u plaćaju patente za dijelove Java-e i JVM
implementacije Sigurnost veliki problem Zbog Linux kernela podložno postojećim virusima Zbog otvorenosti OS-a, tj. otvorenosti kernela, lagano
napraviti novi maliciozni program Višestruki Store-ovi i nema sustava kontrole aplikacija
Nema kontrole malicoznog softwarea Eksplicitni sadržaj (vjerovali ili ne, ovo je razlog uspjeha
androida!)
![Page 8: Mobilne Aplikacije](https://reader036.vdocuments.us/reader036/viewer/2022081419/5681577a550346895dc516c9/html5/thumbnails/8.jpg)
Android problemi: hardware
Ovdje nastaju najveći problemi za developere Jako velika fragmentacija Procesorske jezgre single core – octa core Frekvencije procesora ~400 MHz – 2GHz Arhitekture ARMv6 – ARMv8, x86-64 RAM 64MB – 4GB Arhitekture RAM-a Grafika još veći jaz (PowerVR, Qualcom, Nvidia, Intel,
TI,...) Memorija kapaciteti i brzine Ekrani rezolucije od 320x240 do 1920x1080 Nema standardizacije! (Odličan primjer hardware
standardizacije je Microsoft s WQVL)
![Page 9: Mobilne Aplikacije](https://reader036.vdocuments.us/reader036/viewer/2022081419/5681577a550346895dc516c9/html5/thumbnails/9.jpg)
Android problemi: verzioniranje
Jako mnogo verzija i revizija Time mislim na jako veliki broj verzija u
upotrebi (Gingerbread, Jelly Bean, Ice Cream Sandwitch,...)
Dobra stvar je da to pokazuje da se stalno radi na razvoju
Loše je što uvodi sve veću fragmentaciju u već kaotičan sustav
![Page 10: Mobilne Aplikacije](https://reader036.vdocuments.us/reader036/viewer/2022081419/5681577a550346895dc516c9/html5/thumbnails/10.jpg)
Android programiranje
OOP Glavni razvojni jezik je JAVA Android SDK (Android Software developement
Kit) ADT (Android Developer Tools) NDK (Native Developement Kit) NDK je za nativne aplikacije, znači C++ Primarni IDE za razvoj na Android platformi je
Eclipse Moguće koristiti i Visual Studio (C#), ali samo sa
određenim frameworcima (Xamarine, Mono,..)
![Page 11: Mobilne Aplikacije](https://reader036.vdocuments.us/reader036/viewer/2022081419/5681577a550346895dc516c9/html5/thumbnails/11.jpg)
Android programiranje
SDK vs NDK Managed vs Native Java vs C++ Kada koristiti šta? Native:
aplikacije gdje je brzina i kontrola programa jako važna (igrice, kompresija, enkripcija,...)
ako imate već nešta napravljeno u C++ Managed:
za sve ostalo
![Page 12: Mobilne Aplikacije](https://reader036.vdocuments.us/reader036/viewer/2022081419/5681577a550346895dc516c9/html5/thumbnails/12.jpg)
Kraj današnjeg predavanja
PITANJA?nema glupih pitanja
[email protected]će nikom neriješavam, ako
ih bude ;)