Jump to content

英文维基 | 中文维基 | 日文维基 | 草榴社区

Firefox OS

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Freaky Dug (talk | contribs) at 21:13, 3 August 2012 (Gonk: Someone copy pasted too hard.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Firefox OS
Gaia UI running on Firefox OS
DeveloperMozilla Corporation
Written inC++ (COM), JavaScript
Working stateIn Development
Source modelOpen Source[1]
Initial releaseIn Development
Repository
PlatformsARM
Kernel typeLinux
Default
user interface
Graphical
Official websitehttp://www.mozilla.org/b2g/

Firefox OS (formerly Boot to Gecko, B2G) is an open source operating system in development by Mozilla that aims to support HTML5 apps written using "open Web" technologies rather than platform-specific native APIs. The idea is essentially to have all user-accessible software running on the phone be a Web app that uses advanced HTML5 techniques and device APIs to access the phone's hardware directly via JavaScript.[2] It initially targets Android-compatible smartphones.

History

Announcement

On July 25, 2011, Dr. Andreas Gal, Director of Research at Mozilla Corporation, announced on the mozilla.dev.platform mailing list a project to "pursue the goal of building a complete, standalone operating system for the open web" in order to "find the gaps that keep web developers from being able to build apps that are --- in every way --- the equals of native apps built for the iPhone, Android, and WP7."[3] The announcement identified these work areas: new Web APIs to expose device and OS capabilities such as telephony and camera, a privilege model to safely expose these to web pages, applications to prove these capabilities, and low-level code to boot an Android-compatible device.

This led to much blog coverage.[4][5] According to Ars Technica, "Mozilla says that B2G is motivated by a desire to demonstrate that the standards-based open Web has the potential to be a competitive alternative to the existing single-vendor application development stacks offered by the dominant mobile operating systems."[6]

Demonstration and Telefónica

At Mobile World Congress 2012, Mozilla and Telefónica announced that the Spanish telecommunications provider intended to deliver "open Web devices" in 2012 based on HTML5 and these APIs.[7] Mozilla also announced support for the project from Adobe and Qualcomm, and that Deutsche Telekom’s Innovation Labs will join the project.[8] Mozilla demonstrated a "sneak preview" of the software and apps running on Samsung Galaxy S II phones (completely replacing their normal Android operating system).[9][10] As the user interface is entirely written in HTML5 browser code, a Mozilla employee later put it on a web page, where some of it runs in up-to-date browsers.

Open web technologies stack

The initial development work involves the following software layers[citation needed]

  • Linux kernel (with some modifications made by AOSP and vendors)[11]
  • a hardware abstraction layer, codenamed "Gonk"
  • Mozilla's multi-platform Gecko Web browser engine to render HTML and CSS and run JavaScript
  • platform-independent JavaScript APIs for device features (telephony, SMS, camera, Bluetooth, USB, NFC, etc.) of varying degrees of standardization[12]
  • platform-independent system applications (lock screen, phone dialing & phone messaging, a view of installed applications, etc.) written in HTML5; the user interface of these is codenamed "Gaia"[13]
  • platform-independent HTML5 web applications

Terminology

Gaia

The user interface of b2g. Everything drawn to screen after b2g starts up is some part of Gaia. Gaia implements a lock screen, home screen, telephone dialer, text-messaging application, camera app, ... and many more. Gaia is written entirely in HTML, CSS, and JavaScript. Its only interface to the underlying operating system is through Open Web APIs, which are implemented by Gecko. Gaia works well when run on top of b2g; however, since it only uses standard web APIs, it works on other OSes and in other web browsers (albeit with degraded functionality). Third-party applications can be installed alongside Gaia.[11]

Gecko

The "application runtime" of b2g. At a high level, Gecko implements the open standards for HTML, CSS, and JS and makes those interfaces run well on all the OSes that Gecko supports. This means that Gecko consists of, among other things, a networking stack, graphics stack, layout engine, virtual machine (for JS), and porting layers.[11]

Gonk

The lower-level "operating system" of b2g. Gonk consists of a linux kernel and userspace hardware abstraction layer (HAL). The kernel and several userspace libraries are common open-source projects: linux, libusb, bluez, etc. Some other parts of the HAL are shared with the android project: GPS, camera, among others. Gonk is basically an extremely simple linux distribution and is therefore a porting target of Gecko; there is a port of Gecko to Gonk, just like there is a port of Gecko to OS X, and a port of Gecko to Android. Since the b2g project has full control over Gonk, the developers can expose interfaces to Gecko that aren't possible to expose on other OSes. For example, Gecko has direct access to the full telephony stack and display framebuffer on Gonk, but doesn't have this access on any other OS.[11]

See also

References

  1. ^ "Mozilla making mobile OS using Android". blog. I Didn't Know That!. July 2011. Retrieved August 4, 2011.
  2. ^ "Boot to Gecko Project". Mozilla. 2012-03. Retrieved 2012-03-30. {{cite web}}: Check date values in: |date= (help)
  3. ^ Gal, Andrea (2011-07-25). "Booting to the web". mozilla.dev.platform (Mailing list). Retrieved 2011-11-20. {{cite mailing list}}: Unknown parameter |mailinglist= ignored (|mailing-list= suggested) (help)
  4. ^ "The Firefox Phone? Mozilla Working on Android-Esque OS". blog. Gagagadget. July 26, 2011. Retrieved August 4, 2011.
  5. ^ Andrew Kameka (July 26, 2011). "Mozilla borrows from Android to create its own mobile operating system". blog. androinica. Retrieved August 4, 2011.
  6. ^ Ryan Paul (July 26, 2011). "Mozilla eyes mobile OS landscape with new Boot to Gecko project". Ars Technica. Retrieved August 4, 2011.
  7. ^ "Telefónica and Mozilla pioneer first Open Web Devices" (Press release). Telefónica. 2012-02-27. Retrieved 2012-03-23.
  8. ^ "Mozilla in Mobile – the Web is the Platform" (Press release). Mozilla. 2012-02-27. Retrieved 2012-03-23.
  9. ^ Ginny Maies (2012-02-28). "First Look at Mozilla's Web Platform for Phones: 'Boot to Gecko'". PCWorld. Retrieved 2012-03-23.
  10. ^ Chloe Albanesius (2012-02-28). "Mozilla Tackles Walled Gardens, Demos 'Boot to Gecko' Mobile OS". PCMag.com. Retrieved 2012-03-23.
  11. ^ a b c d "B2G/Architecture wiki page". Mozilla wiki. Mozilla. 2012-06-05. Retrieved 2012-06-05.
  12. ^ Robert Nyman (2012-02-27). "Mozilla's Boot to Gecko – The Web is the Platform". Mozilla. Retrieved 2012-03-23.
  13. ^ Ryan Paul (2012-02). "First Look: Mozilla's Boot2Gecko Mobile Platform and Gaia UI". Ars Technica. Retrieved 2012-03-23. {{cite web}}: Check date values in: |date= (help)