Firefox OS

Dnia w Firefox OS, Mobile, Artykuły przez Krzysztof Rusnarczyk

Firefox OS jest obecny na rynku od lipca 2013 roku, w tym praktycznie od samego początku w Polsce. Jako aktywny użytkownik i fan tego systemu podzielę się z Wami kilkoma osobistymi spostrzeżeniami i postaram się ukazać FFOS w nieco szerszej perspektywie.

Zanim o samym systemie. Najpierw chciałbym odpowiedzieć na jedno, proste pytanie: dlaczego Firefox OS? Dlaczego nie Android, nie iOS, nie Windows Phone? Są popularne, są długo na rynku, są sprawdzone, mają wielką bazę deweloperów i masę aplikacji do pobrania. Otóż odpowiedź jest nadzwyczaj prosta — nie spełniają mojej najbardziej podstawowej potrzeby telefonu, czyli prywatności.

Wszystkie najpopularniejsze obecnie systemy mobilne to systemy zamknięte lub półotwarte (Google Android), za którymi stoją wielkie korporacje mające w poważaniu prywatność użytkowników. Zdaję sobie sprawę, że bardzo ciężko w tych czasach o prywatność, że i tak jest już ona gwałcona na wielu portalach społecznościowych, których używam. Jednak telefon jest ze mną cały czas i nie chcę, aby moje dane były zbierane w jeszcze szerszym kontekście geolokalizacji, danych telefonu, czy korespondecji.

Wolne i otwarte oprogramowanie

Bardzo bliska jest mi idea wolnego i otwartego oprogramowania. Lubię wiedzieć co dzieje się wewnątrz, lubię mieć dostęp do kodu, lubię być w stanie pomóc, gdy zauważę błąd. Wiesz co bierzesz, wiesz czego używasz. Firefox OS jest w pełni otwarty. Każdy może sklonować sobie repozytorium (GitHub, MPL), zbudować system, testować i przerabiać. Mozilla pozwala każdemu na wkład w rozwój systemu za pomocą pull requestów oraz udostępnia znaną od lat Bugzillę do zgłaszania błędów w Firefox OS.

Mozilla

Czemu tak bardzo ufam Mozilli? Zdobyła moje zaufanie przez lata swoim konsekwentnym podejściem do prywatności i wkładu w otwarte oprogramowanie (świetnie oprogramowanie ogólniej mówiąc). Ich misja jest jasna — działają oni dla ludzi i dla lepszego Internetu. Możecie od razu powiedzieć, że jak to nie dla pieniędzy. Oczywiście fundacja Mozilla musi coś zarabiać, inaczej przestałaby istnieć, dlatego właśnie powstała korporacja Mozilla, która finansuje działania fundacji. Zasady pozostają jednak te same i niezmienne.

Mozilla zdobyła moje zaufanie oczywiście nie tylko filozofią działania, ale także bardzo dobrymi produktami, których używam: Firefox oraz Thunderbird. Wierzę również w inne pomniejsze projekty, nad którymi pracuje, a które mogą dokonać niemałych zmian w przyszłości. Choćby Persona pozwalająca na przyjemne i szybkie logowanie za pomocą BrowserId.

Co więcej Mozilla jest członkiem WHATWG, które faktycznie zajmuje się rozwojem otwartych standardów Internetowych. W przeciwieństwie do W3C, które lubi wprowadzać bardzo złe rzeczy do specyfikacji HTML.

No dobra, ale co z tym Firefox OS?

Nowy system mobilny. Ale po co, ale komu to potrzebne? ( ;)) Na tym rynku nie da się już przecież nic zmienić. Są trzy (lub cztery, jeśli liczyć BB) duże systemy mobilne, które podzieliły między sobą mobilny tort.

A jednak! Mozilla swoją genialną koncepcją wejścia na rynki wschodzące zaczyna zdobywać coraz większą popularność. System pojawił już się w 14 krajach i fundacja na pewno na tym nie poprzestanie. Firmy jakie do tej pory wydały telefony z Firefox OS to Alcatel, ZTE, LG, Huwaei i Geeksphone. Na ostatnim MWC w Barcelonie Alcatel zapowiedział wydanie trzech kolejnych słuchawek z FFOS a ZTE dwóch. Co jakiś czas pojawiają się także informacje od Sony, które najpierw wydało testowego builda systemu na Xperia E a później zaprezentowało moduł gadżetów do warstwy Gaia (dosyć topornych, ale ważne, że próbują). Mozilla planuje wydać ciekawą opcję telefonu deweloperskiego o nazwie Flame pozwalającego na programowe zmniejszanie lub zwiększanie RAMu do celów testowania. Panasonic z kolei wyda telewizor Smart TV z system Firefox OS. Trwają również prace nad tabletami a sama Mozilla pozyskuje coraz więcej partnerów każdego miesiąca.

Co nowego oferuje Firefox OS?

To pytanie jest podchwytliwe, ponieważ są dwie różne odpowiedzi w zależności od punktu widzenia.

Z punktu widzenia użytkownika nie spotkamy tu prawie nic nowego (prócz ustawień prywatności). Prosty, intuicyjny interfejs oraz te same funkcje, które można spotkać wszędzie. Interfejs miejscami jeszcze niedopracowany, ale pamiętajmy, że to nowy produkt. Żaden system mobilny nie wchodził na rynek w pełni gotowy, zarówno Android jak i iOS potrzebowały lat i tysięcy sugestii użytkowników, aby dojść do obecnego stanu. Składając to wszystko do kupy można powiedzieć, że Firefox OS zaczął zdecydowanie lepiej.

Całkiem inaczej sprawa ma się z punktu widzenia deweloperów. Jesteś front-end deweloperem i chcesz zacząć pisać aplikacje mobilne? Nic prostszego. Już to umiesz. Na Firefoxa. Nie musisz uczyć się żadnego nowego języka programowania, nie musisz nawet poznawać nowych bibliotek, api lub frameworków. Wszystkie aplikacje na system Firefox OS to po prostu projekty webowe napisane w oparciu o HTML/CSS/JS, które z dodatkiem prostego pliku manifestu zostają uruchamiane lokalnie.

A co jeśli moja aplikacja potrzebuje działać na danych z serwera?

Nic trudnego. Za pomocą JS pobierasz, aktualizujesz i usuwasz dane ze swojego serwera. Może to być serwer, na którym wystawisz RESTowe api lub zwykłe skrypty, do których się odwołujesz. Tutaj już wszystko zależy od tego jaki jest Twój wybór technologii serwerowej. Co sprytniejsi użyją bilbioteki do zarządzania danymi w aplikacji po stronie urządzenia mobilnego, np. backbone.js.

A co jeśli nie mam dostępu do sieci, czy moja aplikacja przestanie działać?

Na to także jest odpowiedź, również prosta — localStorage. Dane potrzebne do działania aplikacji lub dane, które uaktualniasz w trybie offline mogą w bardzo prosty sposób zostać przesłane na serwer po wykryciu połączenia z siecią. Synchronizacja localStorage oraz danych, które trzymasz w bazie danych swojego serwera jest prosta, szczególnie przy użyciu dobrych bibliotek JS.

Co z dostępem do funkcji telefonu?

W tym wypadku z pomocą przychodzi nam Cordova od Apache, która jest częścią PhoneGap od Adobe (o tym zaraz). Apache razem z Mozillą przez ostatnie miesiące pracowała nad udostępnieniem wsparcia Cordova dla deweloperów Firefox OS i udało się. Cordova pozwala na dostęp do takich funkcji telefonu jak GPS, aparat, pamięć, kontakty, czy akcelerometr.

Co jeśli mam już aplikację na inny system i chciałbym ją przeportować na FFOS?

Jest szansa, że pisałeś swoją aplikację dla webOS lub Chrome. W tym wypadku masz praktycznie gotowy kod do wrzucenia na Marketplace. Jeśli pisałeś aplikację natywną na konkretny system operacyjny, niestety nie da się jej przeportować na Firefox OS automatycznie. Bardzo dobrym podejściem jest stosowanie PhoneGap od Adobe, za pomocą którego możesz pisać aplikacje w technologiach webowych i generować natywne aplikacje dla wielu systemów mobilnych.

Muszą być jakieś minusy

Nic nie jest idealne. Gdzie FFOS jeszcze niedomaga? Pierwsza sprawa to niewielka liczba aplikacji znajdujących się w Marketplace (choć wszystkie moje potrzeby zostały spełnione). Perełek jak do tej pory pojawiło się niewiele. Część aplikacji to kopie a niektóre są po prostu niedopracowane. Należy jednak pamietać, że w przypadku FFOS każdy może założyć swój własny appstore/marketplace.

Zdarzają się zacięcia. Czasem pojawiają się niespójności w interfejsie, gdzie włączając jakąś funkcję mamy animację, a wychodząc z niej nie mamy żadnej. GPS miewa problemy z dokładnym zlokalizowaniem naszej pozycji (choć jest to zależne też od słuchawki). Spotkały mnie także sytuacje, gdzie musiałem restartować telefon, gdy aplikacje systemowe zaczynały wariować.

Kończąc

W obecnej chwili pracuję na Geeksphone Revolution z systemem B2G w wersji prerelease 1.3 i mogę z czystym sumieniem Wam powiedzieć, że Firefox OS zmierza w naprawdę dobrym kierunku. Dotychczas znane telefony z FFOS były low-endowe i nie były w stanie pokazać pełnych możliwości systemu. Revolution udowadnia, że FFOS to nie tylko Alcatel Fire (tzw. biedatel, którego nawiasem mówiąc używałem), ale również high-endowe urządzenia z większymi możliwościami.

Bardzo cieszy mnie obecna sytuacja na rynku systemów mobilnych. Pojawiają się nowe rozwiązania i co najważniejsze na otwartych lub wolnych licencjach. Mówię tu nie tylko o Firefox OS, ale o Sailfish OS, Tizen OS oraz Ubuntu Phone. Im więcej systemów tym większa konkurencja i co najważniejsze — szybszy rozwój.

Artykuł dostępny na licencji CC BY SA.