Přejít k navigační liště

Zdroják » Mobilní vývoj » Vývoj aplikací pro iPhone

Vývoj aplikací pro iPhone

Články Mobilní vývoj

Pro mobilní platformu Apple, která je reprezentována mobilním telefonem iPhone a multimediálním přehrávačem iPod Touch, je dnes dostupných více než 115 tisíc aplikací. V tomto článku se podíváme na tuto platformu a prolétneme celý proces vývoje od spuštění vývojového prostředí až po zveřejnění aplikace v App Store.

Ve znamení Cocoa

Když v roce 1996 Apple kupoval společnost NeXT získal touto akvizicí nejen zpět Steva Jobse, ale i framework Cocoa, na kterém následně začal stavět novou generaci svého operačního systému nazvaného OS X. Možná tehdy ani netušil k čemu všemu Cocoa jednou použije.

Po uvolnění první verze iPhone SDK, vývojového prostředí pro tvorbu vlastních aplikací na iPhone, bylo jasné, že Apple zvolil tu nejelegantnější možnost, kterou v danou dobu měl. Jako základ použil osvědčený framework Cocoa, doplnil o další věci specifické pro mobilní platformu, celé to nazval Cocoa Touch a pustil mezi vývojáře. Díky tomu mohla početná základna Apple vývojářů začít s minimálním úsilím programovat pro nově vzniklou mobilní platformu. Vývojáři měli k dispozici IDE XCode, ve kterém doposud programovali aplikace pro OS X a tak jím nové prostředí nebylo vůbec cizí.

Abychom i my mohli začít programovat aplikace pro iPhone je potřeba si na stránkách http://developer.apple.com/iphone bezplatně stáhnout zmíněné iPhone SDK. Součástí tohoto cca. 2GB balíku jsou jednak knihovny Cocoa Touch, ale i IDE XCode, iPhone simulátor a dokumentace. Bohužel iPhone SDK lze instalovat pouze na operační systém Mac OS X což mimo jiné znamená i investici do hardware společnosti Apple, který v našich končinách nepatří k nejlevnějším.

IDE XCode splňuje většinu nároků, které v dnešní době klademe na dobré IDE pro vývojáře. Stejně jako např. Eclipse či Visual Studio nabízí integrovaný debugger, který umožní ladit aplikace nejen na simulátoru, ale i na reálném zařízení, integrovanou statickou analýzu kódu, která vám pomůže odhalit spoustu chyb, které byste jinak velmi těžko hledali a další užitečné věci.

iPhone vývoj obrázky

Velmi užitečným nástrojem, nezbytným pro samotný vývoj, je iPhone simulátor. Díky němu můžete aplikace spouštět na vývojářském stroji bez nutnosti testování na reálném zařízení. Je však nutné si uvědomit, že simulátor běží na hardware vašeho vývojářského stroje a tudíž je výrazně rychlejší, s větším množstvím operační paměti. Proto je nutné čas od času testovat aplikaci i na reálném mobilním zařízení, abychom předešli stavu, kdy naše aplikace bude velký pomalý moloch, který se v praxi nedá vůbec používat.

Zatímco běžně dostupný iMac má dneska 2.4GHz procesor, poslední model iPhone 3GS má procesor jen o frekvenci 600 MHz a operační paměť 256 MB. Předchůdce iPhone 3G, stále velmi hojně rozšířený, je na tom co do operační paměti o poznání hůře. Má pouhých 128 MB RAM.

Objective-C

Cocoa Touch je naprogramovaný v jazyce Objective-C (nebo také zkráceně ObjC) a proto, abychom tento framework mohli používat, musíme zvolit právě tento jazyk, který je hlavním a v podstatě jediným oficiálním jazykem pro tvorbu aplikací pro iPhone.

Jedná se objektově orientovaný programovací jazyk, kde jako základ byl zvolen neobjektový jazyk C. Objektové rozšíření bylo inspirováno jazykem Smalltalk a pro většinu programátorů tak může působit hodně netradičně pro svou syntaxi. Jelikož se jedná o nadstavbu jazyka C, je možné kompilátorem ObjC přeložit libovolný kód napsaný v čistém C. Toho se i hojně využívá, protože spousta knihoven je napsána v čistém C.

Jako příklad zmíněné netradiční syntaxe může posloužit fakt,  že v terminologii ObjC nevoláme metody, ale posíláme zprávy. Takže namísto klasického volání metody

instance.metoda();

posíláme zprávu

[příjemce zpráva];

ObjC má spoustu vlastností, které dělají tento jazyk zajímavým. Pro bližší seznámení s tímto jazykem doporučuji seriál od českého Cocoa GuRu Ondřeje Čady Nastal čas na kakao http://www.mujmac.cz/serial179.html.

Model-View-Controller

Základním stavebním kamenem Cocoa Touch aplikací je návrhový vzor MVC, na jehož podobu se v rychlosti podíváme.

Model

Model, jakožto vrstva pro práci s daty, může využívat databázi Sqlite, která je standardní součástí. V prvních verzích bylo dostupné jen céčkové API a tak začaly vznikat více či méně kvalitní knihovny, které si kladly za cíl nabídnout pohodlnější ObjC API nebo objektové zapouzdření jinak relační databáze.

Mezi ty kvalitní a rozšířené knihovny patří např. EntropyDB (http://code.google.com/p/entropydb/), FMDB inspirovaná JDBC (http://gusmueller.com/blog/archives/2008/03/fmdb_for_iphone.html) či jednoduchá knihovna SqlitePersisten­tObjects (http://code.google.com/p/sqlitepersistentobjects/).

Až s příchodem iPhone SDK 3.0 Apple zpřístupnil framework CoreData, který se běžně používá při vývoji pro OS X. CoreData je objektově datový framework, který může podporovat řadu fyzických úložišť od XML až po Sqlite databázi. Součástí XCode je návrhář datových objektů, který generuje třídy v ObjC, umožňuje držet vazby mezi objekty a tím hlídat integritu dat bez ohledu na to jestli to fyzické úložiště podporuje. Samozřejmostí je podpora transakcí na úrovní frameworku, dědičnost apod.

V současné době je CoreData nejlépe podporovaným a dokumentovaným frameworkem pro práci s daty na platformě Cocoa Touch. Jeden z mnoha tutoriálů, které vám pomohou proniknout do CoreData je např. tento http://www.cocoadevcentral.com/articles/000085.php nebo ještě lépe rozsáhlá dokumentace přímo od Apple http://developer.apple.com/macosx/coredata.html.

iPhone vývoj obrázky

Controller, View

Základním stavebním kamenem každého kontroleru, je třída UIViewController, z níž případně vycházejí další specializovanější kontrolery např. pro práci s tabulkou, či ještě specializovanější jako práce s adresářem apod.

Kontroler obsahuje referenci na potomky třídy UIView, kteří obsahují vizuální komponenty. Návrh UI (UIView) můžeme provádět pomocí vizuálního návrháře, který je součástí XCode a obsahuje všechny podporované widgety a nebo programově pomocí ObjC.

Každý kontroler obsahuje referenci na tzv. navigační kontroler, který zprostředkovává přesun mezi kontrolery. Funguje na principu stacku, tzn. umožňuje v podstatě jen pohyb vpřed a zpět.

Three20 – koncept z dílny Facebooku

Joe Hewitt, známý v komunitě jako tvůrce legendárního rozšíření Firebug, se nesmazatelně zapsal i do komunity iPhone vývojářů. Při tvorbě iPhone klienta pro Facebook uvolnil framework, který při této práci vznikl a umístil ho pod svobodnou licencí na GitHub http://github.com/facebook/three20.

Three20 rozvíjí standardní MVC koncept, ale přináší řadu zajímavých myšlenek, které urychlují práci vývojářů na aplikacích podobného stylu, jako původní Facebook. Kromě takových lákavých věcí, jakými jsou kontrolery pro práci s obrázky (náhledy, prohlížeč obrázků), vylepšuje práci s tabulkami, kterým nativně přidává stránkování, možnost jednoduché práce s daty přímo z internetu (JSON, XML), kešování těchto dat apod. 

Přináší i řadu konceptů z webového programování. Jedná se například o velmi užitečnou podporu HTML renderování a CSS. Sice se jedná o malou podmnožinu těchto technologií, ale to tomu neubírá na použitelnosti. Představme si, že máme textovou area, do které vkládáme odstavec textu formátovaného pomocí podporovaného subsetu HTML.

NSString* kText = @"<span class="largeText">bah</span> <span class="smallText">humbug</span>"

a přidáme definici pro třídu smallText

- (TTStyle*)smallText {

 
return [TTTextStyle styleWithFont:[UIFont systemFontOfSize:12]
next:nil];

}

Jak můžete vidět, jedná se v podstatě o klasické stylování, které se snaží co nejvíce přiblížit CSS tak, jak tuto technologii známe z webu.

Další poměrně zajímavý koncept, který Three20 přinesl, je navigace mezi kontrolery pomocí URL. Opět si ukážeme na příkladu, jak takové volání může vypadat. Nejprve je nutné vytvořit definici URL pro jednotlivé kontrolery:

[map
from:@"tt://recipes?playlist=(initWithPlaylist:)"
toViewController:[RecipesViewController class]];

[map from:@"tt://pantry"
toSharedViewController:[PantryViewController class]];;

URL samozřejmě může obsahovat i parametry, které se budou předávat. V našem případě kontroler RecipesViewCon­troller podporuje parametr playlist. V dotyčném kontroleru pak je konstruktor initWithPlaylis­t:, který přijímá právě tento parametr.

Jak vidíte, Three20 je nesmírně užitečná knihovna, kterou můžete zvolit jako základ pro svou aplikaci. Vývoje se ujala komunita vývojářů pod záštitou Facebooku, který sám Three20 využívá ve svých aplikacích. 

Vývojářský účet, schvalovací proces, App Store

Doposud jsme se věnovali té zábavnější části, vývojařině. Abychom však mohli aplikaci dále distribuovat, byť třeba jen na svůj vlastní telefon, na kterém chceme aplikaci testovat, potřebujeme jí podepsat certifikátem. Certifikát získáme po zakoupení vývojářského programu, který v základní variantě stojí 99 dolarů na rok.

V rámci vývojářského programu dostaneme přístup k vývojářskému portálu, ve kterém spravujeme vývojářskou část naší práce. Můžeme si vygenerovat certifikát pro podpis aplikace, spravujeme zde zařízení, na kterých chceme naši aplikaci provozovat. Takových zařízení si můžeme registrovat 100. Bohužel nelze zařízení smazat. Respektive smazat je lze, ale neobnovíme tím místo v rámci celkového počtu možných zařízení. To znamená, že pokud se rozhodneme nabrat testery na testování naší aplikace, maximální počet je 100. Po jejich odstranění ze seznamu povolených zařízení se místo pro další neuvolní. K tomu dochází vždy při obnově vývojářského programu (tzn. po roce), kdy dojde k uvolnění neplatných míst a máme tak možnost je nahradit dalšími.

Další věcí, která se nám po uhrazení členského poplatku zpřístupní, je iTunes Connect. Jedná se o portál pro správu naší aplikace v App Store, zobrazování různých prodejních statistik apod. Pokud se tedy rozhodneme naší aplikaci poslat do App Store je toto místo, přes které to provádíme.

iPhone vývoj obrázky

Celý proces odeslání aplikace do App Store trvá v řádech dnů. Nahrajeme aplikaci do iTunes Connect a ta se zařadí do fronty, ze které si jí berou zaměstnanci Apple k otestování. Pokud splní všechny předepsaná pravidla, ocitne se po několika dnech v App Store, o čemž budeme informování emailem. Stejným procesem musí projít aplikace i když např. posíláte jen její aktualizaci. To může být velký problém v případě, že např. aplikace obsahuje závažnou chybu, která brání v jejím používání. Než v takovém případě projde opravná verze schvalovacím procesem, může to znamenat i několik dní či týdnů, než budou uživatelé mít opět funkční aplikaci. Důsledky si asi dokáže domyslet každý.

Naštěstí se celý proces schvalování postupem času zkracuje. Ze tří týdnů se standardem stalo 14 dnů, teď po vánocích se náhle proces zrychlil na pár dní. Uvidíme, zda opravdu Apple celý proces optimalizoval, nebo se jedná jenom o náhodu a vše se  časem vrátí zase do původních kolejí.

Komentáře

Subscribe
Upozornit na
guest
38 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
Richard

Skúsil som programovať v tom ObjectiveC a moje pocity sú dosť zmiešané. Na jednej strane niektoré výborné funkcie, ako je napríklad integrovaný objektovo-relačný mapovací nástroj, kvalitné komponenty pre iPhone so spústou možností, atď.
.
Na strane druhej neuveriteľná syntax a objekty, rôzne záležitosti týkajúce sa jazyka C (hlavičkové súbory, žiadny garbage collector), layout je možné dizanovať iba pomocou vstavaného nástroja a nie je jednoducho uložená v nejakom XML súbore, vo viacerých prípadoch musí programátor priamo písať dlhé stringové konštanty. Chybne zapísané konštanty alebo názvy metód neurobia pri kompilovaní a dokonca ani za behu žiadnu výnimku. atď…
.
Apple by mohol trochu ten ObjectiveC niekam posunúť.

X

Apple posouvá objc velmi rychle!
Garbage collector je už několik let k dispozici, nib soubor z Interface builderu je XML soubor a součástí kompilace je i statická analýza zdrojáku (tu nemá integrovanou zatím nikdo z velkých hráčů). :-)

Vy jste tomu objc moc nedal, co? Jedno odpoledne na školním Macu?

Aleš Roubíček

Statickou analýzu pro C# má Microsoft integrovanou do VS již několik let. :)

X

To, že si c# vypůjčilo c-like syntaxi z něj ještě nedělá „céčkovej“ jazyk.
Velké hráče jsme myslel IDE a kompilátory pro C/C++, v kterém jsou dne kompilované velké aplikace (ostatně i Windows, i Office jsou stále psané v C++. Pro koho a k čemu je tedy c#?).

Takže IDE a kompilátory pro C/C++ tohle integrované nemají. Visual Studio je navíc dosti mizerné jako IDE pro C++.

Lojza

Nemá. Uvolnil ji jako externí plug-in, ale není součástí instalace VS. Teda pokud se bavíme o FxCop apod.

Borek Bernard

Ve vyšších edicích VS je statická analýza integrovaná (pro nižší lze použít FxCop, jak píšete).

ahl

Pokud porovnám velké hráče na mobilním trhu z hlediska vývojových nástrojů, tak jasně vede Java ME, potom .NET na win mobile, nakonec další platformy používající různé varianty C/C++. Nevím jaké jsou nástroje pro vývoj v Pythonu na Symbianu. Javovská IDE dnes nemají konkurency. Visual Studio pro C#, také není špatné, ale zbytek nic moc. Ještě bych dodal, že VS musí být ve verzi professional, aby se dalo vyvíjet pro mobily, což může dost lidí odradit.

Richard

Nib súbor je síce XML súbor ale nie je prakticky ručne editovateľný. Veľmi dobrý príklad ako robiť user interface je Adobe Flex. XML súbor je prehľadný, jednoduchý a editovateľný.

Garbage collector na iPhone nie je.

Vaša poznámka o školním Macu je zhůveřilost.

Split

Nechcem ta sklamat, ale napisal si tu celkom nespravne informacie. Garbage collector nema nic spolocne so samotnym objective C, ale iba s iOS. V mac os samozrejme k dispozicii je. Layout je mozne designovat ako sa komu chce, kludne aj v kode. Dokonca to co vytvoris v tom vstavanom nastroji (interface builder) generuje obycajne XML, ktore si kludne rucne edituj, ale nevidim k tomu dovod. A samozrejme ze chybne konstanty ak su zle pouzite vynimky za behu vyhadzuju, tu to vsak zavisi od konkretnej situacie.

dc

Akurat som uvazoval o novom telefone a zaroven platforme.Sem tam sa hodi aj nieco si naprogramovat a vyvinut. Davnejsie som vedel o obmedzeni iba na apple platformu ale trochu som zabrowsoval a nenasiel som ani ziadne pouzitelne ine sdk pre iphon na inej platforme. Podla mna je to dost skoda a aj sa divim applu.
Chapem ze sa drzi iba svojej platformy, ale ak ho tak stvu pouzivatelia windows alebo na nich kasle tak preco ma aplikacie aj pre windows ? preco je itunes aj pre windows ? Ved prave by mal skor lakat novych developerov ako si takto striktne ohranicit svoje pole posobnosti. Na moj vkus su pociatocne naklady do vyvoja aplikacii na iphone dost vysoke (poplatok applu neni velky ale nakup maca to uz je celkom dost ak chcem zatial len vyskusat moznosti platformy).Kon­kurencne OS su na tom podstatne lepsie (android,winm aj symbian).

Tom

Já se tomu nevidím. Apple měl vždycky přístup: Ber jak je (o tom, co potřebuješ mi víme nejlíp), nebo neber. A lidi platí, protože mají pocit, že to asi za to stojí.

Na druhou stranu to je asi taky přístup „Do less, better“. Proč vyvíjet vývojové prostřední pro všechny možné systémy (náklady), když můžeme prodat pár Maců navíc (příjmy).

A mimochocem, myslím že MacOS bude běžet i v nějaké VM emulátoru…

A k těm Windows Mobile: Kromě Sharp Develop není žádný rozumný free nástroj pro vývoj Windows Mobile aplikací. Taky musíš cálovat.

JME je na tom dobře (rozumných vývojových postředí zdarma je víc), na druhou stranu se v ní zase celkem blbě vyvíjí díky zastaralému api.

Android mi (z hlediska programátora) vychází momentálně nejlíp.

Peter

MacOS sa na virtualnu masinu da dostat ale vykon je katastrofa. Je mozne ale OS X dostat aj na PC , najlepsie ak je chipset od intelu.
linky:
http://wiki.osx86project.org/wiki/index.php/Main_Page
http://tonymacx86.blogspot.com/2010/04/iboot-multibeast-install-mac-os-x-on.html

aprilchild

Zkus MonoTouch
http://monotouch.net/

Nezkousej blbosti typu Flashe
http://www.adobe.com/devnet/logged_in/abansod_iphone.html

Ale nejlepsi je a bude se naucit ObjC spolu s Xcode..

xor

Monotouch je „cosi“ co přidá k výsledné aplikaci cca 10MB „balastu“. Např. i jednoduchá hra má potom cca 12MB – viz. na iTunes SheepStacker od Tinytim Games

Pavel Šimek

Co přesně je špatného na kompilování z Flashe (resp. z ActionScriptu) do nativního kódu iPhonu?

Richard

To je Apple dosť komplikované. Celý OS iPhonu je postavený na rovnakej platforme ako Mac OS. Apple má pre neho vyvynutý Developer Kit už spústu rokov. Sú tam niektoré záležitosti veľmi špecifické pre Mac OS.
.
Apple by musel urobiť to čo už ale robia iné firmy, ako je napríklad Adobe: kompilovať kód z iného jazyku do iPhonu. To ale nie je úplne dobrý postup pre programovanie profesionálnych aplikácií.

X

Nemohl by Zdroják udělat něco s těmi screenshoty? V této komprimované podobě je jejich informační hodnota nulová.

Milos

Apple je svou laskou k uzavrenosti znamy uz od pocatku..v 80­.letech ho to podle me stalo predni pozici na trhu osobnich pocitacu..
Ale to ze vyvojar, ktery se rozhodne pres nelehkou cestu vyvijet pro iPhone a defacto tak prispivat k trznimu postaveni Applu, musi plati $99 rocne, to uz mi pripada fakt na hlavu postaveny..

X

Těch $99USD musíte zaplatit za získání certifikátu, aby vaše aplikace byla instalovatelná do iPhone.
Ale vyvíjet můžete i bez toho a Apple nabízí XCode (lepší Visual Studio) zdarma!
Má to svůj význam a je to sranda oproti ceně za Visual Studio Prof. + MSDN. :-))

xor
Apple nabízí XCode (lepší Visual Studio)

Rozdíl mezi XCode a VS je asi jako mezi Photoshopem a Gimpem, přičemž v roli Gimpu je zde jednoznačně XCode.

X

Myslele jsem si totéž, jenže pak jsem si přečetl manuál k XCode.

larry

Vidim ze si XCode zapl a zase vypl a absolutne nevis o cem to pises…Tady takovyma recma opravdu nikoho neoslnis. Lepsi bude kdyz se preinstalujes napr. na blog jisteho pana H (at zije microsoft) a budes sve „inteligentni“ nazory publikovat tam…

xor

… a ještě bych dodal, že licence ekvivalentní Visual Studio Prof. + MSDN. stojí u Apple jiné peníze než $99, viz http://developer.apple.com/products/membership.html XCode je ekvivalentem VisualStudio Express, licenenčně samozřejmě. Co do funkcionality je to výrazně horší.

X

:-))

Jenom samotná licence na VS2008Prof stojí teď na Alza.cz 24.167 Kč
VS2008Prof + MSDN Prof. se v Čechách pohybuje mezi 40 a 50 tis.

Cena licenčně ekvivalentního programu od Apple je 500 USD, tj. ~9.000,–.

as

Staci trochu pohledat v MS akcich a slovek muze ziskat za $100 nekolik licenci VS prof + dalsi produkty v baliku k tomu. To si myslim, ze je hodne dobrej pomer ceny a vykonu.

um7

VS prof + MSDN: momentálně 20 tisíc na 2 roky, 30 tisíc na 3 roky (doba automatické aktualizace, licence je trvalá)

ahl

Když to porovnám s cenou certifikátu pro Java ME (thawte 300$), tak to zas tak hrozné není. U mobilní zařízení se tyhle omezení objevují celkem často, není to jenom doména applu.

mirrec

mna by strasne zaujimalo ze naco tam vobec davate tie obrazky ked po kliknuti na nich sa zobrazi super mala machula, kde sa neda absolutne nic precitat, to tam dajte rovno nejaky farebny gradient

xor

http://www.otierney.net/objective-c.html – pěkný, včetně příkladů

rvojta

1. Instalace na vlastní telefon

Instalace na vlastní telefon je možná, ale je časově omezená dobou platnosti certifikátu, resp. provisioning profilu. Pokud chci aplikaci nainstalovat na svůj telefon trvale, musím si ji koupit a nebo stáhnout pod stejným účtem, který byl použit pro upload aplikace do AppStore.

Pokud neprodloužím developer program, přijdu o možnost prodloužit certifikát a přijdu tak o vlastní aplikaci ve vlastním telefonu.

A nebo místo 99 USD zaplatit 299 USD a získat tak In-house Distribution, ale zase přijít o App Store. Takže když člověk bude chtít všechno bez dalších komplikací, tak je to 398 USD ročně …

2. Upload aplikace

Pokud splní všechny předepsaná pravidla, ocitne se po několika dnech v App Store …

Jenom doplním, že ve smlouvě je dále uvedeno, že aplikace může být zamítnuta i v případě, že splní všechna předepsaná pravidla. Jinak řečeno, Apple má právo veta.

Jinak dobré. Možná by stálo za to otevřít lidem oči a napsat i nějaké detaily o AppStore. Ve smyslu, že to není žádné terno, ČR trh je zanedbatelný (pro první místo v prodejích stačí 3–5 aplikací denně), …

Chlup

Poplatek za členství se platí jen jednou. Provisioning profile jde prodloužit kliknutím na webu. Tedy 99$ stačí na věky věků, nebo do té doby než Apple změní podmínky.

petr.reichl

To bohužel není pravda. Každý rok se to musí prodlužovat.

rvojta

Poplatek za iPhone Developer Program (i Mac, …) se platí každý rok. Pokud nezaplatíte, bude odebráni ze skupiny a nedostanete se k prodloužení provisioning profilu.

Peter

99 dolacov je symbolicky poplatok, aby apple neotravoval hocikto. To na com apple ryzuje je 33% z ceny kazdej aplikacie predanej cez app store.

Matty

Dobry den chtel bych se zeptat jak je to s vyvojema aplikacemi jestli existuje naka Norma(standarty pro IP)jaka je max velikost aplikaci a min velikost aplikaci jak je to s načítaním (preloader)aby se co nejrychleji načetla požadovana aplikace co nejrychlejsim čase a jeste jaka je optimalni velikost aplikaci , jak je to treba s rozdelim grafiky,scrip­tu,buttonu atd. diky moc za odpovedy…

Vykook

Optimalni je nacpat aplikaci do 10MB, protoze vetsi nejde instalovat pres GPRS/EDGE/3G. Od 100MB to uz nejde ani pres Wifi a musi se instalovat pres iTunes. Co myslis rozdelenim grafiky scriptu a buttonu?

Matt

no tim mam na mysli , treba jakou grafiku,buttony je nevhodnejsi zvolit aby ta aplikace behala rychle..

Vykook

Pravdepodobne ty, ktery jsou dodavany s frameworkem Cocoa Touch ;-)

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.

Pocta C64

Za prvopočátek své programátorské kariéry vděčím počítači Commodore 64. Tehdy jsem genialitu návrhu nemohl docenit. Dnes dokážu lehce nahlédnout pod pokličku. Chtěl bych se o to s vámi podělit a vzdát mu hold.