Programowanie aplikacji na platformy mobilne
17 Styczeń 2010
Napisałbyś aplikację na komórkę? Jeśli tak, to na jaką platformę?
Aplikacje na komórki z roku na rok stają się coraz bardziej popularne. Wraz z większą dostępnością telefonów takich jak iPhone, Blackberry, czy tych opartych na Google Android i Windows Mobile rośnie popyt i dostępność aplikacji pisanych pod te platformy.
Patrząc kiedyś na ilość i różnorodność komórek w moim domu zacząłem się zastanawiać nad ich wykorzystaniem do czegoś nowego – programowania aplikacji mobilnych. Na chwilę obecną u mnie w domu mam dostępne następujące platformy:
- Symbian 9.1 – Nokia E65
- iPhone OS 3.1.2 – Apple iPhone 3Gs
- Windows Mobile 6.1 – HTC TyTN II
- Android 1.6 (Donut) – HTC Magic
- Blackberry OS 4.6 – Blackberry Bold 9000
- Blackberry OS 4.5 – Blackberry Curve 8320
- ?? – Motorola RAZR V3xx
Zasięgnąwszy trochę literatury odkryłem, że byłbym w stanie (w rozumieniu: osiągalne z technicznego punktu widzenia) pisać aplikacje na 4 z wymienionych powyżej platform. A to z racji posiadania odpowiednich narzędzi by:
- aplikację napisać i przetestować dzięki udostępnionym SDK
- aplikację dystrybuować dzięki wsparciu producentów komórek
Sklepów, czy też miejsc gdzie użytkownicy komórek mogą zaopatrzyć się w nowe aplikacje, jest kilka. Są to także miejsca, gdzie programiści mogą sprzedawać swoje programy.
- Android Market – Google, 20 tyś aplikacji, 1 milion potencjalnych klientów (dane na czerwiec 2009)
- App Store – Apple, 115 tyś aplikacji, 50 milionów potencjalnych klientów (dane na wrzesień 2009)
- App World – RIM, 2 tyś aplikacji, 8 milionów klientów (dane na marzec 2007)
- Windows Marketplace for Mobile – Microsoft, 376 aplikacji, niewiadoma ilość potencjalnych klientów
Jednak, aby skorzystać z dobrodziejstw bycia autorem popularnych aplikacji często trzeba ponieść dość spore koszty:
- Android Market – 25$; Google zatrzymuje sobie 30% przychodów z aplikacji; Android SDK za darmo
- App Store – 99$/rok; SDK za darmo dostępne tylko na Mac OS X; Apple zatrzymuje sobie 30% przychodów z aplikacji
- App World – 200$; RIM zatrzymuje sobie 20% przychodów z aplikacji; Blackberry SDK za darmo
- Windows Marketplace for Mobile – 99$/rok, później $99/aplikację po pierwszym roku (studenci nie płacą); Windows Mobile SDK za darmo, Visual Studio płatne
Jeśli każda z platform wydaje się mieć wady i zalety. Która zatem wg. Ciebie platforma jest najlepsza dla Twojej aplikacji i Twojego sukcesu?
17 Styczeń 2010 at 18:16
Prosiłbym coś na Samsunga. Userów wielu, softwareu niewiele. Serio.
17 Styczeń 2010 at 20:28
Android, bo:
a) Te 25$ oplaty rejestracyjnej placisz tylko raz i jest to znikoma kwota w porowaniu z konkurencja.
b) Platforma jest otwarta i poza SDK ma rowniez niskopoziomowy NDK.
c) Ograniczenia dla aplikacji w Android Market sa niewspolmiernie mniejsze niz te w App Store.
d) Trudniej zginac w szumie. Mniejsza ilosc aplikacji na Androida daje chwilowo duze szanse na szybkie zbudowanie tzw. “user base” jesli produkt jest dobry.
Teraz glowna wada – fragmentacja. SDK ma minimum cztery wersje (1.5, 1.6, 2.0 i 2.1) i na rynku sa urzadzenia z Androidem w kazdej z tych wersji (od G1 po Nexus One). Zapewnienie kompatybilnosci aplikacji z kazdym z nich jest cokolwiek problematyczne, bo jednak testowanie na emulatorze a dzialanie na zywym sprzecie to nie to samo.
Podarowalbym sobie zupelnie Symbiana. To jest umierajacy produkt i w przyszlosci ma go zastapic MAEMO. RIM jest mimo wszystko produktem niszowym. Apple tak, ale restrykcje sa chore. Windows Mobile… jak najbardziej, choc nie wroze mu dlugiej przyszlosci.
17 Styczeń 2010 at 20:38
JA bym wybrał symbiana, mimo wszystko. I nie jest do końca prawdą, że Symbian umiera bo na wiosnę przewidziana jest premiera zupełnie nowej wersji, która właśnie ma usprawnić to, co do tej pory kulało i wprowadzić innowacyjne zmiany. Zatem należy odczekać. Maemo jest fajne ale wciąz rozwojowe i niestabilne, dlatego z pewnymi ocenami odnośnie tej platformy należy odczekać. :]
17 Styczeń 2010 at 21:34
Maemo niestabilne? Już poprzednia wersja hulała bez problemu.
A co do symbiana – spróbuj napisać coś co działa jednocześnie na kilku słuchawkach. Efekt końcowy jest taki, że piszesz na konkretny telefon. A że jest ich trochę i chciałbyś mieć jako- takie pokrycie…. Powodzenia.
“Teraz glowna wada – fragmentacja” – to nie tylko główna wada. To całkowity nokaut. SDK Androida to jakaś wielka pomyłka. I to programiści programistom zgotowali ten los. Już nie mówiąc o “symulatorze”. Jeżeli chcesz mieć pewność, że aplikacja działa na każdym z telefonów, to musisz go po prostu mieć. Tak jak symbianowe słuchawki zresztą.
Co do AppStore to:
a) ograniczenia wychodzą na dobre tej platformie – nie widziałem aplikacji która np. kradnie numery kont bankowych i kart kredytowych (Android) czy też czegoś, co jest w ogóle niespójne z platformą
b) te “problemy” o których głośno wokół appstore to w rzeczywistości pojedyńcze przypadki. Ile ich było na 115 tyś – setka? Dwie setki? Cóż -tam też pracują ludzie. Nie mniej deweloperzy zawsze nagłaśniają tą sprawę udając pokrzywdzonych, a tak naprawdę najczęściej problemy polegają na niestabilności aplikacji czy korzystaniu z zastrzeżonego API.
17 Styczeń 2010 at 21:37
Na tak zadane pytanie są tylko dwie możliwe odpowiedzi: Android lub iPhone. Z racji osobistych sympatii moja odpowiedź to Android
Argumenty są wyżej, z wad dorzucę jeszcze do fragmentacji: oprócz różnych wersji platformy masz jeszcze kilka rozdzielczości do testowania :/
Pisałem na prawie wszystkie platformy przez Ciebie wymienione 9oczywiście hobbystycznie) i Android oferuje najwięcej programiście. SDK ma trochę wad, jedną z nich jest dokumentacja, która kuleje. Nigdy nie wybrałbym platformy, która nie posiada centralnego repozytorum aplikacji, więc symbian i inne wynalazki odpadają. Odpada również WM, który z kolei ja uważam za wymierający system (serio, używałem wiele lat, i znam na wylot)
Jest jeszcze PalmOS, który powolu zyskuje użytkowników.
P.S. Zapraszam na FOSDEM w lutym, będę, jest szansa w końcu napić się piwa. Tym bardziej, że dostępne będą najlepsze piwa na świecie.
17 Styczeń 2010 at 21:38
Dorzucę jeszcze a propos iPhone – Objectiv-C jest dziwny
17 Styczeń 2010 at 22:08
Co do kosztów … wiem że Ty już ten koszt poniosłeś ale gwoli ścisłości warto dodać, że w przypadku iPhone do rozpoczęcia pracy potrzebny jest sprzęt i OS ze stajni Apple. Warunek wymagany jakby nie patrzeć.
Co do kosztów wejścia do developmentu w przypadku WinMo można je obniżyć:
http://www.codeproject.com/KB/mobile/WiMoSansVS.aspx
Pytanie jak takie podejście wpłynie na produktywność ewentualną
17 Styczeń 2010 at 22:56
nie wiem jak pozostałe (znaczy znam symbiana i pomimo posiadania stada wynalazków HTC to nokii 95 nie pozbęde się za nic), ale windows marketplace ssie. ssie totalnie i nie napisałbym tam żadnej aplikacji. Rozwala mnie ograniczenia związane z rynkiem – za każdy z nich płaci się $$ – czyli wiadomo, że dla PL aplikacji jest tyle co nic. Nie mówiąc o łatwosci poruszania się po marketplace np. na 10 aplikacji dwa facebooki i nie wiadomo który jest dobry – ale jeden trzeba tuż po instalacji… upgradować. Nie wiem kto odpowiada za ten produkt (marketplace) na PL, ale już nie powinien pracować w M$.
Nawet wyciskające $ z ludzi Sony uznało, że skoro nie ma w PL sensu stawiać marketplace, to przenieśmy polaków na najbliższy sensownie wyposażony rynek z którego coś qmają (UK).
19 Styczeń 2010 at 15:34
Zdaje się więc, że w Waszych ocenach Android byłby lepszym wyborem niż inne platformy.
@Roko – Samsung oferuje trzy platformy: Symbian, Windows Mobile, Java i Bada (więcej tutaj: http://innovator.samsungmobile.com/). Którą platformę masz na myśli?
@Tomek: koszt, jaki poniosłem w przypadku iPhone jest podobny do wydatków na inne platformy – Windows, Symbian czy Android. Jakiś hardware do testów mieć trzeba.
19 Styczeń 2010 at 18:43
Dość ciekawie odpowiedział mój znajomy (http://sakowicz.info/):
“Wg. mnie to zależy od odbiorcy dla jakiego aplikacja jest skierowana. Jeśli jest to odbiorca indywidualny wybieramy IPhone bądź Android. Windows Mobile raczej odpada gdyż system ma za mały ‘cool factor’ i posiada dość mały rynek urzytkowników indywidualnych. Inaczej ma się sprawa gdy piszemy aplikację biznesową, tutaj nie liczy się koszt pojedyńczego urządzenia a raczej wdrożenia aplikacji w firmie i późniejszego utrzymania aplikacji – tutaj bez sprzecznie wygrywa Windows Mobile i .NET Compact Framework.”
19 Styczeń 2010 at 18:57
Ortografy też cytowane ?;)
19 Styczeń 2010 at 18:59
@zen: ctrl-c, ctrl-v to i ortografy się przeniosą