Mobilne Aplikacije

Preview:

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

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, ...) 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 (?)

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

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

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

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!)

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)

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

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,..)

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

Kraj današnjeg predavanja

PITANJA?nema glupih pitanja

danijel@dmt-softver.hrzadaće nikom neriješavam, ako

ih bude ;)

Recommended