OpenFin

Platform API

Overview

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

Dependencies

  • OpenFin Runtime version 15.80.49.30+ [Experimental]

Requirements

Architecture

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

RoadMap

Feature Set
ETA / Delivered
OF Version
  • Snapshot restoration improvements
  • Window to View context events
  • Default View Options

14.78.48.*

  • Layout Namespace & APIs
  • Platform Eventing
  • Hotkeys & Commands

15.80.49.*

  • API Logic Customization
  • Default Commands
  • Layout Eventing
  • Multi-instance Views

April 2020

15.80.50.*

  • Window.open / fin.Window.create support
  • Multi-Runtime Support
  • Branding Support / Window Titles
  • Platform-Defined Dialogs & Menus
  • FDC3 Support

TBD

TBD

Updated 20 days ago


Platform API


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.