tutaj

Transkrypt

tutaj
M a r ius z L is ieck i
student UAM, programista iPhone
niefanatyczny użytkownik produktów Apple :)
P ozna ń, dnia jeszcze nie wiem
P la n pr ezen ta 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 h on e
Wdrażanie aplikacji na App Store
Dyskusja
S pecyfik a cja ur z ądzen ia
●
Trzy modele: (Original), 3G, 3GS
+ iPod Touch (też kilka generacji)
●
Procesor: ARM 620 MHz -> 412 MHz
(3 G S : ARM 833 MHz -> 600 MHz)
●
●
Pamięć: 128 MB (3 G S : 256 MB)
Grafika: PowerVR MBX Lite 3D +
OpenGLES 1.1
(3 G S : PowerVR SGX + OpenGLES 2.0)
●
Flash (pamięć oczywiście:P)
4, 8, 16, 32 GB (zależnie od modelu)
W ym a ga n ia
Śr odowis k o + s ym 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 izyczn e ur z ądzenie + A ppS tor e
●
iPhone lub iPod Touch :)
●
Rejestracja w programie deweloperskim
●
9 9 $ za roczną subskrypcję
N a r z ę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 s y w ObjectiveC
●
Deklaracja klasy (plik Car.h)
@interface Car : NSObject {
Engine *engine;
}
@property (nonatomic, retain) Engine *engine;
- (void) startEngine;
@end
K la s y w ObjectiveC
●
Implementacja klasy (plik Car.m)
#import „Car.h”
@implementation Car
@synthesize engine;
- (void) startEngine {
//do sth
}
@end
Cza s n a H dW !
Cechy a plik a cji iP h on owych
●
Brak wielozadaniowości...
●
●
●
●
jedyne aplikacje działające w tle są od Apple
... ale jest wielowątkowość wewn ątr z 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
dowoln ym momencie – przycisk HOME – trzeba
to mieć na uwadze...
●
np. w przypadku gier konieczne zapisywanie stanu
aplikacji w momencie otrzymania nakazu wyjścia
A P I iP h on e'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 żn iejs ze k om pon en ty UI
●
UINavigationController
●
UITableViewController
●
UITabBarController
●
UIToolbar
●
UIWebView
●
UIAlertView
●
UIActionSheet
... na przykładzie ;)
Cocos 2 D for iP h on e
●
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 n a pr zyk ła dzie
E m pir es A t W a r
A ppS tor e
●
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 icr os oft,
N ok ia , G oogle
Genialnie pr os ty w obsłudze
●
Klikam 'Kup' i podaję hasło
●
Aplikacja się ściąga
●
Klikam ikonkę i uruchamiam aplikację
N a ds yła n ie do A ppS tor e
●
●
Trzeba mieć dostęp do programu deweloperskiego
(99 $)
Konieczne wygenerowanie Certyfikatów i Profili
●
●
Nadsyłamy do AppStore i czekamy na recenzję
●
●
skomplikowane tylko za pierwszym razem
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 A ppS tor e
●
Apple pobiera 3 0 % od każdej sprzedaży
●
●
Ceny są mocno 'wywindowane' w dół
●
●
●
w porównaniu z cenami aplikacji Javowych na komórkę
Ciężko się wybić
●
●
Ale sporo ludzi uważa że to nie jest tak dużo...
chyba że jesteś wielkim studiem: EA, Gameloft,
Ciężko odpowiadać na zarzuty (często niesłuszne)
użytkowników
Czarna skrzynka...
A ppS tor e vs
A n dr oid M a r k et
●
Android Market nie ma recenzji
●
●
●
●
łatwiej się dostać, ale też użytkownik jest m n iej
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 n iedos t ępn e (legalnie)
w ciągu k ilk u najbliższych la t ...
Subiektywna ocena: B a -ła -ga n !!
:)
:)
:)
:)
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)

Podobne dokumenty