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
2 rokmi
Aprílové vtípky: Výběr toho nejlepšího kolem počítačů, internetu a techniky
Výběr nejlepších aprílových vtípků 2019
2 rokmi
Fotky Google sa učia lepšie pracovať s dokumentmi
Spoločnosť Google prostredníctvom svojho účtu na sociálnej sieti Twitter oficiálne predstavila novú funkciu svojej aplikácie Fotky Google.
2 rokmi
Gmail dovoľuje naplánovať poslanie emailu neskôr
Spoločnosť Google dnes oznámila pridanie funkčnej novinky do svojej populárnej webmailovej služby Gmail, možnosť naplánovať poslanie emailu na neskôr.
3 rokmi
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.
3 rokmi
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.
Staršie novinky »TOP dlhšie
- 01 Farbičky v HTML a CSS, alebo? (891x)
- 02 Tiché COMBO Logitech MK295 (738x)
- 03 Kamery, cloud a bezpečnosť (721x)
- 04 Kingston uvádza 128GB verziu šifrovaného USB (708x)
- 05 Pochopte, ako vytvoriť virtuálny obchod v 6 krokoch (637x)
- Aj ty môžeš byť najčítanejší. Napíš článok »
TOP tento mesiac
- Aj ty môžeš byť najčítanejší. Napíš článok »
Nové články:
- 14.Kingston uvádza 128GB verziu šifrovaného USB
sep - 10.Tiché COMBO Logitech MK295
sep - 24.Farbičky v HTML a CSS, alebo?
aug - 23.Pochopte, ako vytvoriť virtuálny obchod v 6 krokoch
aug - 29.Kamery, cloud a bezpečnosť
jul - Viac »
- Aj ty môžeš byť najčítanejší. Napíš článok »
Pekné veci
Pekné veci
Pekné veci
Pekné veci
Posledné komentáre
- Pokiaľ používaš nejaký lepší bitmapový editor, napr. Photoshop, a chceš robiť retuše, ed...
- Veľmi dobrý článok a pre začiatočníka úplne odrazový mostík. https://ludwaismania1.blogs...
- Nova international a prima lus majú vysporiadané pravs ale aj CNN prima News
- Tv Joj nijako neobmedzuje šírenie médii, ktoré majú vysporiadané licenčné práva pre Slov...
- Nech televizie vrátia naspäť originál verzie a tie internationali nech zrušia. Každý si ...
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é.