Electron (Node.js+Chromium) as distributable tool interface?

Has anyone had any experience with Electron as a cross-platform stand-alone desktop app for tool distribution?
https://electron.atom.io/docs/tutorial/about/

Our company doesn’t have a real tool pipeline or centralized interface for scripts. I’ve been looking at python solutions, but questions about legality of redistributing UI (QT/Pyside) and potential for different Python version issues make me leery. We have people on both Windows and mac OS.

I realize that it is probably not possible to have it interface directly with python-based scripting in Maya/Modo, etc (though that would be a nice bonus). This is more for tool installation, updates, and creating prebuilt project folder structures from schemas.

One thing that attracted me to this was that I am already developing in-house tools using the (older) node.js framework built into Adobe CEP for Photoshop and Flash.

On the surface it seems like a great way to have a pretty looking desktop app I can distribute with minimal or no external dependencies.

I’ve done this once or twice.

#Pros:

  • all the bells and whistles of a modern browser
  • lots of graphic effects available online
  • easy stylesheeting, like bootstrap
  • build process is pretty easy

#Cons:

  • everything is ultimately client server – your application is a server and you have to talk to it as such. This makes for more complicated architecture and debugging
  • You’ll need to write your front end in HTML + Javascript; if your backend is python every feature will be touching 3 languages
  • Exes are very large (150 mb)

So it’s not terrible, but not what I really want – a simple lightweight python application framework.

Thanks for the insight @Theodox . When I get the free cycles, I’ll try a simple script-delivery app with the built in auto-update and see how pain/useful it is.

You might want to look at these for a way around the JS pain:

The other thing to remember is that you’ll need to make the “server” component do all the wok on a user’s local drive: the JS front end is sandboxed, you won’t be able to do much to the user’s machine without the “server”

Good links! I’ve been doing some light system-level file handling with the node instance in the CEP panel extensions for photoshop, so if it’s anything like that it should be an easier transition.

transcrypt is turning out to be pretty cool! More to come when I’ve dug deeper.