spájame
slovenskú
IT komunitu
pridaj sa
Registrácia · Login

Peter Druska 14.4.2011, článok je súčasťou seriálu iOS vývojára príhody a skúsenosti
Hodnoť článok:
0 0

iOS vývojára príhody a skúsenosti (6) - náročné aplikácie

Tentokrát sa s vami podelím o skúsenosti s „Core Data“. Teda moje začiatky, ako to prebiehalo, kde boli problémy …

Veru, rozlúsknuť pre mňa „Core Data“ nebolo na jedno doobedie, ale nakoniec sa mi to podarilo. Neuveriteľná skúsenosť, ktorú si musíte zažiť. Hlavne pre nás takých, ktorí s objektovým a vôbec serióznym programovaním nemáme veľké skúsenosti a len začíname. Na druhú stranu, keď je motivácia obrovská, všetko sa akosi rýchlejšie dá naučiť. Až neuveriteľne.

„Core Data“ technológia slúži na ukladanie, vyberanie a editáciu dát do/z dátového modelu. V podstate objektová vrstva nad databázou v iOS/Mac OS X zariadeniach. S „Core Data“ som začal preto, lebo už som sa dostal do štádia, kedy chcem vypustiť svoju prvú komplexnú a vysoko použiteľnú aplikáciu, o ktorej si povieme niečo neskôr. Teraz by bolo predčasné o nej hovoriť, keďže vôbec nie je hotová. Premýšľam, že by bola super lacná (ale nie zadarmo). No nejdem predbiehať.

Vysvetľovať a učiť vás „Core Data“ nejdem, pretože najprv to musím sám dobre pochopiť. V tomto čase ešte len objavujem krásu a silu tohto nástroja. Navyše vyšla nová verzia XCode, ktorá je úžasná svojim veľmi starostlivo premyslením prostredím, takže sa chvíľu budem spoznávať aj s týmto novým kúskom.

(V tomto odseku prebieha spoznávanie sa s novým XCode).

S novým prostredím XCode som sa spoznal rýchlo, vôbec to nebolelo.

Pri vytváraní mojej v poradí tretej aplikácie, ktorá je náročnejšia, ako predošlé dve, o dosť náročnejšia, som narazil na problémy alokovania a uvoľňovania pemäte a riešil niekoľko dní jeden a ten istý problém. Proste som uvoľnil pamäť skôr, ako som mal. Ale to som vtedy nevedel a bol už priam zúfalý. Nevedel som, čo s tým. Možno sadnúť k popisu správy pamäte a dočítať sa k riešeniu. To však pri tak silnej túžbe niečo dokončiť nie je reálne. Kto nezažil, neuverí.

Potom som si povedal, že tú hotovú časť, čo už mám nakódenú, napíšem znovu od začiatku. Od úplného začiatku, čo sa ukázalo ako prospešné. Okrem toho, že som našiel chybu som zistil, že PREČO mi to zhadzovalo. Úžasné. Pre niekoho možno triviálna záležitosť, ale pre začínajúceho vývojára neuveriteľný poznatok, a poučný.

Celé Core Data je o dobrom návrhu modelu (ako aj iné veci), s ktorým sa v samotnej aplikácií pracuje už veľmi jednoducho, až moc jednoducho. Až tak jednoducho, že sa zdá, že s tým nepracujete. Ak ste niekedy riešili prepájanie tabuliek pomocou kľúčov, tu je to automaticky vyriešené za vás v podstate na úrovni zaškrtnutia jedného „checkbox-u“. Každá entita (tabuľka) má vlastnú vnútornú štruktúru unikátnych kľúčov. Vy sa staráte len o samotné dáta. Na preväzovanie je tu Core Data, čo je super uľahčenie pri kódení.

Riešiť nejaký problém v náročnej aplikácii znamená prichádzať stále do nových zákutí vývoja pre iOS. Raz sa vám niečo podarí, potom zase zistíte, že sa to dá urobiť aj lepšie (niekto vám to poradí (Však, Jakub?), sami na to prídete, …). Stále dookola. Nové a nové zmeny, prichádza občas frustrácia, ale to rýchlo prejde. Riešenia sa dajú nájsť relatívne svižne pri intenzívnom hľadaní a premýšľaní o tom, ako veci fungujú (a mali by fungovať).

Odbočka k doteraz vypusteným aplikáciám

Moje doteraz vypustené aplikácie, Rainbow Master a My White Stork sa majú vo svete aplikácií tak, ako väčšina ostatných. Rainbow Master sa predáva tak 1ks/týždeň a My White Stork sa stiahne denne maximálne 5-krát. V čase, keď som zlacnil tehotenskú kalkulačku na 0€, tak v prvý deň si ju stiahlo 47 ľudí, v druhý 21, v tretí 8 a potom to klesalo až dodnes, kedy to denne činí 1-2 kusy, výnimočne tak 8.

Naspäť k aktuálnym myšlienkam

Pri vývoji ďalšej aplikácie prišlo ďalšie priehrštie nápadov na ďalšie aplikácie. Jedna je až tak jednoduchá na vytvorenie, že som ju začal aj realizovať. Takže tu ma máte, vyvíjajúc dve aplikácie naraz. Moje dojmy sú asi také, že sa to nedá. Vždy treba prepnúť myšlienky a to istý čas trvá. Preto je vhodné striedať to v rozumných intervaloch, nie často. Povedzme týždeň vyvíjať jednu aplikáciu a týždeň druhú, a podobne.

Dokonca sa pristihujem aj pri tom, že by som si vedel predstaviť prácu na vývoji aplikácií na plný úväzok (povedzme 6 hodín denne) a nie po večeroch, ako teraz. Problém je, že to vyžaduje ešte čas, kým sa zdokonalím. Tak rok intenzívneho tréningu a kódenia vlastných nápadov (i pre druhých, ak príde) tomu dávam, aby som vedel vyslovovať odvážne vízie aj o zakladaní vlastného podnikania v tejto oblasti.

Dokonca mi napadlo niečo veľmi kacírske. Urobiť test z jednou aplikáciou. Vypustiť ju na prvý deň za najvyššiu cenu 799,99€ a čakať na jedného sponzora. Potom aplikáciu zlacniť. Našťastie pre všetkých, toto neurobím. Iba čo by sa dotyčný asi dosť naštval, keby na druhý deň zistil, že aplikácia je odrazu za 0,79€. Za pokus by to však stálo. Možno ale na dlhšie obdobie, ako jeden deň. Raz sa na to odhodlám.

Peter Druska Peter Druska

Vyše 13 rokov som robil CSS/HTML šablóny webových sídiel ako Pokec.sk, Azet.sk a iných. Robil som vlastné iOS appky, neskôr som prešiel programovať najskôr do Starbug.eu, neskôr do Inloop.eu. Pomedzi to som učil chvíľu na gymnáziu, no odišiel som, pretože som bol myslením nekompatibilný. Po inloope som prešiel do firmy become.sk, kde mám za úlohu vybudovať oddelenie mobilného vývoja. Tomu sa teraz venujem naplno, popri tom robím aj vývoj pre iOS. Tu sme založili značku Bedots.eu.


Hodnoť článok:
0 0

1 komentár 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:


Zabudol som heslo

0 0 Ján Žitniak (fb) 15.4.2011 00:00:00
Takto to vidím: Treba sa oveľa viac natrápiť nad aplikáciou, treba byť originálny a potom zarobíš. A jeden človek, to asi výnimočne.

Poznám človeka, ktorý urobil zobrazenie PSD súborov na Apple - to sa mi zdá byť vcelku praktická vec s ohľadom na to, že IPhone bežne používajú fotografi (teda mám aspoň taký dojem :-)

Prajem Ti veľa úspechov, sám som na podobnej ceste :)
Zajtra.sk > Programovanie > iOS > iOS vývojára príhody a skúsenosti (6) - náročné aplikácie


Kritika

Vieš ako robiť veci lepšie? Pomôž našim odvážnejším členom a skritizuj im projekty!

Reklama

Seriály zo Zajtra.sk

Reklama