Clicky

December 7, 2015

Why we're moving to Electron

Two years ago, we decided to move away from using Chromium Embedded Framework (CEF). The move gave us significant improvements in both memory and process performance and allowed us to more easily leverage the entire Chromium code base. That decision has served our customers well and it’s now time for the next big improvement in OpenFin architecture.

Today, we’re excited to announce that we have decided to incorporate a new Chromium-based, open-source project called Electron into the OpenFin Container as part of our next major 6.0 release scheduled for Q1. The move will reduce code complexity in the container and make it easier for us to provide cross-platform support across multiple desktop operating systems. Best of all, developers using OpenFin won’t have to change a single line of code for their apps to run in this new version.

Electron Background

The Electron project was developed by GitHub in their efforts to develop a cross-platform text editor (Atom — www.atom.io). We’ve been tracking the project for over a year now and are impressed with the progress. Here’s what we like:

  1. Electron has gained significant adoption in the consumer space, most notably being used by Slack. They’ve eclipsed another Chromium-based project called NW (previously NodeWebkit).
  2. The code is well-written and well-documented. They’ve done an elegant job of layering on top of Chrome APIs and providing cross-platform support for basic windowing and system access.
  3. Perhaps most importantly, the project is supported by the widely respected GitHub team which means it will continuously improve going forward. That has played a critical role in our analysis.
  4. Lastly, there is thoughtful integration of Node.js into the client which opens up significant opportunities to leverage the vibrant community that has developed around the Node platform. Though this is a great benefit it does come with some challenges.

The Challenges

There are some challenges as well, primarily around security.

  1. The security sandbox for Electron is disabled by default. We’ll be fixing that and ensuring that nothing breaks as a result.
  2. Electron apps are built in a proprietary way with the concept of a front-end and back-end (both of which run on the desktop). This deviates from HTML5 standards and forces apps to be built for Electron. We’re going to normalize this so developers can stick with HTML5 standards.

OpenFin vs. Electron

We believe Electron is the right choice as a base project, but it still leaves developers with a huge amount of work to build a robust HTML5 container. At a high level, here is what OpenFin adds on top of Electron:

  • Enterprise Security (including Group Policy Management)
  • Advanced Native Experience
  • Multi-App Environment
  • Inter-Application messaging
  • Container Federation
  • Native Language Adapters (.NET, Java, C++, Air)
  • Embedded Control
  • Additional Development Tools
  • Automated Testing Dashboard

Perhaps most importantly, OpenFin provides 24/7 enterprise support with strict SLAs.

The Next New Thing

Is Electron going to be the right choice for the next several years? Possibly, but there’s always a chance that something better comes along in the future and we’d evaluate it just like we have with Electron. The key is that applications should not be exposed to this uncertainty. With OpenFin, applications are future-proof and protected not just from changes to Chromium frameworks but also to Chromium itself.

For now, we’re all in on Electron and we’re working hard to deliver our first Electron-based release early next year.

For more info about OpenFin, Electron or general inquiries please contact us at info@openfin.co.

Enjoyed this post? Share it!

Related Posts

All Posts ->

Featured

Enhanced Deployment Flexibility with OpenFin's Fallback Manifests

At OpenFin, we make digital work frictionless and delightfully productive, wherever you are.

Thought Leadership

Featured

ING Integrates OpenFin for Salesforce to Optimize Workflows

Tiberiu Zulean, Engineering Manager at ING, chatted with our Chief Digital Officer, Vicky Sanders, to discuss how ING is leveraging the capabilities of Salesforce and OpenFin to optimize workflows for their employees.

Thought Leadership