1 / 12

Mobilne Aplikacije

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

saxon
Download Presentation

Mobilne Aplikacije

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mobilne Aplikacije Danijel Pobi, dipl. Ing. Računarstva

  2. Mobilne aplikacije • Hardwer • Pregled mobilnih OS-ova • Android • fragmentacija • SDK, ADK, ADT, NDK • OOP • Eclipse

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

  4. 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

  5. Smartphone OS Windows Phone Android iOS Microsoft Licenca Visual Studio Definitrana platforma C#, VB, C++ Marketplace Sigurnost (SandBox ) Google Otvoren ? Eclipse Ogromna fragmentacija Java, C++, Py,... Store Antivirus s Stora obavezan! Apple Zatvoren Xcode Definirana platforma Objective-C, C++ iTunes Iluzija sigurnosti postoji

  6. 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

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

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

  9. 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

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

  11. 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

  12. Kraj današnjeg predavanja PITANJA? nema glupih pitanja danijel@dmt-softver.hr zadaće nikom neriješavam, ako ih bude ;)

More Related