ReactJs Plugin Framework

(Lawrence Chase) #1

I’m curious how ReactJs would support a plugin framework for 3rd part extension of the GUI. I think due to the search terms it is difficult to find the right kind of hits for this topic. I’ve seen the plumbing for Nylas which leverages electron and ReactJs and they have a plugin concept but the enablement of that seems to be more due to electron and I’m wondering if this is possible in a web site context.

(Cameron Westland) #2

Hey Lawrence. Extensibility is a big topic! Here is a little library I’ve been working on that can help connect React Components together for the sake of extensibility:

It’s not actually released yet but you can check it out on github and play with the demos and let me know if you have any thoughts.

(Lawrence Chase) #3

Thanks I will definitely check this out. I know how I would build this in .net or java but wanted to figure out how it might work in ReactJs, including how someone would develop and deliver the extended functionality. The Nylas ( codebase has some good concepts as well like isolating failed react components so it doesn’t crash the rest of the GUI.

(Sesteva) #4

I haven’t found much examples on extensibility in react apps or doing something like importing a component remotely.
I was hoping you could share what your vision is in how would others install / plugin an extension into an app using slot fill approach
What would the process look like ?


(Lawrence Chase) #5

Yeah the challenge I haven’t overcome is someone contributing a 3rd party extension/plugin using React. It is relatively easy to do a plugin framework within the codebase and dynamically load plugins you develop but the 3rd party hump is the challenge. For example how do they develop against your ecosystem unless you provide a fake platform to code on top of that simulates some of the events etc. (I’m thinking dashboard here) and then how do they package ignoring things that are provided by the main application platform etc. I wonder, for example, how wordpress or jenkins would have been developed using react or if it really isn’t doable well.