English site
  • Uvod u iPhone programiranje

    Objavio: hrvoje, 12. 11. 2009. u kategoriji iPhone development

    iphone

    Kao uvod u ovaj i sve ostale postove koji će biti objavljeni na ovom blogu želio bih napisati par rečenica o tome zbog čega sam se odlučio na bloganje o iPhone programiranju i naravno nešto o meni. Kako bih pridonio i pomogao da se poveća broj iPhone programera u Hrvatskoj odlučio sam pisati o razvoju aplikacija za iPhone i na hrvatskom jeziku. Moje ime je Ivan Kalaica i mogu ponosno reci da sam zaposlenik tvrtke imenom Inchoo.

    Inchoo je tvrtka čije je glavna djelatnost razvoj online trgovina (os-commerce) i iPhone aplikacija te je kao takva prva u Hrvatskoj. Što se tiče razvoja iPhone aplikacija Inchoo surađuje s američkom tvrtkom Surgeworks preko koje i dobiva uglavnom sve iPhone projekte. Za sada sam jedini zaposlenik koji se bavi iPhone programiranjem i nadam se da ce se broj takvih u Inchoo-u uskoro povećati.

    Za programiranje iPhone i iPod Touch aplikacija prije svega potreban vam je Mac. Nakon što uspješno instalirate iPhone SDK ( koji je dostupan na iPhone Dev Center ) spremni ste za novi izazov a to je naravno učenje. Za instalaciju iPhone SDK Apple od vas zahtjeva da se registrate kao developer na Apple-ovm iPhone Dev Center-u.

    Kao uvod u ovaj prvi članak o iPhone programiranju pokusati cu ukratko objasniti alate i pojmove kojima ćete se koristiti odnosno susretati te okruženje u kojem ćete proizvoditi iPhone i iPod Touch aplikacije. Okruženje i glavni alat u kojemu se razvijaju aplikacije naziva se Xcode. Kako i sami znate programski jezik kojime ćete se koristiti u ovu svrhu jest Objective-C a naziv framework-a kojim ćete te se uglavnom koristiti je CocoaTouch. Naravno tu je i Interface Builder (WYSIWYG) alat koji ce vam uvelike olakšati posao kreiranje grafičkog sučelja.

    Osim svega navedenog na raspolaganju imate i alat pod nazivom Instruments pomoću kojega ćete provjeravati zauzeće ili curenje memorije vaše aplikacije, količinu alokacije vaših objekata itd. Naime, kod razvoja aplikacija za iPhone bitno je znati da se morate pobrinuti sami za destrukciju ili otpuštanje svih alociranih objekata. Možda je sada vaše mišljenje negativno te da je to veliki nedostatak ali nakon što krenete programirati svoje prve aplikacije shvatiti ćete da je to zapravo jako velika prednost osobito ako vam je ovo prvi doticaj s OOP. Samo razumjevanje načina kako sustav kreira, sto čini s memorijom i kako reagira uvelike ce vam pomoći kod traženja i na koncu nalaženja pogrešaka (debugging).

    Za testiranje vaših aplikacija možete koristiti iPhone Simulator. Nije vam nužno potreban sam iPhone uređaj ali svakako je preporučljivo da ga imate u svrhu testiranja jer neke dodatne mogućnosti ipak simulator (ma koliko dobar bio) ne može “odglumiti”. SDK je besplatan kao takav i on vam može biti dovoljan za programiranje ali aplikacije ne možete instalirati niti na jedan iPhone uređaj. Za tu svrhu ili za prodaju aplikacije potrebno je platiti Apple-u minimalno 99$ kako bih se logirati na Program Portal preko kojega se vrši predaja same aplikacije na App Store i prije svega dobiva dozvola za instaliranje aplikacije na vas iPhone u svrhu testiranja.

    Zanimljivo kako je Apple osmislio strukturu samog poslovanja tj. način na koji se pruža usluge krajnjem kupcu aplikacija te uloga i (ne)obaveza programera kao vlasnika aplikacije. Vas zadatak je kreirati aplikaciju, postavite svoje uvijete prodaje (cijenu), postavite kategoriju aplikacije, predate je Apple-u putem vašeg korisničkog računa na Program Portal-u i naravno nakon toga čekate odobrenje. Nakon sto je Apple odobri i prodaja krene vi dobivate 70% od cijene vašeg proizvoda.

    AppStore je dio iTunes-a gdje se nalaze sve iPhone aplikacije. To je mjesto gdje se vlasniku aplikacije daje mogućnost prodaje ili besplatne predaje aplikacije korisnicima. Kupci aplikacije mogu komentirati i ocijeniti pojedine aplikacije te na taj način pridonijeti marketingu vašeg proizvoda.

    Apple se i ovaj put pobrinio za svoje iDevelopere te svu potrebnu literaturu, primjere koda i još mnogo toga objavio na svom iPhone Dev Center portalu što uvelike pomaze samom postupku učenja. Svi materijali su dostupni nakon registracije koja je besplatna. Sada kada imate pristup iPhone Dev Center-u za početak učenja preporučio bih vam da prvo krenete s učenjem programskog jezika, odnosno Objective-C. Objective-C je jednostavni programski jezik dizajniran da omogući sofisticirano objektno orijentirano programiranje. Objective-C je zapravo proizlazi iz standardnog ANSI C programski jezika i proširuje ga sa sintaksom za definiranje klasa, metoda i ostalih struktura koje cine jedinstveni objektno orijentirani model.

    Kada savladate osnovne principe koje se koriste za kreiranje programa u Objective-C možete se prebaciti na knjigu iPhone Application Programming Guide gdje ćete naci upute za kreiranje vase prve aplikacije sa primjerima koda. Ubrzo nakon toga shvatiti ćete sintaksu ovog programskog jezika te počnite s detaljnijim proučavanjem CocoaTouch framework-a. Naravno, osnovne informacije koje svaki iPhone programer mora znati naći ćete u Cocoa Fundamentals Guide knjizi koja se prije svega preporučuje i za Mac OSX sustave. Ova knjiga obuhvaća osnove Objective-C programskog jezika, programerske konvencije i dizajn patterne koje koristi UIKit i mnogi ostali frameworks-i. Mislim da je za početak vašeg učenja a i mog bloganja ovo sasvim dovoljno. Sretno!

  • 6 Responses to “Uvod u iPhone programiranje”

    1. Josip says:

      Svaka čast legendo. Razmišljam o iPhone programiranju, pa je ovo točno ono sto tražim!
      Pozdrav

    2. ivana says:

      Htjela bih napraviti nekakvu jednostavnu aplikaciju koja bi se vrtila na iPhonu i to za potrebe diplomskoga rada [5. godina na ETF-u]. Sve što ste naveli u blogu našla sam na developer.apple.com/iphone/. Već bih ja i počela lagano s tim, ali koristim Windowse, pa me zanima jel ima kakav software koji će raditi pod Windowsima?

    3. fichek says:

      @ivana uskoro™ izlazi novi Flash koji ce izmedu ostalog imat opciju izrada iPhone appova (i u Mac i u Windows verziji.)

      A tu su i razna polu-rjesenja kao npr. http://monotouch.net koji ti omogucava razvoja iPhone appova u C#.

      Al ne moze se to nista usporedit s pravim Xcodeom i iPhone SDKom na pravom Mac OS Xu

    4. ivan says:

      Nazalost, zasada iPhone aplikacije se mogu raditi samo na Mac OSX-u. :(
      BTW – o kakvoj aplikaciji je riječ?

    5. fichek says:

      Ivane, a MonoTouch? Windows developeri ionako preferiraju C# i .Net

      Je da je skup, al jeftiniji je od Maca ;)

    Leave a Reply