Platform API



  • OpenFin CLI installed
  • OpenFin Runtime
  • Windows Operating System | Mac not fully supported and may result in unexpected behavior


Building a desktop platform is hard work, especially when the teams providing apps and content each have their own design approaches and sensibilities. With the OpenFin Platform API, we’ve made the job incredibly simple. The central architecture team defines window styling and behaviors; development teams provide the apps and content.

  • The Platform API is included in OpenFin’s JavaScript API

  • Layouts give app providers the ability to embed multiple web apps, or "Views", in a single window

  • Support for tabbed, grid, and fixed Layout configuration of Views within the window

  • Support for a custom platform manager to provide end-user ability to create layouts for each window

  • Applications have the ability to customize windows and keyboard commands


  • OpenFin Runtime version [Experimental]


A Platforms application has the following architecture:

  • A Platform Controller that exposes functionality for coordinating views and windows.
  • One or more child windows of the controller, which may or may not have a layout of views. A collection of windows is referred to as a snapshot.
  • One or more views, which provide content. These can be split into as many render processes as needed. They reside as part of a window's layout.

All of the child windows of a Platforms application share a single renderer process. The views of an app share a process based on same-origin policy. Views can be separated into further processes by providing a processAffinity option. If you would like to have two or more views share a process separate from other views, you can give them the same processAffinity string. If you’ve architected your platform into multiple apps in order to manage render processes, it is now possible to have multiple processes in a single app.

Known issues

  • Drag regions exhibit erratic behavior in Mac
  • Network errors encountered during page load can cause error messages to flash if page loads successfully

Did this page help you?