Jak vznikala interaktivní kniha o programování pro 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.

Autorem tohoto textu je spoluautor knihy, Robert Madaj. Jeho blog najdete na adrese spravodaj.madaj.net.

27 komentářů: „Jak vznikala interaktivní kniha o programování pro iOS?

  • avatar
    03. 10. 2012 (07:40)
    Trvalý odkaz

    Proč jen pro iPad, proč ne pro iOS X, vždyť tam budu programovat v Xcode, nebo ne? Proč to neudělat pro všechny platformy iOS?

    • avatar
      03. 10. 2012 (07:54)
      Trvalý odkaz

      Petr, pretože iBooks Author tvorí len pre iPad. Pretože interaktívne prvky sú dostatočne veľké rozmerovo na to, aby to iPhone nedokázal polnohodnotne zobraziť (iBooks Author nie je určený pre iPhone). Prečo sa to nedá zobraziť v OS X? To sa treba spýtať Apple, prečo sa nedajú interaktívne eknihy z iBooks Author čítať na počítači (je to podľa mňa škoda, hlavne v dobe MB Air, čo mnohí považujú za náhradu za iPad).

      • avatar
        18. 03. 2014 (17:18)
        Trvalý odkaz

        Ja som si to kupil na MacBook Air. Ak toto nieje podporovana platforma preco autor povolil kupu tejto knihy na Mac Book Air?
        Vyhodil som 15Eur do vzduchu za nieco co si ani nepozriem.

        Som rad ze autor je bohadsi o 15 Eur a ja nasraty.

    • avatar
      03. 10. 2012 (07:55)
      Trvalý odkaz

      Je to vytvorene nastrojom iBooks Author. Podstatne na knizke su prave vlozene interaktivne galerie a videa. Iny nastroj umoznujuci vlozenie takyto typ knizky do BookStore neexistuje.

  • avatar
    03. 10. 2012 (08:01)
    Trvalý odkaz

    Děkuji za odpověď, je to velká škoda, že to na macku nejde :( ale tak budu doufat že se situace změní.

  • avatar
    03. 10. 2012 (08:05)
    Trvalý odkaz

    Silne zvažujem kúpu tejto knihy. Chcem sa opýtať či po prečítaní knihy budem schopný vytvárať aj aplikácie s vlastnou grafikou, alebo len používať štandartné prvky (tlačidlá, formuláre,…) z prostredia iOS. Lebo podľa priloženého videa mi to nie je jasné. Zaujímajú ma veci ako využitie fotoaparátu (videa), ukladanie do albumov, úprava fotiek, zdieľanie fotiek, gps tracker, prepojenie s databázami.
    Ďakujem za info

    • avatar
      03. 10. 2012 (08:09)
      Trvalý odkaz

      Kniha nie je určená na naučenie tvorby a prepojenia grafiky s aplikáciou. Bola by už príliš dlhá. Fotoaparát a práca s fotkami sa v knihe nespomínajú. GPS lokalizácia sa robí na pomerne jednoduchom príklade. Prepojenie s DB sa nerobí.

      • avatar
        03. 10. 2012 (08:26)
        Trvalý odkaz

        No to je škoda, za 20€ som čakal komplexnejšiu knihu
        Ale aj tak ju asi kúpim :-)
        Vidím ju ako dobrý odrazový mostík pre začiatočníkov, niekedy som programoval na Didaktiku v Basicu odvtedy dlho dlho nič a chcem to znova s kódovaním skúsiť…

        Tak nakoniec ešte jedna úplne začiatočnícka otázka. Po prečítaní knihy pochopím základy a princípy programovania v xcode, bude obtiažne na to naviazať a začať robiť vlastnú grafiku do aplikácií a využívať funkcie fotoaparátu? Ide len o nové knižnice (príkazy) založené na naučenom princípe, alebo o úplne niečo nové?

        Možno sa pýtam hlúpo, ale kto sa nepýta zomrie hlúpy :-)

        • avatar
          03. 10. 2012 (09:57)
          Trvalý odkaz

          Presne, ako očakávaš. Kniha Ťa naučí vidieť princípy, základné pravidlá. Keď to nasaješ, ako niekdajší programátor si to rýchlo oprášiš, aj keď toto je čisto objektové programovanie.

          V podstate Ťa kniha vovedie to sveta Objective-C bez toho, aby si študoval siahodlhé príručky. Objective-C príde potom, keď budeš mať záujem, ako píšeš, pracovať s fotkami. Nájdeš si tutoriál (na dobré zdroje sa v knihe odkazuje), podľa neho si urobíš príklad a od toho je len krok k tomu, čo chceš. Je to cesta učenia sa, čo kniha sama nemôže obsiahnuť. Ty sám si musíš prejsť chybami, ktoré sa nedajú naučiť z knihy :-).

          • avatar
            03. 10. 2012 (10:30)
            Trvalý odkaz

            Presvedčili ste ma, dnes ju kúpim :-)
            Som rád že sa nájdu nadšenci a podobné publikácie vydajú v slovenskom jazyku, rád podporím podobné projekty a dúfam že ich bude len pribúdať. Prajem pekný deň

          • avatar
            04. 10. 2012 (05:27)
            Trvalý odkaz

            Tak som ju včera kúpil, dizajnovo veľmi vydarená, zatiaľ som prečítal len pár strán, videá a interaktívne obrázky tiež super, viac sa do toho pustím až budúci týždeň. Nechystáte sa potom vydať aj nejaké pokračovanie pre tých ktorí zvládli túto prvú knihu?

          • avatar
            04. 10. 2012 (13:37)
            Trvalý odkaz

            Som rád, že sa kniha páči :-). Dovoľ mi neodpovedať na položenú otázku.

        • avatar
          03. 10. 2012 (10:19)
          Trvalý odkaz

          Prave s takymto backgroundom je tato kniha ako keby pri tebe sedel programator a diktoval ti, co robit. Principy programovania sa silne zmenili a pri pohlade na xcode mozes byt zmateny, v tomto kniha pomaha a vedie. Nie je to ucebnica, je to sprievodca.

          Samozrejme hned ako uvidis ako sa robi aplikacia uz budes vediet, ci to vobec zvladas. Potom uz budes vediet, ze potrebujes ovladnut syntax jazyka C, budes vediet, kde googlovat hovote kody, ako si poskladat to, co by si chcel robit = trebars aj to ovladanie fotaku.

          Urcite by mala cenu aj kniha pre pokrocilejsich, no tam je aj pragmaticky pohlad – tito ludia uz vnikli do problemu a asi by obsah knihy nevystihol vsetky mozne potreby, takze tam uz su lepsie ine postupy a to napr. rozne referencne prirucky, popisy frameworkov a hotove kusy kodu atd.

    • avatar
      03. 10. 2012 (08:17)
      Trvalý odkaz

      Ešte by som dodal, že kniha Ťa namotivuje robiť aplikácie. Nenaučí mysleniu programátora, nenaučí tvoriť grafiku pre appky. Dokážeš však pomocou nej a pár úkonov urobiť skutočne funkčnú aplikáciu, kde sa Ti otvoria dvere a už budeš vedieť lepšie povedať, čo chceš a definovať svoj problém.

  • avatar
    03. 10. 2012 (11:42)
    Trvalý odkaz

    Dufam ze v blizke buducnosti apple vyda niaku aplikaciu na citanie iBooks na OSX. Je to divne ze zatial nieje.

  • avatar
    03. 10. 2012 (13:01)
    Trvalý odkaz

    Ja len nechápem preco je určená len pre iPad ked iBooks podporuje aj iPhone, ta kniha ma zaujala a zvazoval som jej kúpu, ale kedze mám len iPhone, koli knihe iPad kupovať nemienim. No je o škoda ze užívateľ ktorý iPad nevlastní len iné zariadenie tak k nej prístup nemá.

    • avatar
      03. 10. 2012 (13:28)
      Trvalý odkaz

      iBooks Author (v ňom je kniha vytvorená) umožňuje tvorbu ekníh len pre iPad.

  • avatar
    03. 10. 2012 (13:06)
    Trvalý odkaz

    Nic v zlom ale neuvazujete nad nejakou akciou napriklad na 1 den znizit cenu. Vycalovat 20€ za elektronicku knihu nieje teda priliz lacne. Okrem toho z toho textu a videa som sa o knihe nedozvedel takmer nic.

    • avatar
      03. 10. 2012 (13:28)
      Trvalý odkaz

      Kniha obsahuje rozsiahle množstvo video návodov a interaktívnych prvkov. Samotného textu tam nie je veľa. Nie je to kniha, ktorú čítaš, je to kniha, ktorú pozeráš. Inštruktor, ktorý Ťa vedie.

    • avatar
      03. 10. 2012 (13:30)
      Trvalý odkaz

      Ešte sa môžeš rozhodnúť na základe recenzie u Aliana: alian.info/2012/09/peter-druska-navrh-ios-aplikacie-od-uplneho-zaciatku/

    • avatar
      03. 10. 2012 (17:28)
      Trvalý odkaz

      Preto popisujem ja osobne, akym sposobom knizka vznikala, ja som xcode nikdy predtym nepoznal a chcel som od Petra knihu, ktora splni to najpodstatnejsie: zacnem ako laik a s pomocou tejto knizky uvidim funkcnu aplikaciu, ktoru som si vyrobil. Knizke vyslo niekolko dalsich recenzii, kde vsetci autori mali knizku k dispozicii. Tvoj navrh je neobvykly a zodpoveda povedzme tomu, ze ja mam zaujem o novy model auta a poziadam predajcu, aby ho v sobotu zlacnil na zlomok jeho ceny, vtedy si ho pribehnem kupit. Len neviem co by malo potom nasledovat.

      Prosim, precitaj si dostupne recenzie knizky, ak mi doverujes, vyssie mas text odo mna a velmi nas potesi, pokial svoju ambiciu vytvarat aplikacie iOS naplnis a este viac, pokial ti v zaciatkoch pomoze aj nasa knizka. Mozno to bude jedna z mnohych tvojich investicii do svojej dalsej uspesnej kariery.

      Ja sa potesim kazdemu dalsiemu sikovnemu vyvojarovi, pevne dufam, ze o tebe budeme este pocut prave z App Store.

      • avatar
        04. 10. 2012 (07:38)
        Trvalý odkaz

        Samozrejme takto ponate s predajcom aut to moc zmysel nedava (aj ked je celkom bezna zlava vystavna ci predpredajna) Ja som mal skor na mysli vyhodnejsie zlacnenie urcene na propagaciu. Stava sa pomerne casto pri apple softe ze je zlacneny ak nie uplne zadarmo. Kto chce prilezitost si najde. Neberte to v zlom ale snazim sa kupovat soft vyhodnejsie a podporit tym autora ale samozrejme cena u mna rozhoduje.

  • avatar
    04. 10. 2012 (06:43)
    Trvalý odkaz

    Pani – zapojim sa za iAdverti malou mierou do diskusie. Podla informacii z Palo Alto by skutocne mal prist v dohladnej dobe reader na desktopy (ibooks). Na telefone citat knihy vytvorene iBooksAuthorom nebude mozne vzhladom na dimenzie zariadenia. Ale iPadMini to bude zvladat uplne v pohode. Je zatial „šuškandou“ že ibooks ako reader bude volne dostupny aj v googleplay store. Uvidime…

  • avatar
    04. 10. 2012 (16:16)
    Trvalý odkaz

    Zdravím, nápad i kniha vypadá moc hezky. Ale nešla by udělat nějaká verze knihy pro Mac OSX? Také nevlastním iPad, čímž vlastně zcela přicházím o možnost si tuto knihu přečíst…díky

Komentáře nejsou povoleny.