Android vs iOS
   development
Vuk Nikolić
    @vuknikolic
 Java, Android, iOS
     developer

www.klopaj.com
www.vuknikolic.rs
iOS

•   Apple inc
•   Objective-C
•   Closed Source
•   Pojavio se u junu 2007
•   iPhone, iPad, iPod Touch
•   Aktuelna verzija 5.1.1
ANDROID

•   Open Handset Alliance
•   Java
•   Open Source
•   Prva verzija septembar
    2008.
•   Gomila telefona, tableta...
•   Aktuelna verzija 4.0.4
INITIAL SETUP

•   Mac OS x kompjuter   •   Računar :)
•   Xcode                •   Bilo koje java okruženje
•   iOS SDK              •   Android i Java SDK
•   Objective-C          •   Java
KOCKA JE BAČENA
OTVOREN I ZATVORENI
      SISTEM
    Šta ih u stvari razlikuje?
RAZLIKE

•   Broj uređaja i rezolucije
•   Razvojna okruženja
•   Simlator i emulator
•   Jezik kojim govore
•   UI dizajn
•   Distribucija aplikacija
•   Zarada :)
1. UREĐAJI I REZOLUCIJE
    Kao i sve njihove kombinacije
iOS UREĐAJI


•   iPhone - 2 rezolucije, ali
    kao da je jedna (320x480)

•   iPad - 2 rezolucije, ali kao
    da je jedna (1024x768)
ANDROID UREĐAJI




    Preuzeto sa http://techcrunch.com
ANDROID UREĐAJI

•   Veliki broj uređaja

•   Različite rezolucije

•   Različite proporcije

•   Ali i način kako da se to
    organizuje
2. RAZVOJNA OKRUŽENJA
  eclipse, netbeans, intellij... vs xcode
XCODE


•   Brzina (startovanja i same aplikacije)

•   Odličan UI dizajn builder

•   Odličan rad sa bazom
RAD ZA BAZOM
pssst, postoji i appcode
JAVA IDE

•   Refactoring
•   Code complete
•   Integracija sa drugim servisima
•   Pluginovi
•   “Pametniji” tokom rada
•   Debugger!
CODE COMPLETE


•   Iz konteksta “vade” nastavak

•   Predlozi imena promenljivih

•   Automatski import
PLUGINOVI, ANALIZA KODA

•   Lak uvid u stanje koda

•   Podrška za razne analize
    koda

•   Refaktoring i XML,
    properties fajlova kao i
    koda

•   Drugi jezici :)
3. SIMULATOR I EMULATOR
   Čemu ovo služi, a osim toga i ne radi?
iPHONE/iPAD SIMULATOR


•   Brzo se startuje

•   Redeploy je brz

•   Ali nije emulator :)
ANDROID EMULATOR

•   Dosta spor pri
    startovanju

•   Emulira rad

•   Podešavanja za različite
    rezolucije i veličine

•   Skinovi :)
4. JEZIK KOJIM PRIČAJU
       彼らが話す言語
OBJECTIVE-C


•   OO jezik

•   Proširenje C jezika

•   Messaging sistem (sličan Smalltalku)

•   Reference counting, ali postoji i ARC
OBJECTIVE-C
•   Deskriptivna imena metoda
     - (void)uploadVideo:(VideoInfo *) videoInfo
               toFacebok:(BOOL) facebook
               andYoutube:(BOOL) youtube {

          // Top secret code :)
     }

     [self uploadVideo:videoInfo toFacebok:NO andYoutube:YES];



•   Kategorije, menjanje klasa bez nasleđivanja
     #import <Foundation/Foundation.h>

     @interface UIColor (Convertor)
     + (UIColor *) colorFromHexString: (NSString *) hexString;
     @end
JAVA

•   OO jezik

•   Virtuelna mašina

•   Garbage collector

•   Ogroman community

•   Razne biblioteke
ANDROID JAVA

•   Nije JVM, već Dalvik VM

•   Podskup Jave, nije Java SE ili ME (nedostaje npr AWT i Swing)

•   Dodatni Android API

•   Uključene biblioteke (apache commons :))

•   Integracija sa Google servisima
ANDROID JAVA

•   Nije JVM, već Dalvik VM

•   Podskup Jave, nije Java SE ili ME (nedostaje npr AWT i Swing)

•   Dodatni Android API

•   Uključene biblioteke (apache commons :))

•   Integracija sa Google servisima
ANDROID JAVA

•   Vrlo jednostavan API
    MediaPlayer player = MediaPlayer.create(MusicPlayerService.this, R.raw.pandroid);
    player.setLooping(true);
    player.start();

    // Vibrate the mobile phone
    Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
    vibrator.vibrate(2000);




•   Primer aplikacije
    https://github.com/vuk-nikolic/AndroidStarterKit
5. UI DIZAJN
Ogledalce, ogledalce...
UI DIZAJN ZA iOS


•   Interface Builder - mnogo moćna stvar

•   Precizan guideline od Applea

•   Dizajn moguć i u kodu
INTERFACE BUILDER
UI DIZAJN ZA ANDROID


•   XML layout, stilovi, teme

•   Eclipse plugin sve bolji, IDEA preview

•   Do ICS-a razlike za tablete i telefone

•   ICS super izgleda :)
GRAPHICAL LAYOUT EDITOR
6. DISTRIBUCIJA APLIKACIJA
        Otvoreni tržni centar
APP STORE

•   Odnos 70%-30%
•   Approval proces
•   Aplikacija može biti odbijena
•   Preko 725k aplikacija i 25
    milijardi downloada
•   Developer licenca godišnje 99$
GOOGLE PLAY

•   Odnos 70%-30%

•   Nema stroge kontrole
•   Preko 450k aplikacija, preko 10
    milijardi downloada

•   Developer licenca jednom 25$
•   Nema provisioning profila,
    pokreće se na bilo kom uređaju
ALTERNATIVNI “MARKETI”


•   Amazon appstore

•   Appbrain

•   getjar
7. ZARADA
Sve je to lepo, ali $$$
Preuzeto sa www.mylookout.com
Preuzeto sa www.wired.com




Preuzeto sa www.wired.com
Preuzeto sa www.mylookout.com
PITANJA?
Slobodno šaljite i na @vuknikolic
HVALA NA PAŽNJI :)
                       pogledajte linkove ispod



                                                       za it dogadjaje
za preduzetništvo             za java geeky stvari   www.itdogadjaji.com
  www.startit.rs                www.javasvet.rs

More Related Content

PPTX
Notes from fusion 2013
PDF
BDPA Sponsor: Federal Reserve Bank of Cleveland (2014)
PPTX
Presentatie Eric Van Zele 17 december 2013
PDF
Razvoj Android aplikacija 1 - Uvod
PPTX
Pregled mobilnih platforma i startapi - OpenIt predavanje
PDF
Razvoj Android aplikacija 2 - Praktičan primer
PDF
2019 StartIT - Symfony i 12 factor arhitektura
PPT
Notes from fusion 2013
BDPA Sponsor: Federal Reserve Bank of Cleveland (2014)
Presentatie Eric Van Zele 17 december 2013
Razvoj Android aplikacija 1 - Uvod
Pregled mobilnih platforma i startapi - OpenIt predavanje
Razvoj Android aplikacija 2 - Praktičan primer
2019 StartIT - Symfony i 12 factor arhitektura

Similar to Android vs iOS development (20)

KEY
iOS radionica
PPT
L151 - Računarstvo i informatika - Operativni sistemi - Tamara Stojiljković -...
PPT
Projektovanje web aplikacija
PPTX
PDF
Razvoj tablet aplikacija
PPTX
WinDays 12 - Windows Phone 7 hybrid apps
PPTX
ICK7-L2.pptx
PPTX
ICK6-L11.pptx
ODP
слободан софтвер и локализација
PPTX
Oit socijalne mreze
PPTX
Programer Ivan Stolic VII3
ODP
Napredne tehnike razvoja web aplikacija - Zend Framework
PPTX
Ognjen Lazić - Flutter.pptx
PPTX
Alati koji se koriste u korisničkoj podršci LimundoGrada
PDF
ComTrade IT Solutions and Services letnja škola programiranja
PPTX
01 Istorijat razvoja operativnih sistema.pptx
PDF
Us internet programiranje pomoću programskog jezika java
PPTX
programska_podrška_računara.pptx
PDF
Think Smart - Start Grid
PPT
.Net framework
iOS radionica
L151 - Računarstvo i informatika - Operativni sistemi - Tamara Stojiljković -...
Projektovanje web aplikacija
Razvoj tablet aplikacija
WinDays 12 - Windows Phone 7 hybrid apps
ICK7-L2.pptx
ICK6-L11.pptx
слободан софтвер и локализација
Oit socijalne mreze
Programer Ivan Stolic VII3
Napredne tehnike razvoja web aplikacija - Zend Framework
Ognjen Lazić - Flutter.pptx
Alati koji se koriste u korisničkoj podršci LimundoGrada
ComTrade IT Solutions and Services letnja škola programiranja
01 Istorijat razvoja operativnih sistema.pptx
Us internet programiranje pomoću programskog jezika java
programska_podrška_računara.pptx
Think Smart - Start Grid
.Net framework
Ad

Android vs iOS development

  • 1. Android vs iOS development
  • 2. Vuk Nikolić @vuknikolic Java, Android, iOS developer www.klopaj.com www.vuknikolic.rs
  • 3. iOS • Apple inc • Objective-C • Closed Source • Pojavio se u junu 2007 • iPhone, iPad, iPod Touch • Aktuelna verzija 5.1.1
  • 4. ANDROID • Open Handset Alliance • Java • Open Source • Prva verzija septembar 2008. • Gomila telefona, tableta... • Aktuelna verzija 4.0.4
  • 5. INITIAL SETUP • Mac OS x kompjuter • Računar :) • Xcode • Bilo koje java okruženje • iOS SDK • Android i Java SDK • Objective-C • Java
  • 7. OTVOREN I ZATVORENI SISTEM Šta ih u stvari razlikuje?
  • 8. RAZLIKE • Broj uređaja i rezolucije • Razvojna okruženja • Simlator i emulator • Jezik kojim govore • UI dizajn • Distribucija aplikacija • Zarada :)
  • 9. 1. UREĐAJI I REZOLUCIJE Kao i sve njihove kombinacije
  • 10. iOS UREĐAJI • iPhone - 2 rezolucije, ali kao da je jedna (320x480) • iPad - 2 rezolucije, ali kao da je jedna (1024x768)
  • 11. ANDROID UREĐAJI Preuzeto sa http://techcrunch.com
  • 12. ANDROID UREĐAJI • Veliki broj uređaja • Različite rezolucije • Različite proporcije • Ali i način kako da se to organizuje
  • 13. 2. RAZVOJNA OKRUŽENJA eclipse, netbeans, intellij... vs xcode
  • 14. XCODE • Brzina (startovanja i same aplikacije) • Odličan UI dizajn builder • Odličan rad sa bazom
  • 16. pssst, postoji i appcode
  • 17. JAVA IDE • Refactoring • Code complete • Integracija sa drugim servisima • Pluginovi • “Pametniji” tokom rada • Debugger!
  • 18. CODE COMPLETE • Iz konteksta “vade” nastavak • Predlozi imena promenljivih • Automatski import
  • 19. PLUGINOVI, ANALIZA KODA • Lak uvid u stanje koda • Podrška za razne analize koda • Refaktoring i XML, properties fajlova kao i koda • Drugi jezici :)
  • 20. 3. SIMULATOR I EMULATOR Čemu ovo služi, a osim toga i ne radi?
  • 21. iPHONE/iPAD SIMULATOR • Brzo se startuje • Redeploy je brz • Ali nije emulator :)
  • 22. ANDROID EMULATOR • Dosta spor pri startovanju • Emulira rad • Podešavanja za različite rezolucije i veličine • Skinovi :)
  • 23. 4. JEZIK KOJIM PRIČAJU 彼らが話す言語
  • 24. OBJECTIVE-C • OO jezik • Proširenje C jezika • Messaging sistem (sličan Smalltalku) • Reference counting, ali postoji i ARC
  • 25. OBJECTIVE-C • Deskriptivna imena metoda - (void)uploadVideo:(VideoInfo *) videoInfo toFacebok:(BOOL) facebook andYoutube:(BOOL) youtube { // Top secret code :) } [self uploadVideo:videoInfo toFacebok:NO andYoutube:YES]; • Kategorije, menjanje klasa bez nasleđivanja #import <Foundation/Foundation.h> @interface UIColor (Convertor) + (UIColor *) colorFromHexString: (NSString *) hexString; @end
  • 26. JAVA • OO jezik • Virtuelna mašina • Garbage collector • Ogroman community • Razne biblioteke
  • 27. ANDROID JAVA • Nije JVM, već Dalvik VM • Podskup Jave, nije Java SE ili ME (nedostaje npr AWT i Swing) • Dodatni Android API • Uključene biblioteke (apache commons :)) • Integracija sa Google servisima
  • 28. ANDROID JAVA • Nije JVM, već Dalvik VM • Podskup Jave, nije Java SE ili ME (nedostaje npr AWT i Swing) • Dodatni Android API • Uključene biblioteke (apache commons :)) • Integracija sa Google servisima
  • 29. ANDROID JAVA • Vrlo jednostavan API MediaPlayer player = MediaPlayer.create(MusicPlayerService.this, R.raw.pandroid); player.setLooping(true); player.start(); // Vibrate the mobile phone Vibrator vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); vibrator.vibrate(2000); • Primer aplikacije https://github.com/vuk-nikolic/AndroidStarterKit
  • 30. 5. UI DIZAJN Ogledalce, ogledalce...
  • 31. UI DIZAJN ZA iOS • Interface Builder - mnogo moćna stvar • Precizan guideline od Applea • Dizajn moguć i u kodu
  • 33. UI DIZAJN ZA ANDROID • XML layout, stilovi, teme • Eclipse plugin sve bolji, IDEA preview • Do ICS-a razlike za tablete i telefone • ICS super izgleda :)
  • 35. 6. DISTRIBUCIJA APLIKACIJA Otvoreni tržni centar
  • 36. APP STORE • Odnos 70%-30% • Approval proces • Aplikacija može biti odbijena • Preko 725k aplikacija i 25 milijardi downloada • Developer licenca godišnje 99$
  • 37. GOOGLE PLAY • Odnos 70%-30% • Nema stroge kontrole • Preko 450k aplikacija, preko 10 milijardi downloada • Developer licenca jednom 25$ • Nema provisioning profila, pokreće se na bilo kom uređaju
  • 38. ALTERNATIVNI “MARKETI” • Amazon appstore • Appbrain • getjar
  • 39. 7. ZARADA Sve je to lepo, ali $$$
  • 44. HVALA NA PAŽNJI :) pogledajte linkove ispod za it dogadjaje za preduzetništvo za java geeky stvari www.itdogadjaji.com www.startit.rs www.javasvet.rs

Editor's Notes