Jeśli chcecie mnie wesprzeć to zapraszam do kupna mojego poradnika "Jakim jesteś Makiem?".

Fragmentacja iOS

· Wojtek Pietrusiewicz · 5 komentarzy

Trochę wyżywałem się ostatnio na Androidzie za cechy, które mnie zwyczajnie irytują. Jednak od premiery iPhone 4 zastanawiałem się jak wygląda sprawa fragmentacji iOS.

Rynek mieści już 100 milionów sprzedanych urządzeń opartych na mobilnym systemie operacyjnym od Apple. Zapewne nie wszystkie te urządzenia są aktywnie wykorzystywane, ale jakby nie patrzeć, jest to imponująca ilość. Obejmuje ona oczywiście nie tylko iPhone, ale również iPod touch oraz iPad. W sumie więc mamy trzy urządzenia, z czego wykluczam iPada ze względu na osobną wersję iOS, różniącą się od reszty.

Problem zaczął się już w zasadzie podczas premiery iPhone 3G. Nowy model miał GPS — różnica sprzętowa nie do przeskoczenia. iPody touch do dzisiaj go nie mają tak na marginesie. Niemniej jednak posiadacze pierwszego modelu iPhone mieli ograniczenie w postaci braku dostępu do aplikacji nawigacyjnych czy też dataloggerów. Tych aplikacji dużo nie ma i osobiście zupełnie nie odczuwałem ich braku. Nie miałem też w związku z tym żadnych problemów.

iPhone 3GS i odpowiedni model iPoda touch dopiero stworzyły większą, aczkolwiek nadal raczej małą, wyrwę pomiędzy sobą, a starszymi braćmi. Największą jego zaletą był znacznie szybszy procesor, dzięki któremu developerzy mogli śmielej sobie poczynać, szczególnie na rynku gier. Szybszy procesor, lepsza grafika, więcej FPSów — max zabawy. Jako, że sam przesiadłem się na model 3GS, a przesadnie dużo nie gram, to ten problem też nie dotyczył mnie1. Słyszałem jednak osoby, które miały w związku z tym nieprzyjemności.

Dzisiaj iPhone 4 podniósł poprzeczkę jeszcze wyżej — dostał w prezencie żyroskop i przednią kamerę. Oraz tradycyjnie: jeszcze szybszy procesor. Rozbieżność wzrosła … znacznie. Nadal jednak tylko dla małego grona ludzi. Nie korzystam z żyroskopu ani z FaceTime. Nie mam z kim … Chociaż nawigacje GPS mogłyby w końcu zacząć wykorzystywać kompas.

Tegoroczny debiut przyniósł również kolejną iterację iOS w wersji 4.0. Znakomity system operacyjny, całkowicie zmieniający podejście do pracy poprzez fast-app switching i możliwości zapisania stanu aplikacji. System, dzięki któremu mam już tylko dwa ekrany z apps zamiast 5-7 — foldery są naprawdę świetne. System, który jest znakomity niestety tylko i wyłącznie na iPhone 4 i w ostateczności na 3GS lub iPod touch 3. generacji. iPhone 3G w zasadzie nie potrafi go napędzić, a na oryginalnym 2G nie ma możliwości2 jego instalacji.

Z jednej strony rozumiem konieczność dążenia do nowych, poprawiających funkcjonalność cech kosztem prędkości. Nie mówię już tutaj nawet o różnicach sprzętowych, bo te są poniekąd zrozumiałe i do zaakceptopwania. Mam jednak wrażenie, że zespół pracujący nad kodem iOS zaspał podczas lekcji o optymalizacji. Ba — nawet krytykowany przeze mnie Google znacznie poprawił wydajność systemu Android 2.2 (Froyo) względem 2.1 i wcześniejszych. Na tym samym hardwarze potrafi być ponad dwukrotnie szybszy3. Przynajmniej w benchmarkach.

Przypomina mi to grę z dzieciństwa — Descent. Zabawy w stylu Doom, tyle że latało się statkiem kosmicznym w tunelach. No i były trzy wymiary! Gra była, jako jedna z pierwszych, wydana tylko na CD i zamowała 130MB! Rosjanie sklonowali ją i wypuścili zoptymalizowany kod, który zajmował około … 130KB. 130 kilobajtów! Tak … sto trzydzieści kilobajtów. Nie było w tej kompilacji sztucznej inteligencji ani przeciwników, jednak pokazało to skalę różnicy.

Mam nadzieję, że Apple weźmie się do roboty i zamiast dodawać kolejne nowe killer funkcje, skupi się na szlifowaniu i optymalizacji kodu dla starszych modeli.

Będzie to miało jedną niezaprzeczalną zaletę: iOS 4.x na iPhone 4 też będzie mi szybciej chodził. ;-)

Na deser zapraszam na świetną parodię iOS 4 na iPhone 3G:

  1. Nawet gdybym pozostał przy iPhone 2G.
  2. Legalnej, bez jailbreak.
  3. 14MFlops vs. 8MFlops pod Android 2.1.

Chcesz zwrócić mi na coś uwagę lub skomentować? Zapraszam na @morid1n lub na forum.

  • Co? Albo źle zrozumiałem albo Ty masz nadzieje, że Apple będzie do końca życia wspierać stare modele. Niby dlaczego mieliby to robić? W końcu w ich interesie jest to by ludzie chcieli kupować nowe modele.

  • To dlaczego mieliby to robić (lub nie!) to już zupełnie inny temat. :-) Moje poglądy nie zawsze pokrywają się z Apple.

    Uważam jednak, że przynajmniej na jednym modelu wstecz powinno wszystko płynnie działać.

  • No więc tak jest. :) Na 3GS wszystko ładnie śmiga.

  • Descent był świetny! Co do optymalizacji to jeśli pomogłoby starym modelom to również aktualnym.
    Pamiętajmy jaką mają kasę z AppStore, nie tylko hardware.

  • Thepluto2007

    To realia nie parodia