Apple czy Android? Co jest najlepsze dla programistów? [Opinia]

To jest gościnny felieton Dana Burcawa, założyciela i dyrektora generalnego Podwójny bis, która tworzy aplikacje na iPhone'a (a teraz na iPada). Dan bardzo pasjonuje się tym, dlaczego programiści powinni pracować nad aplikacjami na iPhone'a zamiast na Androida. Tutaj wyjaśnia, dlaczego programiści Androida nie zarabiają pieniędzy i dlaczego aplikacje na Androida zawsze będą drugorzędne w stosunku do aplikacji na iPhone'a/iPada.

Kilka lat temu aplikacje były nowością – fajny pomysł. Obecnie w samym App Store jest ponad 250 000 tych uroczych pomysłów, a Android Market szybko nadrabia zaległości.

Aplikacje są jak Dziki Dziki Zachód – a z perspektywy programisty na pewno zbliża się strzelanina. Google kontra Jabłko. iPhone i iPad vs. Android. Dla kogo powinieneś kodować i dlaczego? Jeśli o to chodzi, jako konsument, jaki telefon i aplikacje wybrać?

Z jednej strony masz Apple z nowo wydanym iPadem i iPhonem – ugruntowaną, choć ściśle kontrolowaną platformą. Z drugiej strony jest platforma Shiny New Android z otwartą obietnicą aplikacji i dużą swobodą – swoboda korzystania ze słuchawek, swoboda operatorów. Brzmi jak raj dla programistów… tak właśnie sprzedaje go Google. Ale przewiduję, że za rok, zarówno deweloperzy, jak i konsumenci będą naprawdę rozczarowani platformą Android.

Lekcje z Open Source

Pochodzę ze świata Open Source, a żargon otaczający Androida nie przypomina mi niczego tak bardzo, jak obietnica Linuksa w swoim czasie: ciężka filozofia i egalitaryzm, ale kontrola jakości? Nie tak bardzo.

Nienawidzisz podkreślać, że ciężka ręka może być dobrą rzeczą. Ale nie jest tak trudno stwierdzić, że zbyt duża wolność może być czymś złym. Specjalnie dla programistów.

O tak, Apple kontroluje. Ale jest na to metoda. Wiesz, kto wygrywa? Konsument – ​​i ostatecznie także deweloper. Apple jest firmą konsumencką o ugruntowanej pozycji; i ma ugruntowaną platformę programistyczną, która była udoskonalana przez lata – wraz z zestawem narzędzi i jasno określonymi wytycznymi, których programiści muszą przestrzegać, jeśli chcą uczestniczyć.

Drakoński? Niekoniecznie. Narzędzia Apple są bardzo dojrzałe z punktu widzenia możliwości, co jest wyraźnym wynikiem udoskonalania platformy przez cały okres jej użytkowania. Niesamowite funkcje i możliwości, które dziś widzimy, nie istniałyby bez odgórnego rozwiązania firmy Apple podejście: programiści po prostu dodają „inteligentniejsze” oprogramowanie do już istniejącej platformy, aby je ulepszyć. Oczywiście bogata historia Apple, a nie tylko jego platforma, daje mu mnóstwo wiarygodności – a programiści również są do tego zainteresowani.

W najnowszym wprowadzeniu iPhone'a 4 pojawiło się wiele narzekań na nacisk na sprzęt. Ale jako programista bardzo mi się to podobało. Czemu? Ponieważ mogę liczyć na jakość. Nie muszę się martwić, że aplikacje, które piszę, nie działają z jednego telefonu na drugi. Nie mogę tego powiedzieć o Androidzie.

Co sprowadza mnie z powrotem do zagadki Open Source. W teorii wolność to wspaniała rzecz. Kiedy po raz pierwszy programowałem na Linuksie, pokochałem ten rodzaj wolności. Ale znasz powiedzenie „koszt wolności?” Wątpię, czy odnosi się to do Androida vs. iPhone, ale to wciąż aktualne: Android daje programistom dużą swobodę, ale trzeba zapłacić ogromną cenę pod względem jakości, spójności – a także wynagrodzenia.

Dziś platforma Android jest tutaj, ale jest usiana licznymi urządzeniami i aplikacjami – a wiesz, co mówią o zbyt wielu kucharzach w kuchni…

Android pokazuje też swoją młodość w narzędziach oferowanych programistom Androida. Rozważ problem z licznymi urządzeniami: można by oczekiwać zestawu narzędzi, które pomogłyby programistom poruszaj się po bezdrożach wielu urządzeń z Androidem o różnych rozmiarach ekranu, rozdzielczości, a nawet procesorze prędkość. Emulator Androida oczekuje, że programista skonfiguruje profile dla każdego urządzenia, które chcesz obsługiwać. I mam na myśli konfigurację. Każdy aspekt sprzętu musi być zdefiniowany; na rynku nie ma gotowych profili dla aktualnych urządzeń.

Chociaż Google sprzedaje platformę Android jako „raj dla programistów”, istnieją kluczowe czynniki, które już mają i będą miały wpływ na jakość aplikacji na rynku Android. Tak, rynek Androida oferuje programistom szeroki wybór, ale co z użytkownikiem końcowym? W przeciwieństwie do Apple, programiści Androida nie muszą przestrzegać ścisłego zestawu wytycznych. Minusem jest to, że prowadzi to do utraty kontroli (w procesie rozwoju), a ostatecznie również utraty kontroli jakości.

Tymczasem z perspektywy konsumentów platforma Android wygląda fajnie, ale myląc:

Jakie urządzenie kupić?

Którzy operatorzy obsługują jakie aplikacje?

Czy aplikacja działa poprawnie na urządzeniu? Stopa zwrotu sięga nawet 15-25 procent. To prawda, Android jest dostępny na kilku różnych nośnikach – co jest świetne. Jednak w wielu przypadkach aplikacje nie działają między operatorami, między telefonami — nawet między wersjami systemu operacyjnego Android.

Wynik: możesz dostać świetny telefon, ale nie masz pojęcia, czy aplikacja, którą otrzymujesz z Android Market, będzie na nim działać.

Docelowo strategia Google polega na tym, aby operatorzy mogli przesyłać telefony do konsumenta, a następnie pozwolić konsumentowi wykonywać pracę próbną i błędną aplikacji, wersji i jakości.

Weź wizualną pocztę głosową Verizon dla droida. Wizualna poczta głosowa umożliwia użytkownikom przeglądanie historii połączeń na żądanie (funkcja dostępna w telefonie iPhone). Jednak w przypadku Droid Verizon pobierze opłatę na szczyciez koszt telefonu, jego miesięcznej usługi i aplikacji zakupionych w Android Market, aby korzystać z tej funkcji. Może to być przydatne, ale okazuje się, że jest to tylko kolejna szansa na wyłudzenie konsumenta, zamiast oferowania najlepszego doświadczenia użytkownika.

Wracając do idei Linuksa i Google:

Jeśli Google nie naprawi wkrótce swojej spójności i jakości, zauważy, że jego rynek Androida się pogarsza i marka jako całość będzie cierpieć z powodu zamieszania: czy to tylko modele EVO mają problemy, czy jest to Droid rzecz? Czy to błąd dotyczy tylko telefonów Samsung, czy był to problem z wersją? Niespójna jakość nie jest tak wielka, gdy na rynku jest tylko 10-20 telefonów z Androidem. Ale w przyszłym roku, kiedy będzie bliżej 30 czy 50? Kiedy programiści muszą radzić sobie lub uwzględniać 30-50 lub nawet 100 różnych urządzeń, z różnymi rozmiarami ekranów, rozdzielczościami i wymaganiami technicznymi? To może być naprawdę brzydkie. Dla programisty Androida bardzo trudne jest stwierdzenie, że jego aplikacja działa na wszystkich urządzeniach z Androidem dokładnie w ten sam sposób. Pomnóż to na 30, 50, 100 urządzeniach, a rynek deweloperów może zobaczyć prawdziwe wstrząsy.

(Tak, istnieje emulator Androida, który pozwala programistom na uruchamianie symulacji oprogramowania na szerokiej gamie sprzętu. Ale testowanie całego obecnego sprzętu zajęłoby programiście bardzo dużo czasu i dużo zasobów. Zanim pojawią się wyniki, nowe urządzenia z Androidem – z nowymi wymaganiami technicznymi – zostaną wprowadzone na rozwijający się rynek).

To po prostu nie jest zabawne.

Wyzwaniem jest dostarczenie jednej platformy, która będzie obsługiwać szeroką gamę urządzeń, a jednocześnie będzie w stanie zapewnić aplikacje, które zachowują się tak samo na wszystkich oferowanych urządzeniach. Deweloperzy chcą, aby ich prace wyglądały jak najlepiej i miały jak najszerszą publiczność. Większość programistów naprawdę chce, aby ich aplikacja była pobierana i używana. Ułatw im to.

A więc Google i Android: wyciągnij wnioski z Linuksa – trochę mniej wolności, trochę więcej jakości i spójności? Tam właśnie powinieneś się udać. A w międzyczasie będę tutaj, koncentrując się na tworzeniu świetnych aplikacji na iPhone'a i iPada.

Dan Burcaw jest założycielem i dyrektorem generalnym Podwójny bis, doradztwo w zakresie aplikacji mobilnych. Na początku lat 90. Burcaw nauczył się tajników wczesnego Internetu i pojawiających się tam technologii, w tym systemu operacyjnego Linux. Stanowiło to podstawę jego pierwszych kilku biznesów. W 1999 roku Burcaw był współzałożycielem Terra Soft Solutions, Inc. (przejęta przez Fixstars) firma konsultingowa skoncentrowana na zintegrowanych rozwiązaniach technologicznych opartych na systemie Linux. Jako Chief Technology Officer, Burcaw projektował rozwiązania dla firm z listy Fortune 500, Departamentu Obrony i Departamentu Energii. Warto zauważyć, że zaprojektował i dostarczył firmie Lockheed Martin wielomilionowe rozwiązanie technologiczne, które było: podstawa platformy przetwarzania obrazu sonaru o wysokiej dostępności wdrożonej na pokładzie okrętu podwodnego US Navy flota.

Najnowszy wpis na blogu

| Kult Maca
September 11, 2021

Pierwsze etui folio OtterBox na iPada Pro 2018 jest eleganckie, ale ochronneSymmetry Series 360 zapewnia elegancką ochronę iPada Pro (11 cali) i iP...

| Kult Maca
September 11, 2021

Rok później 92% właścicieli iDevice korzysta z iOS 6 [Wykres]Ponieważ Apple ma dziś zaprezentować nowe iPhone’y, prawdopodobnie dzieli nas około ty...

| Kult Maca
September 11, 2021

Uaktualnianie aplikacji fitness Apple: czego brakuje i jakie są alternatywy?Jak Apple może ulepszyć swoją ofertę fitness?Zdjęcie: Graham Bower / Cu...