WebAPI is a term used to refer to a suite of device compatibility and access APIs that allow Web apps and content to access device hardware (such as battery status or the device vibration hardware), as well as access to data stored on the device (such as the calendar or contacts list). By adding these APIs, we hope to expand what the Web can do today to also include what only proprietary platforms were able to do in the past.
Note: For a brief explanation of each badge, please see the packaged apps documentation.
Communication APIs
- Network Information API
- Provides basic information about the current network connection, such as connection speed.
- Bluetooth Certification required Non-standard
- The WebBluetooth API provides low-level access to the device's Bluetooth hardware.
- Mobile Connection API Certification required Non-standard
- Exposes information about the device's cellular connectivity, such as signal strength, operator information, and so forth.
- Network Stats API Certification required Non-standard
- Monitors data usage and exposes this data to privileged applications.
- TCP Socket API Privileged Non-standard
- Provides low-level sockets and SSL support.
- Telephony Certification required Non-standard
- Lets apps place and answer phone calls and use the built-in telephony user interface.
- WebSMS Certification required Non-standard
- Lets apps send and receive SMS text messages, as well as to access and manage the messages stored on the device.
- WiFi Information API Certification required Non-standard
- A privileged API which provides information about signal strength, the name of the current network, available WiFi networks, and so forth.
Hardware access APIs
- Ambient Light Sensor API
- Provides access to the ambient light sensor, which lets your app detect the ambient light level in the vicinity of the device.
- Battery Status API
- Provides information about the battery's charge level and whether or not the device is currently plugged in and charging.
- Geolocation API
- Provides information about the device's physical location.
- Pointer Lock API
- Lets apps lock access to the mouse and gain access to movement deltas rather than absolute coordinates; this is great for gaming.
- Proximity API
- Lets you detect proximity of the device to a nearby object, such as the user's face.
- Device Orientation API
- Provides notifications when the device's orientation changes.
- Screen Orientation API
- Provides notifications when the screen's orientation changes. You can also use this API to let your app indicate what orientation it prefers.
- Vibration API
- Lets apps control the device's vibration hardware for things such as haptic feedback in games. This is not intended for things such as notification vibrations. See the Alarm API for that.
- WebFM API installed Non-standard
- Provides support for a device's FM radio functionality, if available.
- Camera API Certification required Non-standard
- Allows apps to take photographs and/or record video using the device's built-in camera.
- Power Management API Certification required Non-standard
- Lets apps turn on and off the screen, CPU, device power, and so forth. Also provides support for listening for and inspecting resource lock events.
Data management APIs
- FileHandle API Non-standard
- Provides support for writable files with locking support.
- IndexedDB
- Client-side storage of structured data with support for high-performance searches.
- Contacts API Privileged
- Provides access to the user's contacts database, with support for adding, reading, and modifying contact information.
- Device Storage API Privileged Non-standard
- Allows apps to create, read, and change files stored in a central location on the device, such as the "pictures" folder on modern desktop platforms or the photo storage on mobile devices.
- Settings API Certification required Non-standard
- Lets apps examine and change system-wide configuration options that are permanently stored on the device.
Other APIs
- Alarm API
- Lets apps schedule notifications. Also provides support for automatically launching an app at a specific time.
- Simple Push API
- Lets the platform send notification messages to specific applications.
- Push API
- Gives web applications the ability to receive messages pushed to them from a server, whether or not the web app is in the foreground, or even currently loaded, on a user agent.
- Web Notifications
- Lets applications send notifications displayed at the system level.
- Apps API Non-standard
- The Open WebApps API provides support for installing and managing Web apps. In addition, support is provided to let apps determine payment information.
- Web Activities Non-standard
- Lets an app delegate an activity to another app; for example, an app might ask another app to select (or create) and return a photo. Typically the user is able to configure what apps are used for which activities.
- WebPayment API Non-standard
- Lets Web content initiate payments and refunds for virtual goods.
- Browser API Privileged Non-standard
- Provides support for building a Web browser completely using Web technologies (in essence, a browser within a browser).
- Idle API Certification required
- Lets apps receive notifications when the user is not actively using the device.
- Permissions API Certification required Non-standard
- Manages app permissions in a centralized location. Used by the Settings app.
- Time/Clock API Certification required Non-standard
- Provides support for setting the current time. The time zone is set using the Settings API.
WebAPI community
If you need help with these APIs, there are several ways you can talk to other developers making use of them.
- Consult the WebAPI forum:
- Visit the WebAPI IRC channel: #webapi
Don't forget about the netiquette...
Related Topics
- The Document Object Model (DOM) is the representation of an HTML document as a tree.
- JavaScript - Scripting language for the Web.
- Doc status: A list of WebAPI topics and their documentation status.
Document Tags and Contributors
Tags:
Contributors to this page:
sideshowbarker,
akinhwan,
NiggyWizzyWoz,
teoli,
robhudson,
Sole,
Jeremie,
chrisdavidmills,
ccarruitero,
ferjm,
ariefbayu,
francisco.jordano,
ethertank,
Sheppy,
mnoorenberghe,
wbamberg,
Laurentj,
dbruant,
fscholz
Last updated by:
sideshowbarker,