Apps that can be extended by users with plugins


#1

Is Electron suitable for developing an application that needs to be extendible through plugins?

We need to develop an application for Windows, Linux, Mac, iOS and Android and so we were going to go the route of Electron and Ionic but we have the requirements that the application will consist of a base set of features with more features added by users either by loading plugin packages or choosing them from a store. Can this be achieved with Electron or is it better to develop native apps, particularly for desktop environments?


#2

I’m assuming it is possible since Visual Studio Code was built with Electron and has that very same feature but I’m curious how well supported this capability is?


#3

Extremely suitable, considering that Electron was built from Atom which has a rich and configurable plugin ecosystem as its raison d’être. In Atom’s case, packages are normal JS modules structured like NPM packages that get dynamically require()ed when Atom loads.

I’m curious how well supported this capability is?

Unless you want to copy Atom, you’re going to have to build out your own support. Electron isn’t much more than a Chrome-based executable with access to an internal version of Node.js.