Note: Finsemble complements, but does not replace the OpenFin API. Developers retain access to all the full OpenFin API through the "fin" object.
A good place to orient yourself to all the reasons we built Finsemble is our whitepaper: The Future of Desktop Applications. You should also read Finsemble Motivations, which is a higher-level overview of the framework.
To try out a Finsemble application on a Windows desktop, users will find in their "Getting Started" email a link to the ChartIQ Finsemble Demo (although Finsemble is platform independent, both the Demo have only been verified on Windows).
The rest of this "Getting Started" tutorial is oriented to developers wanting to try out Finsemble.
Below explains how Finsemble is packaged:
- A seed project is provided to quickly get started with Finsemble. It includes examples to run, modify, and cut-and-paste from. The seed project also serves as a valid template for building your own Finsemble application.
- The Finsemble core is a NPM module kept in a private NPM repository. The seed project is already set up to reference the private NPM module (although, an NPM login is required).
The following diagram illustrates the overall packaging:
- The seed project requires (i.e., imports) the core Finsemble module.
- Upon startup, the Finsemble core looks at configs inside of the seed project to see which components are spawnable.
- After startup, the seed-project and the core module function as a unified application (communicating through the underlying Event Router microservice). Getting Finsemble and Understanding Application Startup cover all you need to know for installing and running the seed project. You may want to also read about The Finsemble Build Process to understand what's going on when you type
npm run devinto your terminal.
After installing Finsemble, developers should continue with the following tutorials:
- Build an App Step By Step
- Understanding UI Components
- Understanding Workspaces
- Understanding Application Startup
The Finsemble CLI also provides a set of "getting started" commands to create code stubs with the proper configuration settings.
Debugging Finsemble explains the pragmatic aspects of debugging under Finsemble, which is very similar to debugging under Chrome (with a few special cases).
A few special tutorials also walk the developer through the use of specific client APIs:
The following client APIs and microservices are currently supported:
|Finsemble Client API||Description|
|Dialog Manager Client||Supports spawning user dialogs from any component. Also receives user input from a dialog.|
|Launcher Client||Controls the starting and stopping of all components through the Launcher microservice.|
|Linker Client||Dynamically links and updates common data elements shared between components, through the Linker microservice.|
|Workspace Client||Manages groups of Finsemble windows, including where they are positioned, through the Workspace microservice.|
|Router Client||Routes event messages between components and microservices, through the Router microservice|
|Storage Client||Provides storage across all components and services, through the Storage microservice.|
|Window Client||Enables a window's state to be controlled, including window size and position|
|Base Client||Common base functions shared across all Finsemble components|
Finsemble is built to be extended, but Finsemble's roadmap is a work in progress. A diversity of features and new APIs are now on the drawing board, for future releases. We welcome feedback as we continue to evolve.