Ako sme vytvorili knižku o programovaní pre iOS
Peter Druska vydáva v iAdverti knižku Návrh iOS aplikácie od úplného začiatku a musím Vám prezradiť niečo o genéze jej vzniku. Pred pár rokmi som si nainštaloval do počítača xcode a nejaké doplnky na programovanie na iOS. Príliš som tomu prostrediu nerozumel a tak som to nechal tak. Na diskusnom fóre sa sporadicky objavovali otázky ako začať s programovaním iOS. Bolo ťažké vysvetľovať, čo všetko k tomu treba a všetky dostupné materiály sú „kdesi“ na internete. Videá, učebnice v angličtine.
Bolo mi jasné, že je tu priestor, aby schopný iOS programátor vysvetlil väčšiemu publiku ako začať. Premýšľal som nad najvhodnejšou formou a vyšlo mi, že na to treba manuál písaný tak zrozumiteľne, aby nevyžadoval a nepredpokladal externe získané schopnosti. Odbornejšie manuály by totiž mohli zabiť motiváciu. Tu sa mi zdalo, že najlepšie sa vysvetľuje na konkrétnom príklade, kedy spoločne s lektorom vytvoríme jednoduchú aplikáciu.
Pred pár mesiacmi som sa rozprával s Petrom nad touto predstavou. On sa zaoberá aplikáciami pre deti ale vytvoril aj veci zamerané na výuku. Predstava výuky programovania pre iOS „na zelenej lúke“ sa mu páčila. Rýchlo pochopil to, čo som popisoval a tak som natrafil na človeka, ktorý ovláda iOS a zároveň vie písať.
Voľba padla na nový formát iBooks s možnosťou vkladania galérií obrázkov a videa, ktorá sa napíše v novom produkte iBooks Author od Apple.
Vysvetlil som Petrovi svoj pohľad na vec, nedokážem si sadnúť k suchým zložitým manuálom, ktoré nemajú nijaký hmatateľný cieľ. Potreboval som získať skúsenosti pri tvorbe podľa konkrétneho príkladu. Uvedomoval som si, že najprv potrebujem z prostredia xcode vypreparovať dôležité prvky smerujúce k tomu, aby som navrhol aplikáciu. Bežné manuály by som najprv musel prečítať celé a potom naslepo skúšať, čo vlastne použiť a v akom poradí.
Chýbala mi teda dobre komentovaná knižka, ktorá nezabudne na drobné bariéry na tejto ceste. Programátor by totiž pri výuke mohol predpokladať, že niektoré drobnosti sú „jasné“ a nemusí ich rozoberať.
S Petrom sme sa preto dohodli, že budem z mojej pozície masívne komentovať zrozumiteľnosť obsahu. Ja sám som začínal programovať najprv pre PMD-85 v Basicu a neskôr aj jeho assembler, súbežne aj to isté pre ZX Spectrum. Po pár rokoch to už bol Turbo Pascal a assembler pre PC. Ukončil som to experimentami v Delphi a tam som s „veľkým“ programovaním skončil. Programátorske myslenie teda mám a môj predpoklad bol, že dokážem identifikovať problémy so začiatkami v prostredí xCode.
Jadro knihy som nakoniec mal rýchlo u seba a mohol som začať písať pripomienky k zádrheľom v obsahu. Počnúc mnohými detailami ale aj pár koncepčnými záležitostami to nakoniec prebehlo v nepočítateľných kolách verzií knihy, ktorú som postupne mnohokrát znova a znova prečítal.
Knihu sme „odladili“ až do takej miery, že som ju zvlášť čítal vo vertikálnej polohe a zvlášť horizontálnej. V knihe je množstvo odkazov, vložených obrázkov a všetko v nej som chcel, aby bolo na logickom mieste, v správnom poradí. Neustále som sa vracal k popiskom obrázkov, dôležitosti celých kapitol, odstavcov až do úrovne spojok či spôsobu oslovenia čitateľa.
Knižku, bez preháňania interaktívny kurz programovania, sme nazvali Návrh iOS aplikácie od úplného začiatku a na jar 2012 bola v podstate hotová.
Ešte dnes, v čase jej vydania som z nej nesmierne nadšený. Viem, že existujú rôzne iné učebnice a manuály. Viem, že existujú aj kurzy, či už tradičné alebo rôzne videá, screencasty. Vospolok im chýba fakt, že začínajúci programátori sú mladí, majú možno aj problém s cudzím jazykom. Zároveň je ich motivácia krehká a bolo by dobre ich povzbudiť na začiatku tým, že s pomocou vytvoria konkrétnu aplikáciu.
Preto je táto knižka sledom krokov. Na začiatku máme iba počítač a na konci sa už pozeráme na hotovú aplikáciu. S touto knižkou prejdeme pútavo, svižne a zrozumiteľne všetkým, čo sa pri tvorbe knihy zdalo dôležité. Stále sme mysleli na to, aby sa nikto nikde „nezasekol“ bez vysvetlenia.
Rozsah knižky je dôležitý, nebudete na ňu potrebovať mesiace. Môžete ju použiť na bezmyšlienkovité odklikávanie a aplikáciu spustíte možno v priebehu pár hodín. Zároveň sa však môžete ku knižke znova vrátiť a začať nad všetkým premýšľať, zastaviť sa, odbočiť a vyskúšať si čosi málo zmeniť či urobiť inak. Snažíme sa čitateľa motivovať k tomu, aby po prvom jednoduchom úspechu začal experimentovať. Nemusí sa sám zdržovať formálnymi postupmi. Tie zvládne s pomocou knihy aj bez zložitého vysvetľovania kontextu.
Naše rozhodnutie bolo aj v tom, že vynecháme Objective-C. Úplne samozrejme ho v knižke používame a dával som pozor na to, aby neznalosť syntaxe tohto jazyka nebol prekážkou a zároveň aby zdrojové kódy boli dokonale zrozumiteľné. Predpokladáme totiž, že motivovaný začiatočník siahne po manuáli tohto jazyka alebo začne s hotovými riešeniami, takže v praxi vnikne do tohto jazyka omnoho rýchlejšie ako niekde v kresle.
Naša kniha je teda človek sediaci s vami pri počítači, ktorý ukazuje kam kliknúť, čo kam napísať s jednoduchým a dosiahnuteľným cieľom. Vybrali sme si naprogramovanie aplikácie, ktorej vlastnosti sme s Petrom prediskutovali tak, aby zahŕňali príklady riešení, ktoré majú praktický význam. Akonáhle ich čitateľ pochopí, ľahko si odvodí ďalšie možnosti.
Peter nazval aplikáciu Stopár a vlastne je to viac aplikácií v jednej. Prvá je jednoduchý formulár, kde zadáme údaj, aplikácia ho spracuje a zobrazí. Veľmi častá záležitosť. Druhá využíva možnosti telefónu, načítavanie GPS polohy, získanie informácií z internetu a ich spracovanie. Tretia zasa použije knižnicu na odoslanie e-mailu či status na twitter. Nakoniec sme sa rozhodli, že ukážeme možnosti notifikácií (lokálnou push).
Som presvedčený, že z týchto základov dokáže motivovaný človek rýchlo odvodiť rôzne modifikácie Stopára ale asi aj rýchlo vytvorí svoju prvú vlastnú jednoduchú aplikáciu.
Asi ste už pochopili, že knižka je určená začiatočníkom. Musím pripomenúť, že to môžu byť aj programátorskí začiatočníci, pre ktorých bude xcode tým istým ako pre mňa Basic na PMD-85 či assembler procesoru Zilog. Lenže sme sa nechceli obmedziť len na nich. Knižku určite ocení aj rutinný programátor, ktorý by chcel migrovať na prostredie OS X, iOS a xcode. Pozná možno iné nástroje a chce rýchlo zistiť, či ho bude toto programovanie baviť.
Môže tak urobiť s knižkou v ruke sediac za počítačom ale aj bez okamžitého skúšania programovať.
Robili na nej teda ľudia s rovnakou motiváciou akú budú mať jej čitatelia. Ja sám osobne sa teším na okamih, keď si znova prejdem knižku, naklikám si Stopára a začnem sa v ňom vŕtať a skúšať, čo dokážem. Venoval som jej niekoľko mesiacov, niekoľko intenzívnych večerov, a tých niekoľko kôl premýšľania nad formuláciami, ich významom, diskusiou s Petrom ma presvedčilo, že moja predstava sa naplnila.
Interaktívna knižka Návrh iOS aplikácie od úplného začiatku vychádza vo vydavateľstve iAdverti, dostanete ju teda pre iPad v BookStore. Cena 19,99 eura.
[appstore id=551958666]