12
MOBILNE APLIKACIJE Danijel Pobi, dipl. Ing. Računarstva

Mobilne Aplikacije

  • Upload
    saxon

  • View
    89

  • Download
    2

Embed Size (px)

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 Presentation

Citation preview

Page 1: Mobilne Aplikacije

MOBILNE APLIKACIJE

Danijel Pobi, dipl. Ing. Računarstva

Page 2: Mobilne Aplikacije

Mobilne aplikacije

Hardwer Pregled mobilnih OS-ova Android fragmentacija SDK, ADK, ADT, NDK OOP Eclipse

Page 3: Mobilne Aplikacije

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

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

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

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

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

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

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

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

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

Kraj današnjeg predavanja

PITANJA?nema glupih pitanja

[email protected]će nikom neriješavam, ako

ih bude ;)