Skocz do zawartości

Firefox OS


Siper

Recommended Posts

Meet-the-Firefox-OS-Mascot-a-Fox-That-s-

 

Firefox OS (Boot 2 Gecko, B2G dawniej) to projekt znanej wszystkim fundacji Mozilla. Jest to otwarty, mobilny system operacyjny bazujący na jądrze Linuksa, którego celem jest uruchamianie aplikacji napisanych przy użyciu HTML5 oraz natywnego API. Całe oprogramowanie jest napisane przy użyciu HTML5 oraz przy pomocy API urządzenia komunikuje się z nim w celu uzyskania dostępu do sprzętu za pomocą Javascript.

 

Cały system tworzą 3 warstwy:

  • Gonk - Podstawa systemu, czyli kernel Linux, sterowniki urządzeń, biblioteki, HAL itp. Jest to zasadniczo bardzo prosta dystrybucja Linuksa.
  • Gecko - Silnik przeglądarki Firefox znanej z desktopów oraz Androida. Został on jednak rozbudowany o dodatkowe API w celu lepszego wsparcia dla smartfonów i tabletów
  • Gaia - Czyli to co widzi użytkownik końcowy. Interfejs napisany w całości w HTML5. Wliczają się w niego launcher, ekran blokady, dialer, aplikacja aparatu, ustawienia itd.

 

Firefox OS jest Open Source, to znaczy, że każdy może pobrać kod źródłowy, przerobić go według własnej woli, przeportować system na dodatkowe urządzenia itd. Ja przeportowałem system na telefony Xperia 2011, osoby zainteresowane odsyłam Tutaj.

 

Aktualnie można zakupić telefony z Firefox OSem od Geeksphone (Peak, Peak+, Keon; są to modele developerskie, ale bardzo dobre), ZTE Open oraz do kupienia u polskiego operatora T-Mobile - Alcatel One Touch Fire (którego niestety nie polecam).

 

Coś o moim projekcie czyli Node.JS + Firefox OS

Od paru miesięcy siedzę w budowie Firefox OSa i myślę w jaki sposób można rozszerzyć jego możliwości.

Nie oszukujmy się, aktualnie ten system nie ma żadnych większych możliwości rozbudowy (jak np. Android). Mógłbym nawet porównać jego możliwości do iOSa bez Cydii, czyli jedynie twórca może wprowadzić nowe funkcje do systemu. Ale na szczęście to nie jest zamknięty system jak Apple ;) Dlatego myślałem w jaki sposób rozwinąć jego możliwości. Osobiście uważam, że kompilowanie nowego systemu itd. jest kiepskim pomysłem, ze względu na problemy z aktualizacją systemu oraz niewygodną instalacją. Liczyłem bardziej na coś w stylu "Wrzuć na kartę, odpal i tyle". I z tego zrodził się mój koncept...

 

Czym jest Node.JS? Dla osób niewtajemniczonych - Jest to środowisko programistyczne stworzone do tworzenia webaplikacji w jezyku Javascript. Jedną z kluczowych kwestii jest to, że działa on po stronie serwera, a nie klienta jak "normalny Javascript" w przeglądarce. Możliwości Node.JS są dodatkowo rozbudowane o moduły stworzone dla niego oraz menadzer pakierów npm. (Shoutbox na forum jest napisany w Node.JS, abstrahując).

 

No dobrze, czyli jak to miałoby wyglądać? Mój projekt dzieli się na 3 elementy:

  • Skompilowany Node.JS przy użyciu Android NDK. Wykonane
  • Serwer Node.JS uruchamiany podczas startu systemu który ma na celu komunikację z najniższą warstwą Firefox OSa, Gonkiem. Ma pozwalać na takie możliwości jak - komunikacja z powłoką systemową Linuksa, zmiana zarządcy procesora, modyfikacja interfejsu Gaia, dodatkowa kontrola urządzeń, zdalne sterowanie urządzeniem itd. W trakcie tworzenia
  • Biblioteka dla developerów która pozwoli na komunikowanie się aplikacji z serwerem. W trakcie tworzenia

 

Jak aktualnie wygląda projekt?

- Skompilowany i uruchomiony Node.JS na telefonie: http://screencloud.net/img/screenshots/280c6eadce92bf256cac4d6983d998ae.png

- Dołączanie kodu HTML do interfejsu Gaia: http://imgur.com/a/4NUNg

- Powłoka systemu: http://screencloud.net/img/screenshots/24023414f9fbd9b8df7b700bc12307e8.png

- System uprawnień: http://www.youtube.com/watch?v=IDYfVFdxMqA

 

 

 

 

Przy okazji zapraszam osoby zainteresowane tworzeniem aplikacji na Firefox OS, portowaniem systemu itd na oficjalną stronę Mozilli: https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS

  • +1 5
Link do komentarza
Udostępnij na innych stronach

Temat stworzyłem do ogólnej dyskusji na temat Firefox OSa :P

 

Na chłopski sposób po co, na razie co mi przychodzi do głowy to:

  • Większa kontrola nad elementami niskiego poziomu ,np. zmiana zarządcy procesora na mniej pożerający procesor (Smartassv2 ftw) co da większą wydajność lub/i dłuższy czas pracy na baterii
  • Możliwość modyfikacji interfejsu (Szablony, Dodatkowe elementy np. przyciski multimedialne na lockscreenie itd)
  • Zdalna kontrola urządzenia, np. w przypadku kradzieży można włączyć GPS i zdobyć lokalizacje albo usunąć wszystkie dane z karty SD
  • Dodatkowa obsługa elementów urządzenia (np. przytrzymanie przycisków zgłaśniających spowoduje przełączenie na poprzedni lub następny utwór)

I wiele więcej, zależy od kreatywności programisty...

 


-Czy obsługa tego będzie prostsza niż czytanie tego tekstu?

Ja daję jedynie narzędzie, to od twórców będzie zależało czy obsługa aplikacji będzie prosta czy też nie. Ale myślę, ze będzie prosta.

 


-Czy znacząco nie obciąży to systemu?

Zależy od procesora. U mnie nie obciążało zbytnio systemu.

Link do komentarza
Udostępnij na innych stronach

  • 3 months later...
×
×
  • Utwórz nowe...