If you’ve landed here, you’ve most likely learned about OpenFin Workspace and either
(a) you have already built your own workspace solution or
(b) our interpretation is just not the perfect fit for your experience.
OpenFin Container is a desktop runtime application environment that enables communication between all of your apps (web, legacy, third-party) for the enterprise desktop. It is built on top of Google Chromium and GitHub Electron and combines advanced interoperability, lightning-fast distribution, and robust security with an agile web development and deployment model.
Building a unified desktop experience is challenging! There are many aspects to consider when embarking on such an endeavor. Design, discovery, behavior, consistency, and content to name a few. On top of all that, you probably are supporting multiple teams with multiple apps who all have different needs, designs and release cadences. The OpenFin Platform API provides you with all the necessary tools to make building your Workspace application incredibly simple.
This article breaks down the Platform API architecture and its components.
The Platform Provider is the main application window which is the communication hub that coordinates between all the windows in a Platform Application. The provider runs in a hidden window and enables application providers to extend or overwrite default Platform behavior through Platform Overrides. This is where you can control how your application will look and feel to create a custom branded experience.
Platform Windows act as a “frame” for your Platform Views and can be leveraged to display UI controllers such as Minimize, Maximize and Close. These are child windows of the Provider and may contain 1 or many Platform Views.
Layout management enables applications providers to programmatically embed multiple views or “web apps” in a single Platform Window.
A Snapshot defines the Platform Window and View configuration to be launched into a Platform. When added as a top-level option in your Platform manifest, the Platform will launch with that Snapshot by default. Snapshots also enable application providers the ability to replenish/restore saved configurations while the Platform is running.
This is the file that defines how an OpenFin Platform works and tells the OpenFin Runtime what your workspace will look like at Launch.
By default, all child windows of a Platform Provider share a single renderer process, based on same-origin policy. Views can be separated into further processes by providing a
processAffinity option. This enables application providers to have two or more views share a process separate from other views. This can be quite useful in architecting your application for views that have a heavier memory profile.
Updated 25 days ago