High performing desktop apps built with OpenFin technology



Two years ago we built an app to run in the browser and then the client asked us to create the same app in a desktop version. This app had all the challenging stress characteristics of trader apps: high volume update, and low latency. We had two options to build the desktop app: WPF or OpenFin. WPF was a well-known and proven technology in the industry and at Eikos, whereas OpenFin was a technology we had never used before.

One benefit of OpenFin was that we could reuse our browser codebase but we were still concerned about the performance of JavaScript vs WPFUltimately, we decided to go with OpenFin for the benefits to development time. As for performance, we did not observe any lag in the UI. In fact, five months ago we created two identical demo apps to compare performance between WPF and OpenFin. The open source JavaScript library had no problem processing the updates from our Node/MongoDB backend server. However, the data grid that comes with WPF could not keep up with the server’s data stream. Click here to watch our demo.

Another benefit of developing within a web-based container was that we could take advantage of several open source JavaScript libraries. Using our two demo apps as en example, the open-source WPF grid library had to be heavily modified to provide the filter functionality and styling we were looking for. Whereas the open source grid library in JavaScript gave us what we needed out of the box. We were able to leverage the open source community that actively builds off of each other to create better solutions.

OpenFin was a success for our project as it allowed us to reuse our browser codebase, surpass the performance of a WPF desktop app, and take advantage of the open source JavaScript community. For the client, OpenFin gave them a performant application with the added benefits of desktop integration and simple push installation.

See our openfin app

Topics: App development