InteropIO / finsemble-seed

Finsemble is a smart desktop platform built on Electron. It allows any type of application to integrate visually and logically with other applications. Applications can sync, link, and share information, even if they weren’t originally designed to.
https://cosaic.io/finsemble/
Other
72 stars 74 forks source link

What are the tech stacks that are supported by Finsemble Smart Desktop? #794

Closed jfbaro closed 1 year ago

jfbaro commented 1 year ago

Please,

From a quick investigation, it appears that those are the supported UI libraries:

Is that accurate?

What about other systems using C++ + QT for instance? Or Java apps using SWT? Command Line tools?

Any help would be appreciated.

Thanks

kriswest commented 1 year ago

Hi @jfbaro, you are broadly correct.

What about other systems using C++ + QT for instance?

We have a number of clients and partners that have used a COM wrapper to work with the .NET DLL(s) in C++ apps successfully. .

Or Java apps using SWT?

I'm not particularly familiar with SWT, but you should be able to connect into Finsemble with the Finsemble JAR file in any Java code (with or without a UI). From there adding window management is a case of submitting a window handle (HWND) for us to manage. Our support team should be able to help confirm how you can do this manually.

AWT is also supported (as Swing is based on AWT).

Command Line tools?

You can launch just about any application and feed it command line arguments with Finsemble. Also, you don't have to have a UI; Finsemble is quite happy to work with headless applications that use one fo the adapters to connect in for communication/interoperability - in fact 'app services' are a core concept and can be used to build up infrastructure in your desktop.

Also, you don't have to connect into Finsemble for communication if you don't need it. So if you just need to call a batch script or similar with arguments or environment variables, you can do that.

We also support the 'assimilation' of binary apps (On MS Windows) that don't have any specific support for Finsemble, via The MS Windows DWM APIs. These apps can be launched, window managed and added to workspaces to achieve visual integration with other apps - to logically integrate or interoperate they need to have an adapter added to them, or otherwise communicate with something else in Finsemble that will do it for them.

I hope that helps. Could you forward any further requests on to support@finsemble.com for a more complete answer, and help in trying it out or implementing a POC project?

jfbaro commented 1 year ago

Thanks for your quick answer! Appreciated.

Please, would a C++ application, that uses QT 4.8 library be supported OOTB in Finsemble? (Built in house)

What we would need to do on that application (code wise) if we want it to communicate with other "apps" running on Finsemble as well?

Thanks

kriswest commented 1 year ago

Hi @jfbaro support@finsemble.com should be able to help answer that more fully.

I can tell you C++ can be launched, visually integrated and managed in workspaces OOTB. To exchange messages with other apps, use the FDC3 API etc. it would need to use C# DLL inside a COM wrapper (this has been done several times, but is not an example we ship with the product), or work up a custom solution such as exposing a websocket that an app or service running in a Finsemble window connects to (so some assembly required).

jfbaro commented 1 year ago

Super clear! Thanks for the prompt reply. Appreciated.