P ozna ń, dnia jeszcze nie wiem M a riusz L isieck i student UAM, programista iphone niefanatyczny użytkownik produktów Apple :)
P la n prezenta cji Kwestie techniczne: urządzenie, wymagania Prezentacja narzędzi Pierwszy iphonowy Hallo, die Welt! iphone API i komponenty UI Tworzenie gier na iphone'a: silnik Cocos 2 d for ip hone Wdrażanie aplikacji na App Store Dyskusja
S pecyfik a cja urządzenia Trzy modele: (Original), 3G, 3GS + ipod Touch (też kilka generacji) Procesor: ARM 620 MHz -> 412 MHz (3 GS : ARM 833 MHz -> 600 MHz) Pamięć: 128 MB (3 GS : 256 MB) Grafika: PowerVR MBX Lite 3D + OpenGLES 1.1 (3 GS : PowerVR SGX + OpenGLES 2.0) Flash (pamięć oczywiście:p) 4, 8, 16, 32 GB (zależnie od modelu)
W ym a ga nia Środowisko + sym ula tor System operacyjny M a c OS w wersji 1 0.5 +, co (teoretycznie) implikuje: Komputer typu M a c (Darmowa) rejestracja na iphone Dev Center F izyczne urządzenie + AppS tore iphone lub ipod Touch :) Rejestracja w programie deweloperskim 9 9 $ za roczną subskrypcję
N a rzędzia IDE: Xcode 3.0+ (z iphone SDK) iphone Simulator Interface Builder Instruments (Profiler)
ObjectiveC Nakładka (nadzbiór) na język C Można swobodnie przeplatać kod w języku C (lub C++) z kodem w ObjectiveC W momencie wejścia iphone'a na rynek znało go ok. 0,05% ludzi --- a teraz już ponad 1% :) Dwa główne rozszerzenia: symbole [] oraz @ [] - wywoływanie metod @ - definicje specyficzne dla języka ObjectiveC Jest GarbageCollector, ale niedostępny dla iphone Core Library Trzeba ręcznie zarządzać pamięcią
M etody w ObjectiveC metody: Java Vs ObjectiveC deklaracja: + (float) countareaoftrianglewithbase: (float)baselength andheight:(float)height; (public) static float countareaoftriangle(float baselength, float height); wywołanie: float area = [Triangle countareaoftrianglewithbase:10.5 andheight:6];
K la sy w ObjectiveC Deklaracja klasy (plik Car.h) @interface Car : NSObject { Engine *engine; } @property (nonatomic, retain) Engine *engine; - (void) startengine; @end
K la sy w ObjectiveC Implementacja klasy (plik Car.m) #import Car.h @implementation Car @synthesize engine; - (void) startengine { //do sth } @end
Cza s na HdW!
Cechy a plik a cji ip honowych Brak wielozadaniowości... jedyne aplikacje działające w tle są od Apple... ale jest wielowątkowość wewną trz aplikacji około 4 0 M B RAMu (nie dotyczy 3GS) dla aplikacji, później Memory Warning aplikacja może otrzymać nakaz wyjścia w dowolnym momencie przycisk HOME trzeba to mieć na uwadze... np. w przypadku gier konieczne zapisywanie stanu aplikacji w momencie otrzymania nakazu wyjścia
AP I ip hone'a UIApplicationDelegate główny zarządzający aplikacją Kontrolery widoków i widoki podklasy UIViewController oraz UIView Zapisywanie danych aplikacji: SQLite3 NSUserDefaults Core Data UIAccelerometerDelegate (nie używany jednak zbyt często)
W a żniejsze kom ponenty UI UINavigationController UITableViewController UITabBarController UIToolbar UIWebView UIAlertView UIActionSheet... na przykładzie ;)
Cocos 2 D for ip hone OpenSource'owy silnik do tworzenia gier 2D setki (tysiące?) aplikacji napisanych z jego wykorzystaniem Grafika: Warstwy, sprite'y, animacje, wiele innych Dźwięki: muzyka, efekty Fizyka: zintegrowane silniki: Box2D i Chipmunk wiele innych napisany w ObjectiveC na bazie OpenGLES 1.1
Cocos 2 D na przyk ła dzie E m pires At W a r
AppS tore Jeden sklep na ca ły świa t ponad 1 5 0 0 0 0 tysięcy aplikacji ponad 3 0 0 0 0 0 0 0 0 0 pobrań Naśladowany przez innych 'wielkich': M icrosoft, N ok ia, Google Genialnie prosty w obsłudze Klikam 'Kup' i podaję hasło Aplikacja się ściąga Klikam ikonkę i uruchamiam aplikację
N a dsyła nie do AppS tore Trzeba mieć dostęp do programu deweloperskiego (99 $) Konieczne wygenerowanie Certyfikatów i Profili skomplikowane tylko za pierwszym razem Nadsyłamy do AppStore i czekamy na recenzję WSZYSTKO jest teoretycznie recenzowane przez Apple Review Team Po pozytywnym przejściu przez etap recenzji aplikacja jest dostępna na całym świecie pozostaje liczyć miliony dolarów... w teorii
W a dy AppS tore Apple pobiera 3 0 % od każdej sprzedaży Ale sporo ludzi uważa że to nie jest tak dużo... Ceny są mocno 'wywindowane' w dół w porównaniu z cenami aplikacji Javowych na komórkę Ciężko się wybić chyba że jesteś wielkim studiem: EA, Gameloft, Ciężko odpowiadać na zarzuty (często niesłuszne) użytkowników Czarna skrzynka...
AppS tore vs Android M a rket Android Market nie ma recenzji łatwiej się dostać, ale też użytkownik jest m niej bezpieczn y Kilka różnych sklepów, poza kontrolą Google np. w Chinach mają zostać otworzone 3 niezależne sklepy W Polsce płatne aplikacje niedostę pne w ciągu k ilk u najbliższych la t... Subiektywna ocena: B a -ła -ga n!! (legalnie)
:)
:)
:)
:)
D zięk uj ę za uwa g ę! Pytania? Posiadaczy iphone'a zachęcam do bliższego zapoznania się z wymienionymi aplikacjami:) Empires At War (dostępna wersja Lite) SuperMemo (darmowa, płatne kursy)