SlideShare a Scribd company logo
1 of 44
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

Similar to Android vs iOS development

Programer Ivan Stolic VII3
Programer Ivan Stolic VII3Programer Ivan Stolic VII3
Programer Ivan Stolic VII3dulovci
 
2019 StartIT - Symfony i 12 factor arhitektura
2019 StartIT - Symfony i 12 factor arhitektura2019 StartIT - Symfony i 12 factor arhitektura
2019 StartIT - Symfony i 12 factor arhitekturaMarko Mitranić
 
moje iskustvo za CI/CD sa SemaphoreCi i AWS
moje iskustvo za CI/CD sa SemaphoreCi i AWSmoje iskustvo za CI/CD sa SemaphoreCi i AWS
moje iskustvo za CI/CD sa SemaphoreCi i AWSMilan Urukalo
 
iOS radionica
iOS radionicaiOS radionica
iOS radionicaStartit
 
Front-end development iz ugla .NET programera
Front-end development iz ugla .NET programera�Front-end development iz ugla .NET programera�
Front-end development iz ugla .NET programeraStartit
 
Razvoj mobilnih aplikacija pomoću Oracle ADF mobile
Razvoj mobilnih aplikacija pomoću Oracle ADF mobileRazvoj mobilnih aplikacija pomoću Oracle ADF mobile
Razvoj mobilnih aplikacija pomoću Oracle ADF mobileSamir Čauš
 
ATD10 - WinJS izlazi na globalnu pozornicu
ATD10 - WinJS izlazi na globalnu pozornicuATD10 - WinJS izlazi na globalnu pozornicu
ATD10 - WinJS izlazi na globalnu pozornicuMatija Šmalcelj
 
.Net framework
.Net framework.Net framework
.Net frameworkkrstic_nis
 
iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)
iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)
iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)Infinum
 
aplikativni-softveasdasdasdasdasdasdr.pdf
aplikativni-softveasdasdasdasdasdasdr.pdfaplikativni-softveasdasdasdasdasdasdr.pdf
aplikativni-softveasdasdasdasdasdasdr.pdfzowidra
 
PHP za pocetnike - predavanje 11
PHP za pocetnike - predavanje 11PHP za pocetnike - predavanje 11
PHP za pocetnike - predavanje 11Nermin Sehic
 
Mobile market trending now
Mobile market trending nowMobile market trending now
Mobile market trending nowDamir Matas
 
Mobile market trending now - Damir Matas - biZbuZZ 2011
Mobile market trending now - Damir Matas - biZbuZZ 2011Mobile market trending now - Damir Matas - biZbuZZ 2011
Mobile market trending now - Damir Matas - biZbuZZ 2011biZbuZZ
 
BeagleBoard and BeagleBoard XM
BeagleBoard and BeagleBoard XMBeagleBoard and BeagleBoard XM
BeagleBoard and BeagleBoard XMGoran Macut
 
API Kupindo
API KupindoAPI Kupindo
API KupindoLimundo
 

Similar to Android vs iOS development (20)

Programer Ivan Stolic VII3
Programer Ivan Stolic VII3Programer Ivan Stolic VII3
Programer Ivan Stolic VII3
 
2019 StartIT - Symfony i 12 factor arhitektura
2019 StartIT - Symfony i 12 factor arhitektura2019 StartIT - Symfony i 12 factor arhitektura
2019 StartIT - Symfony i 12 factor arhitektura
 
Web logs: Collecting and analysing - Nikola Krgovic
Web logs: Collecting and analysing - Nikola KrgovicWeb logs: Collecting and analysing - Nikola Krgovic
Web logs: Collecting and analysing - Nikola Krgovic
 
moje iskustvo za CI/CD sa SemaphoreCi i AWS
moje iskustvo za CI/CD sa SemaphoreCi i AWSmoje iskustvo za CI/CD sa SemaphoreCi i AWS
moje iskustvo za CI/CD sa SemaphoreCi i AWS
 
iOS radionica
iOS radionicaiOS radionica
iOS radionica
 
Front-end development iz ugla .NET programera
Front-end development iz ugla .NET programera�Front-end development iz ugla .NET programera�
Front-end development iz ugla .NET programera
 
Razvoj mobilnih aplikacija pomoću Oracle ADF mobile
Razvoj mobilnih aplikacija pomoću Oracle ADF mobileRazvoj mobilnih aplikacija pomoću Oracle ADF mobile
Razvoj mobilnih aplikacija pomoću Oracle ADF mobile
 
ATD10 - WinJS izlazi na globalnu pozornicu
ATD10 - WinJS izlazi na globalnu pozornicuATD10 - WinJS izlazi na globalnu pozornicu
ATD10 - WinJS izlazi na globalnu pozornicu
 
.Net framework
.Net framework.Net framework
.Net framework
 
iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)
iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)
iOS Zagreb Meetup #02 - Clean architecture in iOS apps (Leonard Beus @ Five)
 
ICK7-L2.pptx
ICK7-L2.pptxICK7-L2.pptx
ICK7-L2.pptx
 
aplikativni-softveasdasdasdasdasdasdr.pdf
aplikativni-softveasdasdasdasdasdasdr.pdfaplikativni-softveasdasdasdasdasdasdr.pdf
aplikativni-softveasdasdasdasdasdasdr.pdf
 
Java Script.ppt
Java Script.pptJava Script.ppt
Java Script.ppt
 
JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...
JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...
JavaCro'14 - Automatized testing with Selenium 2 – Juraj Ćutić and Aleksander...
 
PHP za pocetnike - predavanje 11
PHP za pocetnike - predavanje 11PHP za pocetnike - predavanje 11
PHP za pocetnike - predavanje 11
 
Mobile market trending now
Mobile market trending nowMobile market trending now
Mobile market trending now
 
Mobile market trending now - Damir Matas - biZbuZZ 2011
Mobile market trending now - Damir Matas - biZbuZZ 2011Mobile market trending now - Damir Matas - biZbuZZ 2011
Mobile market trending now - Damir Matas - biZbuZZ 2011
 
Migration to 9i
Migration to 9iMigration to 9i
Migration to 9i
 
BeagleBoard and BeagleBoard XM
BeagleBoard and BeagleBoard XMBeagleBoard and BeagleBoard XM
BeagleBoard and BeagleBoard XM
 
API Kupindo
API KupindoAPI Kupindo
API Kupindo
 

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

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n