Electron for cross-platform native apps

Not true for Syncthing Tray. The Electron idea is actually the same I have in mind with Syncthing Tray which is not meant to replace the web UI (with something that would look almost the same anyways). Instead, it attempts to add features the web UI can not provide to make the web UI more accessible. It can utilize either WebKit or Blink. For that, it is using Qt WebKit or Qt WebEngine. Both can be shared with other applications requiring it. Under Linux this happens even in practise.

I even implemented some additional details/configurations for the web UI itself:

  • zooming (and keep the factor as persistent setting)
  • keeping it open in the background (or not)
  • when pressing ESC: close an open dialog first and only if none is open the entire window
  • all external links are redirected to the default web browser to ensure such pages are not processed by the web view’s engine which might not get security patches so quickly

What’s still missing is calling the native dialog for folder selection, but I have that on my TODO list.

That, combined with the actual tray icon, systemd integration and Dolphin integration, gives a quite good user experience on the Linux desktop in my opinion.

Windows users, on the other side, might not even have been realizing the built-in web view yet because the statically linked Windows binaries do not include it. That’s because like @AudriusButkevicius said it would result in huge binaries.

Because of that I also think depending on an entire web stack (and its dependencies) should be absolutely optional (and I made it even optional in my tray application).

Oh, and Mac users are currently completely excluded because I can not provide support for that platform. However, there are likely only some details to be fixed and it would work there, too.