Port portowi nierówny, czyli o aplikacjach z Androida

Avatar
Piotr Barycki
22.02.2013

Ostanie informacje o planach wprowadzenia na BlackBerry 10 dwóch niezwykle popularnych aplikacji – Instagramu oraz Skype’a – w postaci tzw. „portów” z Androida wzbudziły sporo emocji, związanych głównie z jakością tak przeniesionych programów i podejściem firm deweloperskich do BlackBerry 10. Czy jednak obawy te są uzasadnione?

Dotychczasowe doświadczenia, zwłaszcza użytkowników tabletu BlackBerry PlayBook, z tego rodzaju oprogramowaniem mogą być nienajlepsze. Większość programistów zdecydowała się bowiem na skorzystanie z gotowych narzędzi do „portowania” i przenoszenie swoich aplikacji praktycznie „1:1” w porównaniu do wydania na Androida. Efektem było menu i UI niespójne z tym, które oferuje system BlackBerry, niekoniecznie najwyższa wydajność i ogólne poczucie tego, że aplikacja jest robiona „na odczepne”. Zdarzały się wprawdzie przykłady aplikacje, które nawet pomimo takiego podejścia działały bez najmniejszych problemów, ale raczej stanowiły one mniejszość, w stosunku do pozycji działających przeciętnie lub wręcz słabo.

W BlackBerry 10 również można znaleźć przykłady aplikacji przeniesionych „wprost” – niektóre z nich działają doskonale (np. Wisepilot), podczas gdy niektóre albo nie działają w ogóle albo sprawiają wrażenie okropnie ociężałych. Nie oznacza to jednak, że tak właśnie wyglądać będzie wszystko. Port jest bowiem całkowicie nierówny portowi i właściwie wszystko zależy od programisty.

Jednym z głównych zarzutów w stosunku do aplikacji przenoszonych z Androida jest odmienne niż w BlackBerry 10 UI, co jest akurat… najmniejszym problemem. Nic nie stoi bowiem na przeszkodzie, aby stworzyć wydanie tej samej aplikacji z Androida z UI wyglądającym IDENTYCZNIE jak UI BlackBerry 10 i dopiero wtedy przeniesienie jej na BlackBerry 10. Czy wtedy nadal jest to jakikolwiek problem? Czy istnieje wtedy w ogóle szansa na to, że ktokolwiek rozpozna, skąd faktycznie pochodzi program? Część osób prawdopodobnie zorientuje się na podstawie kilku ograniczeń dla tego typu programów (np. brak systemowego „Share”), ale zdecydowana większość nawet nie będzie miała o tym pojęcia.

Trzeba również pamiętać o tym, że „portowanie” nie jest ograniczone wyłącznie do „wrzucenia” pliku .apk z jednej strony i „wyjęciu” .bar z drugiej strony. To metoda najprostsza i najszybsza, więc jednocześnie obarczona potencjalnie największą liczbą błędów i problemów. Niektórych programów nie da się w ten sposób przenieść (np. Instagram), niektórzy programiści (właśnie ze względu na problemy) nie chcą do tego zagadnienia podchodzić w ten sposób. To, że ktoś decyduje się na takie rozwiązanie, świadczy o tym, że albo jest przekonany co do tego, że aplikacja będzie po takim procesie działać bez problemu albo faktycznie chce oszczędzić czas i pieniądze.

Nie stawiajmy więc wszystkich „portów” w jednym szeregu – mogą być „porty” lepsze od aplikacji natywnych i gorsze od czegokolwiek, co kiedykolwiek widzieliśmy. Nie ma również potrzeby nazywania BlackBery 10 „emulatorem aplikacji z Androida” – jakie znaczenie ma w końcu skąd pochodzi aplikacja, skoro korzysta się z niej pod każdym względem dobrze?

Oczywiście aplikacje natywne, zwłaszcza w przypadku najważniejszego oprogramowania, byłyby rozwiązaniem teoretycznie najlepszym, ale w praktyce właściwie niemożliwym do realizacji. Aby zachęcić programistów, trzeba mieć grupę użytkowników, którzy będą w stanie dany produkt pobrać/kupić. Aby mieć grupę użytkowników, trzeba mieć aplikacje, które zachęcą ich do zakupu. Przerwanie tego błędnego koła jest praktycznie niemożliwe, zwłaszcza przy ograniczonych zasobach finansowych (jak pokazał Microsoft – również przy nieograniczonych), chyba że pokazać deweloperom atrakcyjną drogę na skróty. Tym jest właśnie „odtwarzacz” aplikacji z Androida na BlackBerry 10, z którego można skorzystać na lepsze i gorsze sposoby.

Czy więc dobrze zoptymalizowana aplikacja z Androida, z UI przystosowanym do BlackBerry 10 jest faktycznie powodem do narzekań?

tl;dr: Tak, da się zrobić ładnie wyglądający i szybko działający port z Androida. Wymaga to więcej czasu i wysiłku, ale jest to możliwe.