ℹ️ OpenFin: OpenFin libraries are a commercial product and this repo is for evaluation purposes. Use of the OpenFin npm packages is only granted pursuant to a license from OpenFin. Please contact us if you would like to request a developer evaluation key or to discuss a production license.
The OpenFin collection of web targetted npm packages are there to help you have an OpenFin experience across the desktop (container, workspace, native through our adapters or desktop browser) or tablets (through tablet browsers such as Safari).
Learn more about openfin.co and read our developer docs.
This branch covers the release of our web offering. This repo follows the versioning style of the workspace-starter. This means for every workspace release we will have a branch that uses the latest version of our web offering. For teams using workspace and web this makes it easier to know which branch works well with the version of workspace they are using.
Read more about our recommended development environment.
We recommend:
- Using Node.Js 18+
- Cloning this repo using: git clone https://github.com/built-on-openfin/web-starter.git --depth=1 -As you only need the main branch to get started (it will always reflect the latest stable release).
- Opening the root web-starter folder in Visual Studio Code (instead of opening a how-to subfolder directly in Visual Studio Code) - this will give you access to all the samples.
- Running npm install from the root folder
- Running npm run build from the root folder - this will ensure every sample has all of it's dependencies and builds correctly (you can then open a terminal window or two at e.g. how-to/web-interop-basic to build that specific sample or run sample specific commands)
Known issues are covered in our Known Issues document.
This repository contains examples showing you how to use our web npm packages and their related APIs.
Want to learn how to use our Channel API, Interop API or FDC3 API inside of a desktop/tablet browser? This section provides a list of the available examples to learn more about our packages and APIs.
Web Interop | Description | Live Launch |
---|---|---|
Web Interop Basic | This basic how-to provides a way of configuring a a webpage with a number of framed applications that share contextual information. | Example |
Web Interop | This example how-to provides a way of configuring a a webpage with a number of framed applications using our layout system as well as a left hand panel so show that you can combine layout and iframe based content. | Example |
Web Interop - Support Context and Intents | This is an example of a platform that has utilized the options of having a custom interop broker and a custom layout override to implement a platform that supports FDC3 as well as enhanced layout capabilities.. | Example |
Want to learn how to use our Cloud Interop to connect your Web Browser based applications to other applications across desktops? This section provides a list of the available examples to learn more about our packages and APIs.
Cloud Interop | Description | Live Launch |
---|---|---|
Cloud Interop Basic | This basic how-to is based on the Web Interop Basic and extends it by using our @openfin/cloud-interop packages to share context through the cloud. | |
Cloud Interop | This how-to is based on the Web Interop and extends it by using our @openfin/cloud-interop packages to share context through the cloud. | Example |
A number of our examples will use the OpenFin Layout System but the examples below have been built with a focus on layout use and how to get started.
Web Layout | Description | Live Launch |
---|---|---|
Web Layout Basic | This basic how-to focuses on the bare minimum to set up an OpenFin Layout. It doesn't provide content examples and simply loads third party content and it gives an example of how you can provide the window.name for your content through your snapshot/layout. | Example |
Web Layout | This how-to focuses on the setting up a multi layout web page. It introduces a Layout Manager Override to support multiple layouts and shows a basic button to switch between them. The layouts are available in the public/layouts folder and can be modified. | Example |
General | Description | Live Launch |
---|---|---|
Web Client API | This provides an example of how a platform could provide a script for content providers to make it easier for them to run their content in the OpenFin Container or outside of it e.g. Edge with little to no changes. | |
Hints And Tips | This is a collection of hints and tips. We will be building up this section over time as we come across points of interest while working on our examples. |