Vývoj aplikácií pre iPhone: Ako začať programovať iPhone Apps?
Roztrhli sme vrece s tutoriálmi. Nový seriál o programovaní pre iPhone. Viac technickejší, odbornejší. Pre také programátorskejšie hlavy. Všetko od úplných začiatkov...
* * *
Tento článok je určený hlavne pre absolútnych začiatočníkov, ktorí by mali záujem začať programovať na iPhony, no nemajú s tým zatiaľ žiadne skúsenosti, prípadne ani skúsenosti s programovaním vôbec. Pokúsim sa popísať, ako najlepšie prekonať začiatky, t.j na čo sa najskôr zamerať, akú literatúru naštudovať, ktoré programy nainštalovať a pod. V mojich článkoch budem väčšinou prezentovať svoj vlastný názor a postupy, v žiadnom prípade netvrdím, že ide o to najlepšie možné riešenie. Budem len rád ak sa podelíte aj s vašimi postupmi a názormi v komentároch.
Vedomostné požiadavky
Najdôležitejšie je mať chuť sa pustiť do niečoho nového, pretože množstvo dokumentov, článkov a prípadne kníh, čo treba naštudovať môže pôsobiť až odstrašujúco. Samozrejmosťou je veľmi dobrá znalosť angličtiny, pretože všetky kvalitné materiály, blogy, dokumentácie sú len v angličtine. Programovanie na platformách MAC a iOS vyžaduje znalosti objektovo orientovaného programovania a programovacieho jazyka objective-C. Ide o objektovo orientovaný jazyk, ktorý je rozšírením štandardného jazyka ANSI C. Objective-C je jednoduchý a vysoko dynamický jazyk. Jeho syntax je relatívne jednoduchá, jednoznačná, dá sa rýchlo naučiť. Pravdepodobne jeden z nasledujúcich článkov bude venovaný práve objective-C. Pre skúsenejších programátorov bude bohato postačovať dokumentácia od Apple, pre začiatočníkov by som odpoučil túto knihu Stephen G. Kochan, Programming in Objective-C 2.0 (Second Edition).
Historická poznámka: Objective-C ma za sebou dlhú históriu. Jeho počiatky sa datujú už v začiatkoch 80-tych rokov minulého storočia vo firme Stepstone. Neskôr licencie odkúpila firma NeXTstep na čele vtedy so Stevom Jobsom a použila ho ako základný kameň pre svoj nový operačný systém. Koniec koncov, niektoré súčasné triedy v Cocoa frameworku vychádzajú z pôvodných frameworkov NeXTstepu (Triedy s prefixom NS).
Hardvérové požiadavky
Podmienkou je vlastniť nejaký MAC s procesorom od Intelu a operačným systémom aspoň MAC OS 10.5 Leopard. Nie je to nutnou podmienkou, pretože existuje samozrejme aj spôsob ako nainštalovať MAC OS aj do PC počítačov, ale to je proces, ktorý vysoko neodporúčam, pretože výsledok za tú snahu nestojí. Ďalej, samotný iPhone nie je potreba, pretože programovanie a testovnie môže prebiehať na kvalitnom simulátore, avšak, pre serióznejších záujemcov je testovanie na reálnom zariadení samozrejmosť. Preto tým, ktorí to myslia vážne a iPhone ešte nemajú, odporúčam aby si ho zaobstarali. Optimálne riešenie je iPhone 4, kvôli jeho rozlíšeniu 640 x 960, ktoré je dvojnásobné ako pri ostatných iPhonoch (z designového hľadiska to znamená, že všetky obrázky sa musia kresliť v dvoch rozlíšeniach) a kvôli jeho 3D gyro senzoru. Najstarší iPhone Original by som neodporúčal, pretože posledná verzia iOS, ktorú podporuje je 3.1.3, nemá napríklad GPS, nedokáže nahrávať video a pod. Podobne je to aj s iPodom Touch.
Softvérové požiadavky
Všetok potrebný softvér obsahuje inštalačné DVD OS X, prípadne dá sa bezplatne stiahnuť zo stránky venovanej developerom, ktorej sa budem venovať neskôr. Hlavé vývojové prostredie pre progamovanie a debugovanie je XCode, Interface Builder pre design UI, Instruments pre ladenie, Shark pre analýzu a Simulator pre testovanie. Na prvý pohľad by sa mohlo zdať, že je to veľa samostatných nástrojov a ono aj naozaj je :) Často sa stáva, že celá obrazovka je zaplnená rôznymi oknami. Krokom vpred je nová verziu XCode 4, ktorá sa snaží integrovať čo najviac nástrojov do jedného okna. V dobe písanie tohto článku je XCode 4 v GM verzii. V niektorých budúcich článkoch, si môžeme bližšie popísať niektoré nástroje, ktoré budeme počas programovania používať. Neskôr v článku spomeniem, kde sa dá stiahnuť aktuálna verzia tohto setu developerských aplikácii.
Registrácia Apple Developer
Najdôležitejší krok je zaregistrovať sa ako Apple developer na stránke developer.apple.com. Táto stránka je niečo ako Svätým Grálom developerov. Môžete tu nájsť úplne všetko, čo budete potrebovať pre programovanie na nielen iPhone/iPad (iOS), ale aj MAC a Safari. My sa budeme zaoberať iba iOS programovaním. Takže po kliknutí na iOS Dev Center, sa dostaneme na samotný portál. Pre neregistrovaných užívateľov Apple poskytuje len dokumentáciu (Getting Started Documents a iOS Reference Library). Preto sa treba zaregistrovať. Registrovaní užívatelia majú prístup už k viacerým zdrojom a je zadarmo. Poďme teda k registrácii.
Na jednoduchej registračnej stránke vás sprievodca prevedie celým procesom registrácie. Všetky potrebné informácie sú uvedené v jednotlivých krokoch vyčerpávajúco, preto nepovažujem za potrebné sa k nim bližšie vyjadrovať. Snáď len keď od vás bude vyžadovať vytvoriť nové Apple ID alebo použiť existujúcu, môžete použiť vaše konto, pod ktorým sa prihlasujete do iTunes Store.
Teraz ako registrovaný Apple Developer máme prístup k rôznym novým zdrojom. Stránka nám ponúkla prístup do Dev Centra, Development videá, Developer Support, Bug Reporting a napravo je výzva na prihlásenie do niektorého plateného programu. Popíšeme si teda niektoré dôležité oblasti. Najskôr začnem plateným programom.
Platený program
Po kliknutí na Continue sa zobrazí okno, kde vyzýva na priradenie developerského účtu (to je ten ktorý sme zrovna registrovali) k platenému programu. My zvolíme z možností Existing Apple Developer -> I'm registered as a developer with Apple and would like to enroll in a paid Apple Developer Program.
Ďalej je už zbytočné rozpisovať postup, všetky potrebné inštrukcie sú popísané v jednotlivých krokoch. Na konci registrácie je jedna záludná vec. Bude treba do Apple odfaxovať faktúru (Purchase Form). Proces trvá pár dní, Apple vás potom bude informovať, že transakcia prebehla úspešne. Platený program iOS Developer Program stojí $99 na rok.
Tip: na odfaxovanie faktúry môžete použit službu www.pamfax.com. Po registrácii sú k dispozícii 3 strany zadarmo, čiže k tomuto účelu je to ako stvorené.
Zhrnutie programov
- neregistrovaný developer - prístup k súborom dokumentácie
- registrovaný developer - prístup k súborom dokumentácie, k developerským videám z konferencií WWDC, prístup k inštalačným súborom developerských nástrojov ako XCode a pod., testovať môže iba v simulátore
- registrovaný developer s plateným programom - prístup ku všetkému spomínanému, prístup aj k beta verziám iOS a developerských nástrojov, možnosť generovania certifikátov pre testovanie na reálnom zariadení a push notifikácii, možnosť odosielať aplikácie do App Store alebo testovanie Ad-Hoc, správa aplikácii v App Store a rôzne štatistiky.
iOS Dev Center
iOS Dev Center je portálom, kde nájdete úplne všetko čo kedy budete potrebovať pri programovaní. V tomto článku budem opisovať iOS Dev Center iba z pohľadu registrovaného Apple Developera, bez plateného programu. Popis s plateným programom má význam iba v samostatnom článku.
Downloads - obsauje kompletný set developerských nástrojov, ktoré bude potreba na programovanie nielen pre iPhone, ale aj Mac a iPad.
Getting Started Videos - odkaz na videá o programovaní pre iPhone, je ich vyše 30, kde inžinieri a developeri z Apple hovoria o rôznych oblastiach. Videá nie sú celé, ale dajú sa prezrieť celé v iTunes U, stačí sa cez tento link http://developer.apple.com/videos/wwdc/2010/ preklikať do iTunes a prihlásiť pod developerským kontom. Niektoré pokročilejšie videá sú však prístupné iba s plateným programom.
Tip: Na tomto mieste je vhodné spomenúť program univerzity v Stanforde CS193p. Ide o verejne prístupný predmet zameraný na programovanie pre iPhone, nájdete tu jednotlivé cvičenia, zadania, prednášky (videá aj prezentácie). Stačí v iTunes Store pod záložkou iTunes U vyhľadať CS193p. Link na cvičenia je http://www.stanford.edu/class/cs193p/. Prednášajú to zamestnanci z Apple.
Getting Started Documents - zoznam dokumentov kde Apple popisuje ako začať v rôznych oblastiach, napríklad Audio/Video, grafika, animácie, networking a internet, bezpečnosť a pod.
iOS Reference Library - všetky technické dokumenty po hromade na jednej stránke v kategóriach, súčasťou Reference Library sú aj Getting Started Documents, Coding How- To's, Sample Code a hlavne Guides. Okrem toho tu nájdete aj rôzne API a frameworky a ich detailné popisy.
Tip: V Kategórii Guides nájdete dokumenty popisujúce rôzne koncepty iOS operačného systému, popisy toho čo všetko dokážu a ako fungujú. Najpodstatnejším dokumentom je zrejme iOS Human Interface Guidelines a iOS Application Programming Guide. Odporúčam tieto dokumenty preštudovať ako prvé.
Coding How-To's - je zoznam otázok a odpovedí so zdrojákom, ako naprogramovať rôzne veci v rôznych technológiach.
Príklad obr.
Sample Code - Apple tu poskytuje rôzne ukážky malých jednoduchých programov na demonštráciu ako používať rôzne technológie. Tieto programy si môžete skompilovať a otestovať, samozrejme sa nimi inšpirovať.
Nabudúce...
Ospravedlňujem sa za taký dlhý článok, ale pre začiatok verím, že mi to odpustíte, v nasledujúcich článkoch budem určite stručnejší. Nabudúce by som chcel venovať rýchlemu prehľadu Objective-C. Ak máte nejaké špeciálne požiadavky alebo návrhy, nezabudnite sa o ne podeliť v komentároch. Na záver dávam ešte do pozornosti, že majitelia iPhonov alebo najlepšíe iPadov, si môžu stiahnuť v iBooks knihy o programovaní pre iOS, ktoré sú priamo od Applu a sú zadarmo. Stačí keď v iBook store do vyhľadávania zadáte “Apple Developer Publications”.
Linky, ktoré uložiť do bookmarks:
Apple Developer
iOS Dev Center
iOS Reference Library
iOS Human Interface Guidelines
iOS Application Programming Guide
Learning Objective-C
WWDC 2010 Session Videos
6 komentárov k článku:
Komentovať môžu iba prihlásení
Zaregistruj sa cez bezplatnú registráciu alebo použi login cez Facebook (FB Connect)
Prihlás sa tu, ak už máš profil na Zajtra.sk:

@Tomáš Nikl Nejaké články aj video nájdete na blogu www.iosdeveloper.sk :-)
Novinky
1 rokom
Používatelia Chrome začali prechádzať na nový rýchlejší Firefox, avizujú dáta Mozilly
Nový lepší a rýchlejší prehliadač Firefox 57 Quantum vyúsťuje zrejme do viac používateľov prechádzajúcich respektíve vracajúcich sa na tento prehliadač z iných prehliadačov, na osobných počítačoch aj smartfónoch.
1 rokom
Briti dokončili kúpu SK-NIC-u. Nové .sk domény nechávajú za 8.4 eur
Predaj správcu slovenskej domény .sk, SK-NIC, bol dokončený a novým majiteľom po telekomunikačnej skupine Danubiatel, do ktorej patrí napríklad Swan a 4ka, je britská spoločnosť CentralNic.
1 rokom
Šifrovanie diskov v Linuxe sa výrazne zlepšuje, dostáva ochranu integrity
Technológia šifrovania diskov LUKS podporovaná v Linuxe a využívaná mnohými linuxovými distribúciami dostáva výrazné vylepšenie v podobe vydania novej hlavnej verzie nástroja cryptsetup 2.0.0.
1 rokom
Blýská se Tesle na lepší časy? PepsiCo objednala 100 kamionů Semi
Známá automobilka Tesla má v poslední době problémy s plněním ambiciózních výrobních plánů stanovených vizionářem Muskem a pohybuje se v červených číslech.
1 rokom
DSL rozchodili cez mokrý špagát, dosiahli 3.5 Mbps. Nesimulovali slovenské linky?
Technik menšieho britského telekomunikačného operátora Andrews & Arnold uskutočnil zaujímavý experiment, keď sprevádzkoval pripojenie technológiou ADSL cez namočený špagát.
Staršie novinky »TOP dlhšie
- 01 Podporte každoročnú akciu Týždeň práce z domova (4885x)
- 02 Inteligentná domácnosť: III. diel - inštalácia a rozbehanie ovládania (843x)
- 03 Môj život s Philips Hue (513x)
- 04 Java 8 - Lambda výrazy (454x)
- 05 GDPR: Pozor na dáta na vyradených diskoch! (436x)
- Aj ty môžeš byť najčítanejší. Napíš článok »
TOP tento mesiac
- 01 Skvelý dôvod, prečo sa hráči mali zbaviť káblov (174x)
- 02 Nahradí micro LED televízory OLED? (74x)
- 03 PPC – vojna, alebo ako poraziť konkurenta (69x)
- Aj ty môžeš byť najčítanejší. Napíš článok »
Nové články:
- 1.PPC – vojna, alebo ako poraziť konkurenta
feb - 31.Nahradí micro LED televízory OLED?
jan - 30.Skvelý dôvod, prečo sa hráči mali zbaviť káblov
jan - 14.Šifrované SSD Kingston UV500
dec - 10.50 rokov od predstavenia myši
dec - Viac »
- Aj ty môžeš byť najčítanejší. Napíš článok »
Pekné veci
Pekné veci
Pekné veci
Pekné veci
Posledné komentáre
- Zdravím, mám restaurační zařízení v turisticky hojně navštěvované oblasti, kde je však k...
- Kingston je najlepsia znacka na usb,flash discy ako aj na sd karty. Kto by chcel moze vy...
- Tiez pouzivame profit365, v ramci tychto ekonomickyhc softverov nam daval najlepsi vyzna...
- Taketo zariadenie by sa mi zislo. Mam viacero zariadeni od TP Link, skvela znacka na zar...
- Mam doma smart TV Philips s ambilight. Dobre sa pozera na TV ked je zo zadu osvetlene a ...
Kritika
Vieš ako robiť veci lepšie? Pomôž našim odvážnejším členom a skritizuj im projekty!
Reklama
Slovenská IT komunita
Seriály zo Zajtra.sk
· Ako písať blog
· Ako sa stať PHP ninja s Yii Frameworkom
· Aplikácie pre Facebook
· CSS triky
· iOS vývojára príhody a skúsenosti
· Jednoduché programy, ktoré vám ušetria čas
· Modelovanie webového sídla
· Nauč sa CodeIgniter [HD]
· Nauč sa jQuery [HD]
· Nette PHP framework
· OOP v Javascripte
· Programujeme v Jave
· Programujeme v Lazaruse
· Programujeme v Pythone
· Robíme Eshop v ASP.NET Web Pages
· Slovenskí iOS developeri
· Webdizajn krok po kroku
· Yablkov TurboTip [HD]
@Tomáš Nikl Nejaké články aj video nájdeš na blogu www.iosdeveloper.sk :-) Postupne budú pravidelne pribúdať nové.