Cobalt is a lightweight HTML5/CSS/JS application container that is designed to provide a rich application development environment with minimal resource consumption (deployment size, RAM, CPU, GPU). At the same time, Cobalt enables a rich, low-latency user experience across a wide variety of platforms and devices.
Cobalt's documentation is written with two audiences in mind:
Porters enable Cobalt to work on other platforms by using Starboard, Cobalt‘s porting layer and OS abstraction, to implement the platform-specific functionality that Cobalt uses. Each Starboard module (memory, socket, thread, etc.) defines functions that must be implemented for the porter’s platform.
Developers want to build applications in familiar environments with advanced debugging tools without having to worry about compatibility with a highly fragmented set of browsers. At the same time, they want to have full control over their codebase so that they can ship features for constrained platforms, like TVs, on time and without technical risk.
Cobalt significantly reduces the cost of supporting a browser on non-standard and resource-constrained platforms. In addition, since Cobalt operates at a consolidated, versioned platform abstraction layer, its porting effort is man-weeks, and subsequent rebases are near-free.
These are some other benefits that Cobalt provides:
Reduced input latency
transform, and always running animations on a separate thread.
Porters should begin with the porting guide, which explains how to use Starboard, Cobalt‘s porting layer, to customize the platform-specific functionality that Cobalt uses. There are several reference documents to help porters customize configuration files and to implement module-specific functionality. The Testing with NPLB document provides an overview of Starboard’s compliance test suite.