Zagadnienia wstępne

Transkrypt

Zagadnienia wstępne
WSTĘP DO PROGRAMOWANIA APLIKACJI MOBILNYCH
DLA SYSTEMU ANDROID
Zagadnienia wstępne
Wykorzystane materiały:
SDJ (różne numery); mat. UW; StatCounter i inne
APLIKACJE
MOBILNE
Co to jest urządzenie mobilne?
APLIKACJE
MOBILNE
Wikipedia:
Przenośne urządzenie elektroniczne pozwalające na
przetwarzanie, odbieranie oraz wysyłanie danych bez
konieczności utrzymywania przewodowego połączenia z
siecią
Urządzenie mobilne może być przenoszone przez
użytkownika bez konieczności angażowania dodatkowych
środków
Typowym zastosowaniem może być odbieranie i wysyłanie
poczty elektronicznej oraz przeglądanie stron sieci WWW
za pomocą aplikacji mobilnych
Co to jest aplikacja mobilna?
APLIKACJE
MOBILNE
Oprogramowanie, które jest przeznaczone dla urządzeń
mobilnych:
telefonów komórkowych (telefonów działających w oparciu o
telefonię komórkową)
palmtopów / PDA (komputerów kieszonkowych)
smartfonów (połączenie telefonu komórkowego z
komputerem kieszonkowym)
tabletów (przenośnych komputerów z ekranem dotykowym)
odtwarzaczy MP3/MP4
przenośnych konsoli do gier
Z tej listy będą nas interesowały smartfony i tablety.
Smartfony
APLIKACJE
MOBILNE
Przenośne urządzenie telefoniczne integrujące w sobie m.in:
telefon komórkowy
e-mail
organizer
przeglądarka internetowa
aplikacje biurowe
często również aparat fotograficzny, akcelerometr, GPS itp..
Zazwyczaj posiadają systemy operacyjne
umożliwiające instalację nowych aplikacji
Pierwszy smartfon: IBM Simon (1992 r.)
Pierwszy „poważny” smartfon:
Nokia 9210 Communicator (2000 r.)
Smartfony – c.d.
Kamienie milowe w rozwoju smartfonów
Nokia 9210 Communicator (2000 r.)
Apple IPhone (2007)
Apple iTunes App Store (2008)
Pierwsze smartofony oparte na Androidzie (2008/2009)
APLIKACJE
MOBILNE
Tablety
APLIKACJE
MOBILNE
Przenośny komputer osobisty z ekranem dotykowym
Zwykle nie posiada możliwości telefonowania, choć są
modele posiadające gniazdo karty SIM w celu transmisji
danych za pośrednictwem komórkowych sieci cyfrowych
Pierwsze koncepcje powstały w XIX wieku (!), długo przed
powstaniem pierwszych komputerów; pierwsze poważniejsze
koncepcje: lata 60-te XX w.
Kamienie milowe:
Microsoft Tablet PC (2000)
Apple Ipad 1 (2010) / 2 (2011) / 3 (planowany na marzec 2012)
Motorola Xoom (początek 2011)
Asus Transformer Prime (koniec 2011)
Użytkownicy urządzeń mobilnych
APLIKACJE
MOBILNE
Jeden system dla urządzeń skierowanych do różnych grup
użytkowników:
najczęściej jest to odbiorca masowy
druga co do liczebności grupa: odbiorcy biznesowi
Źródło: 2011 consumer report, nielsen
Użytkownicy tabletów
80% użytkowników tabletów
uważa, że tablety poprawiły im
proporcje praca / czas wolny
35% użytkowników tabletów
używa ich w łazience :D
Źródło: Staples, 2011
APLIKACJE
MOBILNE
Oczekiwania użytkowników
APLIKACJE
MOBILNE
Dostępność
system musi pozwalać wykonywać połączenia i wymieniać informacje
funkcjonalności te muszą być dostępne w każdej chwili
krótki czas startu systemu…
… a tak naprawdę system nie powinien się nigdy wyłączać
długi czas działania na baterii
Niezawodność
urządzenie mobilne jest dużo bardziej ’osobiste’ niż komputer
nie można pozwolić na utratę danych
system nie powinien się zawieszać ani wyrzucać poważnych błędów
za wszelką cenę unikanie restartu urządzenia
Oczekiwania użytkowników – c.d.
APLIKACJE
MOBILNE
Bezpieczeństwo
Nikt nie ukradnie osobistych danych
Dane nie zostaną zniszczone przez żaden złośliwy program
Programy będą ze sobą dobrze koegzystować
Interaktywność
wygodny, prosty i estetyczny interfejs
duża responsywność ekranów dotykowych
wskazane różne gadżety - akcelerometr, GPS...
łatwa i intuicyjna obsługa podstawowych funkcjonalności
możliwość rozszerzania funkcjonalności - instalowania nowych
aplikacji w możliwie prosty sposób
prosta synchronizacja danych z PC i innymi urządzeniami mobilnymi
Wymagania użytkowników a ograniczenia techniczne
Wymagania wobec urządzeń mobilnych:
niewielka waga i rozmiary
brak konieczności częstego ładowania
szybkie ładowanie
niska cena
Odpowiedź na wymagania:
stosunkowo niska rozdzielczość ekranów
mało pamięci RAM
procesor o niedużej wydajności (najczęściej ARM – RISC)
APLIKACJE
MOBILNE
Systemy operacyjne dla urządzeń mobilnych – 2011 r.
Źródło: StatCounter, opracowanie danych: http://www.pingdom.com
APLIKACJE
MOBILNE
Systemy operacyjne dla urządzeń mobilnych sprzedaż
urządzeń w III kwartale 2011
Źródło: http://www.gartner.com/it/page.jsp?id=1848514
APLIKACJE
MOBILNE
Symbian OS
APLIKACJE
MOBILNE
Wywodzi się z systemu EPOC dla palmtopów firmy PSION
Psion, Nokia, Ericsson i Motorola założyli w 1999 r. firmę
Symbian
Pierwszy Symbian 6.0 w 2000 roku (numerek odziedziczył po
EPOCu)
W 2008 Nokia przejęła większość udziałów i przekształciła
firmę w fundacje Symbian
Najnowsza wersja: Nokia Belle
Podstawowe języki programowania:
do 2010 r: Symbian C++
od 2010: standardowy C++ wraz z Qt
można używać też innych języków (Python, Java ME, .NET…)
Windows CE -> Mobile -> Phone
APLIKACJE
MOBILNE
Protoplasci:
Windows CE (1996, rozwijany do dziś), Pocket PC 2000-2002 (2000)
Windows Mobile 2003, Windows Mobile 5 (2005), 6 (2007), 6.5 (2010)
Wersja dla smartfonów:
Windows Phone 7 (2010) – niekompatybilny z wcześniejszymi
używa interfejsu METRO
Języki programowania:
C#, VB
Sliverlight
XNA
Wgrany pakiet Office
Windows 8
APLIKACJE
MOBILNE
Planowany na 2012 r.
Wspólny system dla komputerów desktopowych i urządzeń
mobilnych (na tych drugich ma być używany interfejs
METRO)
Nie oznacza to, że aplikacje desktopowe nagle zaczną
działać na urządzeniach mobilnych – wymagana będzie
rekompilacja dla procesorów ARM
Planowana
rezygnacja
z „menu start”
Consumer
preview: luty 2012
iOS
APLIKACJE
MOBILNE
Wywodzi się z systemu Mac Os X, do 2010 r. iPhone OS
Oryginalnie powstał dla iPhone’a, później rozszerzony do
obsługi iPoda, iPada i Apple TV
Najnowsza wersja: iOS 5 (jesień 2011)
Zamknięty system, brak możliwości instalacji aplikacji spoza
AppStore (można to obejść „jailbreakingiem”)
Dość kosztowna możliwość dystrybucji
aplikacji (99 USD rocznie)
Język programowania: Objective-C
Wymagany komputer Mac z procesorem Intela
Prosty, czytelny, bardzo sprawnie działający
interfejs użytkownika
Android
APLIKACJE
MOBILNE
W lipcu 2005 roku Google kupuje firmę Android Inc.,
produkującą oprogramowanie dla urządzeń mobilnych
Premiera systemu i pierwsze smartfony: połowa 2008
Oparty na Linuksie, z własną maszyną wirtualną Dalvik
Język programowania: Java, z możliwością wstawek w C++
System otwarty, umożliwia instalowanie aplikacji spoza
Marketu
Dostępne źródła systemu
Wersje 3.x przeznaczone
wyłącznie na tablety
Najnowsza wersja: 4.03 –
ujednolicenie systemu dla smartfonów i tabletów
Inne systemy / platformy
RIM BlackBerry OS
uzależniony od usługi (BIS / BES) u operatora sieci komórkowej
przeznaczony głównie do zastosowań biznesowych
Bada OS
dla smartfonów Samsunga z serii Wave
MeeGo
zastosowany w Nokii N9
ma być zastąpiony przez Tizen (2012)
Bada
dla smartfonów Samsunga z serii Wave
webOS
początkowo (2009) stosowany w smartfonach Palm
w 2010 przejęty przez HP i stosowany w tabletach tej firmy
APLIKACJE
MOBILNE
Dlaczego Android (w kontekście dewelopera)?
APLIKACJE
MOBILNE
Jeden z nowszych systemów, intensywnie się rozwijający
Stosunkowo mało dobrych aplikacji (w porównaniu z iOS), szczególnie na
tablety – duża (niepowtarzalna?) szansa na wykorzystanie luki rynkowej!
Tani dostęp do konta deweloperskiego (25USD), umożliwiającego
dystrybucję aplikacji poprzez Market
Możliwość swobodnej dystrybucji aplikacji bez pośrednictwa Marketu
SDK działa pod różnymi systemami (Win/Mac/Linux)
Duże możliwości dostosowywania UI (widżety, ikony)
Stosunkowo tanie urządzenia – największa dynamika wzrostu liczby
urządzeń
Stosunkowo łatwy i popularny język programowania – JAVA
Duża i dobrze zorganizowana społeczność
Często istnieje możliwość instalacji alternatywnych ROM-ów
Na złość Apple’owi ;)
Dlaczego NIE Android (w kontekście dewelopera)?
APLIKACJE
MOBILNE
Mnogość wersji SDK, niespójna numeracja
Mnogość konfiguracji sprzętowych
Aplikacje zwykle są dość tanie – trudno zarobić
Android rzadko jest kojarzony z zastosowaniami biznesowymi
Aplikacje stosunkowo łatwo scrackować i instalować bez pośrednictwa
Marketu
Często nie lubiany język programowania
Nie najlepsza dokumentacja SDK (choć nie jest aż tak źle)
Czasem konieczność stosowania dziwnych (z punktu widzenia
programisty „jednowątkowego”) konstrukcji programistycznych
Powolny emulator urządzenia, dużo łatwiej testować na rzeczywistym
urządzeniu

Podobne dokumenty