Browser Engine

The Browser Engine has rich support for new features such as canvas, WebSocket, session storage, offline apps, worker threads, DOM improvements, audio and video tags, and WebGL.

The Browser Engine may also be referred to elsewhere as the Web Engine or Web Launcher. The QNX CAR platform provides a multiprocess architecture that allows system developers to partition the user interface into a set of core and sandboxed apps. With this architecture, multiple WebViews (windows) can either share a common engine instance or run in their own engine instance. Each WebView can be implemented with a separate JavaScript application framework (for example, jQuery Mobile or Sencha Touch).

By running multiple WebViews in a single engine instance, overall memory footprint can be reduced. However, since all apps share the same engine, they're not isolated from each other. Bad behavior in one app can impact all other apps that share the same engine instance. This mode would typically be used for a set of apps that are well tested together and deployed as a bundle (e.g., core apps shipped from the manufacturer). Or, a single app can be run in its own, private engine instance. This provides isolation at the expense of increased memory footprint.

The Browser Engine, based on WebKit, provides support for the HTML5 standard and related standards and technologies, including CSS3 as well as the JavaScript scripting language and associated standards, such as AJAX, JavaScript Object Notation (JSON), and XML. QNX has optimized WebKit in a number of ways: