Wprowadzenie do Firefox OS dla deweloperów – Centrum Prasowe Mozilli

Otwarty świat, otwarte technologie

Mobilny Internet to przywilej, z którego niewiele ludzi w skali globalnej może korzystać. Zamknięci w naszej „cyfrowej bańce”, czasami o tym zapominamy. Nie uświadamiamy sobie, że dostęp do Internetu niemalże w każdym miejscu jest w pewnym sensie luksusem. Większość ludzi na świecie żyje bez smartfonów, bez dostępu do Internetu czy nawet prostych telefonów komórkowych. Firefox OS stawia sobie za cel podłączenie wszystkich do mobilnej sieci, co odzwierciedla technologia, na której system jest zbudowany. Mozilla skupia się na technologiach sieciowych, które działają za pośrednictwem przeglądarki, niezależnie od platformy.

Chciałbyś tworzyć aplikacje na Firefox OS? Jeśli tak, w tym artykule znajdziesz wszystkie niezbędne informacje. Na co czekasz? Uwolnij sieć i pomóż w rozpowszechnianiu mobilnego Internetu! #FreeWeb

Sieć jest platformą

Misją Mozilli jest promowanie innowacji w Internecie i dbanie o to, aby sieć pozostała otwarta dla wszystkich. Coraz więcej osób łączy się z Internetem z urządzeń mobilnych. Jednak fragmentacja w branży mobilnej sprawia, że zarówno użytkownicy, jak i programiści są zmuszeni do wyboru jednego z chronionych patentami systemów i oferowanych przez ten system możliwości i opcji kontroli . Celem Mozilli jest uwolnienie sieci od tych ograniczeń i wprowadzenie standardów, które pozwolą tworzyć aplikacje na wiele platform oraz umożliwią większą swobodę wyboru.

Firefox OS to nowy otwarty system operacyjny, który tworzy niezależny od platformy, oparty o standardy otwartej sieci, mobilny ekosystem, dzięki czemu każda funkcja smartfonu działającego pod tym systemem, może być stworzona w technologii HTML5. Kod źródłowy jest otwarty, a API są dostępne dla wszystkich. System działa na jądrze Linuksa oraz silniku renderującym Gecko, który umożliwia działanie aplikacji w całości stworzonych w HTML, JavaScripcie i za pomocą innych API otwartych aplikacji sieciowych.

Jak zacząć?

Firefox OS to HTML5. Nie ma tam Javy, C# czy Objective C. Za pomocą technologii HTML5, CSS i JavaScript Firefox OS umożliwia deweloperom dostęp do funkcji telefonu komórkowego. Stronę mobilną można w bardzo prosty sposób przekształcić w aplikację Firefox OS. Wystarczy zdefiniować dane offline za pomocą AppCache i LocalStorage lub IndexedDB oraz określić w manifeście nazwę i uprawnienia dostępu dla aplikacji.

Przykładowy manifest:

Definicje offline są wymagane, aby aplikację można było skonfigurować tak, by działała również pod systemami iOS i Android. Jeżeli już masz aplikację HTML5 online, wystarczą dwa kroki, aby przeportować ją na Firefox OS.

Stwórz manifest otwartej aplikacji. Zarejestruj aplikację w Firefox OS Marketplace lub zainstaluj ją za pomocą Web Activities.

Tworzenie aplikacji nie jest związane z konkretnym IDE czy środowiskiem pracy. Podobnie jak w przypadku standardowego tworzenia dla sieci, możesz korzystać ze wszystkich dostępnych narzędzi, od Vi w linii poleceń, aż po Eclipse; cokolwiek jest dla Ciebie najwygodniejsze. Jak na razie nie ma zdefiniowanego SDK, a deweloperzy nie muszą się rejestrować ani uiszczać opłat. Głównym założeniem, którym kieruje się Mozilla, jest utrzymanie otwartej, dostępnej dla wszystkich sieci, a Firefox OS jest tego odzwierciedleniem.

Poziomy bezpieczeństwa dla aplikacji

Deweloper określa w manifeście otwartej aplikacji, jak dana aplikacja ma się nazywać, które ikony mają zostać użyte oraz do których źródeł funkcji telefonu aplikacja ma mieć dostęp. Dla aplikacji na Firefox OS istnieją trzy poziomy bezpieczeństwa, które określają uprawnienia danego programu. Jest to konieczne dla zagwarantowania, aby nie wszystkie aplikacje mogły np. wysyłać wiadomości czy nawiązywać połączenia głosowe bez wiedzy użytkownika. Te poziomy bezpieczeństwa to: hostowany, uprzywilejowany i certyfikowany.

Szczegółowy opis uprawnień aplikacji oraz wymaganych poziomów bezpieczeństwa można znaleźć pod adresem:

Poszczególne poziomy bezpieczeństwa dla aplikacji oznaczają:

Hostowane aplikacje: Te aplikacje mogą być przechowywane na serwerze dewelopera, dzięki czemu łatwiej jest je utrzymywać i modyfikować. Jednocześnie, jako że Mozilla nie zarządza tym serwerem i nie może potwierdzić jego bezpieczeństwa, aplikacja ma dostęp jedynie do niektórych funkcji telefonu.

Uprzywilejowane aplikacje: Te aplikacje uzyskują szerszy dostęp, muszą otrzymać certyfikat zespołu Mozilla Marketpace oraz być zgodne z polityką bezpieczeństwa treści (Content Security Policy). Ponadto uprzywilejowane aplikacje muszą być podpisane oraz wymagają instalacji przez Firefox Marketplace.

Certyfikowane aplikacje: Te aplikacje określają funkcjonalności systemu operacyjnego i z tego względu mają nieograniczony dostęp do funkcji telefonu. Mogą być tworzone jedynie przez Mozillę i jej partnerów.

Typ aplikacji określa, z jakich API sieciowych można skorzystać.

Sieciowe API

Aplikacje w Firefox OS uzyskują dostęp do źródeł funkcji telefonu za pośrednictwem sieciowych API. W odróżnieniu od tradycyjnych platform dla HTML5, takich jak iOS i Android, w Firefox OS deweloperzy poprzez JavaScript mają bezpośredni dostęp do rozmaitych komponentów sprzętowych. Na przykład mogą pozyskać informacje o stanie baterii za pomocą komendy lub sprawić, aby telefon zawibrował przez sekundę wpisując: Ta funkcjonalność jest określana jako standard sieciowych API i już jest wspierana przez inne przeglądarki.

Wszystkie typy aplikacji są w stanie jeszcze bardziej przeniknąć w system, jednak nie automatycznie; wymagane jest zezwolenie użytkownika. Do tego właśnie służą Web Activities.

Web Activities

Prostym sposobem na uzyskanie dostępu do możliwości sprzętowych telefonu jest nakierowanie użytkownika na natywne aplikacje systemu operacyjnego, korzystając ze standardu Web Activities.

Pierwsza własna aplikacja

Swoją aplikację można testować na wiele sposobów. Najprostsza metoda to skorzystanie z dodatku Firefox OS Simulator do desktopowego Firefoksa. Aby włączyć Symulator, otwórz przeglądarkę, wejdź w Narzędzia –> Dla twórców witryn –> Firefox OS Simulator. Otrzymasz symulator telefonu z Firefox OS, konsolę wyświetlającą błędy i inne informacje oraz możliwość przetestowania aplikacji na Firefox OS z poziomu dysku twardego. Dla najlepszych rezultatów zalecamy korzystanie z Firefoksa Nightly. Ponadto smartfony z Firefox OS są już dostępne na rynku, tak więc programiści mogą przetestować swoje aplikacje bezpośrednio na docelowym sprzęcie.

Deweloperzy mogą również uruchomić nową aplikację. Aplikacja Boilerplate, stworzona przez Roberta Nymana, może być wykorzystana jako baza. Aplikacja automatycznie dopasowuje się do ekranu i oferuje wszystkie dostępne Web Activities w formie umieszczonych w interfejsie przycisków.

Co więcej, aplikację można zainstalować bez konieczności logowania się do Marketplace, wystarczy kliknąć w przycisk.

Zarabiaj na aplikacjach dla Firefox OS

Deweloperzy odgrywają kluczową rolę w rozwoju Firefox OS i ich wysiłki powinny być adekwatnie doceniane. Podział zysków zależy od regionu, metody płatności, regulacji podatkowych oraz działań marketingowych. Mozilla wspiera metodę bezpośredniej płatności u operatora, np. u T-Mobile, ułatwiając w ten sposób użytkownikom zakup aplikacji, nawet jeśli nie posiadają oni kart kredytowych. Proces realizacji wypłaty dla deweloperów zależy między innymi od metody płatności, jak również od przepisów związanych z płatnościami, które są różne w poszczególnych krajach. Niemniej jednak, wspólnym celem jest to, aby twórcy aplikacji otrzymali zapłatę za zakupy dokonane w Marketplace w czasie od 60 do 90 dni.

Natywne vs. sieciowe aplikacje

„Trudno jest porównać jeden do jednego aplikacje sieciowe i natywne. Przypominałoby to zastanawianie się, dlaczego rodzinny sedan nie jest tak szybki jak bolid Formuły 1” – mówi Principal Evangelist Mozilli, Chris Heilmann.

Twitter: @codepo8

Aplikacje sieciowe są niezależne od platformy i to właśnie sprawia, że są tak ciekawe. Dzięki temu umożliwiają dotarcie do znacznie większej liczby osób oraz są zdecydowanie prostsze w utrzymaniu.

Dystrybucja aplikacji, Firefox OS Marketplace i adaptacyjne wyszukiwanie aplikacji

Firefox Marketplace to sklep z aplikacjami, w którym deweloperzy mogą rozpowszechniać swoje aplikacje, a użytkownicy wyszukiwać interesujące ich programy. Programiści mogą również udostępniać aplikacje przez dostępny na ich stronie przycisk „Zainstaluj”.

W ten sposób deweloperzy mogą promować swoje aplikacje na własnych stronach internetowych. Zamiast kierować odwiedzających witrynę do sklepu, po prostu przekierowują ze strony do aplikacji. Dokładnie to samo dzieje się w trakcie adaptacyjnego wyszukiwania aplikacji w Firefox OS. Wyniki wyszukiwania to zoptymalizowane pod urządzenia mobilne strony internetowe, a jeżeli odwiedzający zdecyduje się na zainstalowanie danej aplikacji, będzie mógł pobrać wszystkie dane wymagane do jej działania offline.

Gdy korzystamy z adaptacyjnego wyszukiwania aplikacji, nie wyszukujemy aplikacji jedynie w telefonie, ale również w Mozilla Marketplace oraz w Internecie. Nie trzeba znać nazwy konkretnej aplikacji, wystarczy wpisać to, co nas w danym momencie interesuje, np. : „piłka nożna”.

Filmiki: Firefox OS dla deweloperów

Chris Heilmann, Principal Evangelist Mozilli opowiada o najważniejszych aspektach Firefox OS w serii krótkich filmików dla deweloperów. Przegląd wszystkich filmów znajdziesz poniżej. Zachęcamy do oglądania!

1. Firefox OS: Chris Heilmann i Daniel Appelquist z Telefónica Digital / W3C rozmawiają o założeniach Firefox OS.

2. App discovery: Chris Heilmann i Desigan Chinniah z zespołu Firefox OS Business Development rozmawiają o tym, jak łatwo można wyszukiwać nowe aplikacje na Firefox OS.

3. Pierwsze kroki z aplikacjami HTML5: Chris Heilmann i Daniel Appelquist mówią o czym należy pamiętać, tworząc swoją pierwszą aplikację w HTML5.

4. Firefox Marketplace: Chris Heilmann i Desigan Chinniah prezentują w jaki sposób dodać swoją aplikację do Firefox Marketplace i ją sprzedać.

5. Sieciowe API: Chris Heilmann i Daniel Appelquist rozmawiają o zapotrzebowaniu na sieciowe API.

6. Web Components i Mozilla Brick: Chris Heilmann i Starszy Inżynier HTML5 Mozilli – Matthew Claypotch – przedstawiają narzędzie Web Components nową bibliotekę Mozila Brick.

„3 pytania do…”

Chris Heilmann w krótkim wywiadzie wyjaśnia, co Firefox OS oferuje deweloperom.

Dlaczego deweloperzy powinni tworzyć aplikacje na Firefox OS?

Deweloperzy nie powinni tworzyć dla Firefox OS; powinni tworzyć dla sieci. Firefox OS to platforma, której rdzeniem jest HTML5 i nie traktuje tej technologii jako jedynie dodatkowej warstwy.

Główna różnica między Firefox OS a innymi systemami polega na tym, że wszystko, co jest tworzone na Firefox OS, powstaje z wykorzystaniem technologii sieciowych. Dzięki temu w większości przypadków możliwe jest tworzenie aplikacji, pracując na komputerze w przeglądarce Firefox lub nawet w innych przeglądarkach, jednocześnie mając dostęp do zaawansowanych narzędzi deweloperskich, w które obecnie są wyposażone przeglądarki. Dla twórców witryn oznacza to, że mogą oni robić dokładnie to, co robili do tej pory. Jedyną różnicą jest to, że teraz istnieje platforma, która pozwala programistom na komunikację z lepszym sprzętem oraz, za pośrednictwem sieciowych API, dostęp do wcześniej niedostępnych funkcji. Dzięki aplikacjom sieciowym programiści zyskują możliwość bezpośredniej komunikacji z użytkownikami. Mówiąc w skrócie, technologie sieciowe pozwalają nam, deweloperom, na zdecydowanie większą elastyczność.

Jakiego wsparcia mogą oczekiwać deweloperzy?

Deweloperzy znajdą wszelkie potrzebne im informacje w Mozilla Developer Network. Nie muszą pobierać SDK ani korzystać ze specjalnego edytora, mogą korzystać z już istniejących bibliotek, takich jak Sencha Touch, jQuery Mobile czy Enyo. Dla niektórych programistów do tej pory tworzących pod iOS czy Androida może się to wydawać trochę niejasne. Dlatego też pracujemy nad stworzeniem „Quasi-SDK”, aby „nie sieciowi” programiści mogli szybko zbudować aplikację HTML5, korzystając z istniejących elementów.

Rynek smartfonów jest już dość nasycony. Czy jest na nim miejsce na kolejną platformę?

Nie budujemy całkowicie nowego mobilnego ekosystemu. Korzystamy z czegoś, co istnieje już od lat – z sieci. Dzięki temu miliony twórców witryn mogą budować aplikacje na Firefox OS bez potrzeby uczenia się nowych technik. Zamknięte systemy zmusiły programistów do tworzenia natywnych aplikacji na konkretne platformy. Z Firefox OS, deweloperzy mogą budować wieloplatformowe aplikacje, nie pytając nikogo o pozwolenie.

Przydatne linki:

Manifest aplikacji: Manifest otwartej aplikacji sieciowej zawiera informacje niezbędne przeglądarce do interakcji z aplikacją. Manifest ten odróżnia stronę internetową od aplikacji otwartej sieci. Jest to plik JSON zawierający nazwę i specyfikację aplikacji.

Uprawnienia aplikacji: Tutaj deweloperzy odnajdą informacje o tym, co aplikacja może, a czego nie może robić.

Firefox OS Developer Hub: Tutaj programiści znajdą przykłady poprawnie wykonanych aplikacji HTML5 (z demo do pobrania), informacje o tym, jak zarejestrować aplikację w Marketplace i jak ją sprzedawać oraz jak zainstalować Firefox OS na własnym sprzęcie.

Firefox OS Simulator: To najprostsza metoda testowania swoich aplikacji. Wystarczy pobrać dodatek i przetestować swoje aplikacje na komputerze.

Firefox Marketplace: Deweloperzy mogą dystrybuować i sprzedawać aplikacje HTML5 za pośrednictwem Firefox Marketplace.

Mozilla Developer Network (MDN): MDN to serwis wiki, którego zawartość każdy może edytować. Można zająć się różnymi zadaniami, od korekt po tworzenie dokumentacji API. Deweloperzy znajdą tu wszelkie niezbędne im informacje o Firefox OS.

Zrzuty z ekranu Firefox OS oraz Przewodnik po funkcjach systemu (PDF, j. polski) znajdziesz w Centrum Prasowym Mozilli.

Mozilla stworzy własny mobilny system operacyjny?

Boot to Gecko (albo B2G) zapowiada się trochę jak pomieszanie Androida (systemu operacyjnego dla urządzeń mobilnych) oraz Chrome OS (systemu operacyjnego dla laptopów i netbooków). Jak czytamy w serwisie Business Insider, B2G ma sprawić, że aplikacje webowe będą w przyszłości równie funkcjonalne jak te instalowane na komputerach. Mike Shaver z Fundacji Mozilla zauważa, że system operacyjny miałby być instalowany na tabletach i smartfonach. Ciekawostką jest fakt przytaczany przez serwis Engadget - Boot to Gecko bazować ma na kernelu oraz sterownikach Androida.

REKLAMA

Po co właściwie powstaje kolejny system operacyjny? Mozilla tłumaczy, że ekosystem aplikacji (napisanych w HTML5) będzie mógł zaradzić problemowi interoperacyjności między poszczególnymi platformami. Pomysł ciekawy, z uwagą będziemy się przyglądać rozwojowi projektu.

Capyloon, system operacyjny, który kontynuuje rozwój Firefox OS

Ostatnio uruchomienie eksperymentalna wersja systemu operacyjnego Kapilon, zbudowany w oparciu o technologie webowe i to kontynuuje rozwój platformy Firefox OS i projektu B2G (Boot do Gecko).

Projekt jest w trakcie opracowany przez Fabrice'a Desré, byłego lidera zespołu Firefox OS w Mozilli i głównym architektu KaiOS Technologies, która rozwija KaiOS, widelec Firefox OS.

O Capylonie

Wśród głównych zadań Capyloona jest zapewnienie poufności i zapewnienie użytkownikowi środków do kontroli systemu i informacji. Capyloon jest oparty na silniku gecko-b2g, rozwidlonym z repozytorium KaiOS. Teksty źródłowe projektu są rozpowszechniane na licencji AGPLv3.

Pierwsza wersja jest gotowy do użycia w smartfony PinePhone Pro, Librem 5 i Google Pixel 3a.

Wspomniano, że potencjalnie platforma może być zastosowana w pierwszym modelu PinePhone, ale wydajność tego urządzenia może nie wystarczyć dla komfortowej pracy.

Capylon to eksperymentalny agent użytkownika, którego celem jest zapewnienie Ci tego, na co zasługujesz: prywatności i kontroli poprzez wolność od ograniczeń nałożonych przez dostawców systemów operacyjnych i usługodawców, którzy decydują, co możesz, a czego nie możesz robić online i przepraszam. Nowoczesne mobilne systemy operacyjne lubią prezentować się jako przykłady łatwości obsługi i mocy. Jednak to nie może być mniej prawdziwe: na przykład, dlaczego nie możesz łatwo wiedzieć, jaka piosenka była grana w pewnym momencie na trasie rowerowej, gdy jesteś w domu? Oczywiście nie można oczekiwać, że wszystkie aplikacje będą się znać, ale obecne systemy operacyjne nie wypełniają tej luki.

Kompilacje są dostępne w pakietach dla Debian, środowisko Mobian (mobilny wariant Debiana) oraz w postaci obrazu systemu opartego na Androidzie. Aby zainstalować na Mobianie i Debianie, po prostu zainstaluj proponowany pakiet deb i uruchom powłokę b2gos.

Środowisko można również stworzyć do instalacji na kompatybilnych urządzeniach mobilnych z platformą KaiOS, do działania na emulatorze, do zainstalowania na oprogramowaniu układowym opartym na systemie Android oraz do użytku na komputerach stacjonarnych i laptopach z systemem Linux lub macOS.

Środowisko jest pozycjonowane jako eksperymentalne, na przykład niektóre ważne funkcje dla smartfonów nie są w pełni obsługiwane, takie jak dostęp do telefonii w celu wykonywania połączeń, wysyłania SMS-ów i wymiany danych przez operatora komórkowego, brak możliwości sterowania kanałami dźwiękowymi, Bluetooth i GPS nie działa. Częściowo zaimplementowana obsługa Wi-Fi.

Aplikacje Capylon są budowane przy użyciu stosu HTML5 oraz rozszerzony internetowy interfejs API, który umożliwia aplikacjom internetowym dostęp do sprzętu, telefonii, książki adresowej i innych funkcji systemowych. Zamiast zapewniać dostęp do rzeczywistego systemu plików, programy są ograniczone do wirtualnego systemu plików utworzone za pomocą IndexedDB API i odizolowane od głównego systemu.

Na szczęście mamy solidne podstawy, na których możemy się oprzeć: sieć jako platforma aplikacji oferuje unikalne mocne strony, aby rozwiązać te problemy. Internetowe środowisko wykonawcze ma niezrównane możliwości wykorzystania aktywności online na swoją korzyść. Dlatego Capyloon jest zbudowany jako internetowy system operacyjny, ponownie wykorzystujący i rozszerzający b2gOS.

Interfejs użytkownika platformy jest również oparty na technologiach webowych i działa przy użyciu silnika przeglądarki Gecko. Istnieją własne konfiguratory do konfiguracji języka, czasu, prywatności, wyszukiwarek i ustawień wyświetlania.

O szczególnych cechach Capyloona, podkreślono użycie protokołu IPFS do przechowywania poufnych danych, wsparcie dla sieci Tor oraz możliwość podłączenia wtyczek zebranych w formacie Web Assembly.

Pakiet zawiera programy takie jak przeglądarka internetowa, klient systemu wiadomości błyskawicznych Matrix, emulator terminala, książka adresowa, interfejs rozmów telefonicznych, wirtualna klawiatura, menedżer plików oraz aplikacja do obsługi kamery internetowej. Obsługuje tworzenie widżetów i umieszczanie skrótów na pulpicie.

W końcu jeśli chcesz dowiedzieć się więcej na ten temat, możesz sprawdzić szczegóły w następujący link.

Wloszczowska Maja
Wloszczowska Maja

Leave a Comment