HTML5 application model

The HTML5 application framework provides the necessary additions to the Browser Engine to allow it to support full-fledged applications.

This environment allows developers to create and deploy applications built from web technologies (HTML5, CSS3, and JavaScript) with extensions that provide access to the underlying device hardware and native services, just like native C/C++ applications.

The Browser Engine includes plugins based on the Netscape Plugin API (NPAPI) through a dynamically linked library. The plugins provide access to PPS, SQL, and Screen services. Developers can add additional plugins as required.

The PPS plugin provides the HTML5 domain with access to the full PPS API.

The SQLite 3 plugin provides SQLite database access, including a complete API for opening, querying, and modifying the database.

The Screen plugin is used by the Navigator (aka Applications Window Manager). The services supported by the plugin include window and buffer management as well as the event notification system. Using the Screen extension, Navigator can set window, context, and display properties, and can handle events from the low-level graphics components.

JavaScript extensions to WebWorks use the Browser Engine plugins to provide HTML5 apps with access to middleware-layer services, including radio, phone, media engine, ASR, and navigation. For example, the audioplayer extension uses the PPS plugin to provide access to functions such as start, pause, and play. The reference media player application depends on this extension.