Wyłączenie odpowiedzialności
• prelegent będzie prezentował swoje opinie
• można się z nimi nie zgadzać po cichu,
bucząc lub demonstracyjnie wychodząc
• prelegent ma w ręku telefon z Androidem,
ale w najmniejszym stopniu nie zmniejsza
to jego stuprocentowej bezstronności
Czym jest smartfon?
telefon komórkowy
z zaawansowanym
wyposażeniem (wifi, GPS,
akcelerometr, ekran dotykowy,
aparat fotograficzny) na którym
można uruchamiać złożone
programy autorstwa osób
trzecich
Czym nie jest smartfon?
definicja jest zazwyczaj tak
formułowana, by wykluczyć
modele bez ekranu dotykowego
lub nowoczesnej przeglądarki
internetowej
Agenda
• Kto się liczy, kto jest na wylocie
• Bieżący układ sił na rynku
• Czym smartfony się różnią?
• Jak i co programować?
• Doświadczenia z Androidem
• O czym będzie Kurs Łowcy Androidów
Agenda
• Kto się liczy, kto jest na wylocie
• Bieżący układ sił na rynku
• Czym smartfony się różnią?
• Jak i co programować?
• Doświadczenia z Androidem
• O czym będzie Kurs Łowcy Androidów
Samsung bada
• Z punktu widzenia programisty –
ograniczone i mało elastyczne SDK
• Z punktu widzenia użytkownika –
1751 aplikacji w SamsungApps
• Brak „killer feature” – wszystko co
ma bada było już u konkurencji
• Prognoza – platforma nie dożyje
gwiazdki AD 2011
Palm Pre / webOS
• Zapowiedziany w styczniu 2009, gdy
sukces Androida nie był jeszcze
przesądzony
• Rozbudził duże oczekiwania,
których nie zdążył spełnić
• Zbyt późno wydany oraz
zbyt ograniczony SDK,
duża awaryjność
MeeGo
• System do wszystkiego – smartfonów,
netbooków, dekoderów IPTV i tak dalej
• Powstaje jako połączenie Moblina (Intel)
oraz Maemo (Nokia), które – delikatnie
ujmując – furory nie zrobiły
• Smartfonów z MeeGo nie ma
• Prognoza – nie zdążą się pojawić przed
rezygnacją z profilu MeeGo Handset
BlackBerry
• Bardziej narzędzie do
integracji z pocztą
korporacyjną (Exchange,
Domino, GroupWise) niż
smartfon do prywatnego
użytku
• Platforma mocno opóźniona
sprzętowo i niehomogeniczna
Symbian
• Platforma porzucona przez Motorolę,
Samsunga, LG i Sony-Ericssona
• Udział w rynku gwałtownie spada –
72% w Q3 2006 do 36% w Q3 2010
• Nokia nie ma planu B
• Symbian^3 ma potencjał,
ale działa raptem na dwóch
modelach aparatów
iPhone
• iPhone był pierwszym smartfonem obecnej
generacji, zdefiniował rynek
• w sprzedaży od 3.5 roku (czerwiec 2007)
• firma Apple sama nie zdawała
sobie sprawy z potencjału
produktu – możliwość
tworzenia niezależnego
oprogramowania istnieje
dopiero 2.5 roku
(czerwiec 2008)
iPhone
• Wielka innowacyjność,
definiowanie kierunków
rozwoju całego rynku
• Cztery generacje sprzętu
• Ponad 300 tysięcy aplikacji
• Jeszcze raz: strasznie dużo
tysięcy aplikacji, serio!
Android
• Rozwijany przez Google, na rynku
pojawił się w październiku 2008
• Bardzo szybki cykl produkcyjny, sześć
dużych wersji systemu i trzy generacje
sprzętu w dwa lata
• W pewnym stopniu open-source
• Pierwszy produkt, który podjął udaną
rywalizację z iPhonem
• Zerwana kompatybilność wsteczna
z Windows Mobile (kernel nadal WinCE)
• Zupełnie nowy interfejs: Silverlight, XNA,
.NET Compact Framework
• Wysokie wymagania sprzętowe, ścisłe
wytyczne dotyczące urządzeń
• Obecnie liczne ograniczenia API, brak
dostępu do kodu natywnego, baz danych
• Debiut półtora miesiąca temu
• Wg domniemywań stanie się
standardem korporacyjnym
w firmach korzystających
z Microsoft Exchange
• Pierwsze wydanie cierpi na
brak wielu udogodnień, kolejne
będą eliminować luki
Agenda
• Kto się liczy, kto jest na wylocie
• Bieżący układ sił na rynku
• Czym smartfony się różnią?
• Jak i co programować?
• Doświadczenia z Androidem
• O czym będzie Kurs Łowcy Androidów
Układ sił na rynku
• iPhone – ponad 70 milionów aparatów,
esencja nowoczesności, wyznacza trendy
• Android – ponad 60 milionów aparatów,
szeroki wybór modeli o różnych
możliwościach, obecnie lider sprzedaży
• Windows Phone 7 – pierwszy od dekady
produkt mobilny Microsoftu, który zebrał
świetne recenzje i dobrze rokuje
Smartfony w Polsce
Wyższa półka:
• iPhone 4 16GB – 2999 pln
• HTC Desire HD (Android) – 2250 pln
• HTC HD7 (WP7) – 2199 pln
Niższa półka:
• iPhone 3GS 8 GB – 2149 pln
• Samsung Galaxy GT-i5800 – 899 pln
• HTC Tattoo – 529 pln
Agenda
• Kto się liczy, kto jest na wylocie
• Bieżący układ sił na rynku
• Czym smartfony się różnią?
• Jak i co programować?
• Doświadczenia z Androidem
• O czym będzie Kurs Łowcy Androidów
iPhone
• Całkowicie zamknięty ekosystem, Apple
kontroluje każdy publikowany program
• Szereg zakazów dotyczących tematyki aplikacji,
sposobu działania aplikacji, interfejsu
użytkownika, prywatnych API, publikowanych
treści (polityki, nagości) itp.
• Szczątkowa wielozadaniowość, brak możliwości
tworzenia serwisów
• Pierwszorzędny design i płynność grafiki
Android
• Bardzo duża swoboda pozostawiona
developerom, aplikacje można
dystrybuować także poza Marketem, brak
cenzury (pojedyncze interwencje)
• Widgety i prawdziwa wielozadaniowość
• Nieumiejętne tworzenie serwisów lub
aplikacji może bardzo obniżyć czas pracy
na baterii i pogorszyć komfort użytkowania
„Co jest lepsze –
Commodore 64 czy Atari 65XE?”
• „moj nrat ma androida i mowi ze iphone
jest o niebo lepszy wiec wsadz se w dupe
ten swoj rozum”
• „beda opluwac androida bo zazdroszcza a
prawda jest taka ze system android jes o
wiele wiele lepszy”
• „Użytkownicy iPhone'ów uprawiają seks
częściej od posiadaczy Androida”
Windows Phone 7
• Brak możliwości uruchamiania własnych
binariów, programy pisane są wyłącznie
w kodzie zarządzalnym (.NET Compact)
• Brak wielozadaniowości, copy&paste, raw
sockets, silnika relacyjnych baz danych
itp. – tu spodziewane są ulepszenia
• Silverlight – ułatwiony start dla osób
znających ten framework
Agenda
• Kto się liczy, kto jest na wylocie
• Bieżący układ sił na rynku
• Czym smartfony się różnią?
• Jak i co programować?
• Doświadczenia z Androidem
• O czym będzie Kurs Łowcy Androidów
Zestawienie
30%30%30%
(można sprzedawać
poza Marketem)
Prowizja od wpływów
$99 rocznie(studenci gratis)
$99 rocznie$25 jednorazowoWpisowe
C#Objective-CJavaJęzyk
Visual Studio 10wersja Express się nada
XCodeEclipseIDE
Windows Vista/7MacOS XWindows XP
MacOS XLinux
OS
WP7iPhoneAndroid
Na czym można zarobić?
• Na pisaniu własnych gier i aplikacji
• Na pisaniu aplikacji dla dużych graczy
(np. klient Allegro lub Onet)
• Na tworzeniu mobilnych wersji istniejących
programów dużych firm (np. fakturowanie,
inwentaryzacja, raportowanie itp.)
• Na tworzeniu nietypowych wdrożeń „pod
klucz” (np. sterowanie oświetleniem)
iPhone / iPad
• multimedia i rozrywka –
dobry pomysł może być
dużo warty
• warto celować w rynek
globalny, w Polsce
popularność sprzętu Apple
jest ograniczona wysokimi
cenami
Windows Phone 7
• WP7 nie jest gotowy do użytku w Polsce,
popyt na rodzime aplikacje będzie w
pierwszym okresie bardzo ograniczony
• za to popyt na programistów znających
WP7 pojawi się szybko – najpierw za
granicą i w ofertach pracy zdalnej, potem
również w Polsce
• znajomość Silverlighta w życiu nie zawadzi
Android
• optymalny system dla hobbystów
• niskie koszty wejścia do Marketu i tanie
telefony (choćby używane) oznaczają, że
każdy może spróbować własnych sił
• minus – developerzy z Polski
nie mogą sprzedawać przez
Market, istnieją alternatywy
(np. PayPal Mobile Payments)
Agenda
• Kto się liczy, kto jest na wylocie
• Bieżący układ sił na rynku
• Czym smartfony się różnią?
• Jak i co programować?
• Doświadczenia z Androidem
• O czym będzie Kurs Łowcy Androidów
Transportoid
• Rozkład jazdy komunikacji
miejskiej dla 37 polskich
miast i aglomeracji
• Działa offline, aktualizacje
pobiera z internetu
• Google Maps i GPS
Małe FAQ
• Tak, dane do rozkładów są zbierane ze
stron internetowych przewoźników
• Nie, według mojej najlepszej wiedzy
surowe dane o godzinach odjazdów nie są
przedmiotem prawa autorskiego więc nie
podlegają ustawowej ochronie
• Nastawienie przewoźników – pełna
obojętność, czasem niewielka życzliwość
Transportoid
• W produkcji od lutego 2010
• Ponad 17000 pobrań (własne
statystyki: ~21500), prawie
9000 aktywnych użytkowników
• Podstawowe funkcje gratisowo,
zaawansowane (np. obsługa
GPS oraz map) dostępne są w
abonamencie za 10 zł rocznie
10 zł od sztuki
1,09 zł
1,80 zł
2,00 zł2,56 zł
2,56 zł
prowizja
podatek
dobroczynność
wspólnik
zostaje
Problemy z Android Marketem
• trudno o kontakt z żywym człowiekiem
• brak statystyk pobrań, rozkładu
popularności wg krajów i innych
• brak ekspozycji programów na WWW
(to się powinno szybko zmienić)
• brak obsługi sprzedawców z Polski
Agenda
• Kto się liczy, kto jest na wylocie
• Bieżący układ sił na rynku
• Czym smartfony się różnią?
• Jak i co programować?
• Doświadczenia z Androidem
• O czym będzie Kurs Łowcy Androidów
UWAGA!
Ostrzeżenie – bardzo wiele trzeba będzie
nauczyć się samemu. W każdym zadaniu
domowym znajdą się elementy, które
zostaną omówione na wykładach
wiele tygodni później.
Zostaliście ostrzeżeni.
Będziemy programować Androidy
• Emulator to nie wszystko: w ramach kursu uczestnicy będą mogli nieodpłatnie wypożyczyć telefon
• Poznamy zasady tworzenia GUI dla urządzeń przenośnych, wytyczne dotyczące ergonomii, dotkniemy list przewijanych, data storage, baz danych, wątków, zasobów, serwisów, content providerów, map Google i tak dalej
android:layout_width="wrap_content"
android:layout_weight="1"
android:layout_width="wrap_content"
Wypełnianie miejsca
jednym widgetem
Drugi problem z wydajnością
public View getView(int position, View convertView, ViewGroup parent) {
View row=convertView;
if (row==null) {
LayoutInflater inflater=activity.getLayoutInflater();
row=inflater.inflate(R.layout.row, null);
}
TextView label=(TextView)row.findViewById(R.id.label);
label.setText(items[position]);
if (items[position].length()>4) {
ImageView icon=(ImageView)row.findViewById(R.id.icon);
icon.setImageResource(R.drawable.delete);
}
return row;
}
Ta operacja jest bardzo
kosztowna – trwa z tysiąc
razy dłużej niż dereferencja
chcemy robić to raz i
zapamiętywać pozyskane
referencje