I am looking to use Electron on a gov’t project, and one of the questions they asked was, “How do we know Electron will be around 5 years from now?” I said because it’s used by some companies like Slack, Wordpress, Atom, etc. that have millions of dedicated daily users and the large community behind it. I was wondering if anyone else could provide me with more ammunition to set their minds at ease?
Today it’s Electron, but I remember when NodeWebkit(NW.js) or CEF were popular. Who know what will be popular in 5 years?
I think it’s good practice to not rely completely on Electron API and use it in every file, but to separate concerns. Asking questions “do I need to refer Electron API in this file, or can I write this module in more universal and easy to portable way?”
Because if you rely heavily on some API/framework there will always be a pain, when this API/framework is no longer in use (in this case you would need to rewrite all files if Electron framework ceases to exist and you liked to rewrite it to the new framework).
On the other hand if you write your code in the way that separates framework API calls from the application code, then your application will have more chance to last longer, even if framework (e.g. Electron) will stop to exist. You would just replace modules that call Electron API with other modules, that call Whatever API (Whatever = some new framework).
It’s not about Electron, it’s more of a architecture/code design.
As an example of a well-designed Electron application that anyone can look at, Wordpress Desktop is essentially just the code needed to make a desktop application work, with the stable version of Calypso (their web app) dropped in at build time. If they wanted to do something completely different tomorrow, all they would have to do is rewrite the code specific to the desktop application.
Just in case you (or others who may be reading this topic in the future) aren’t aware, Atom (referring to the text editor) isn’t a company. Atom is a product built (with ) by GitHub, the same company that creates and maintains Electron. GitHub has been around for about eight years now and is going strong. So that might be a bit more of a stable track record for your peers and managers than Atom or these other Electron projects by themselves.
Additionally, something to keep in mind is that vim and Emacs are two of the oldest pieces of software still in use and still in fairly consistent development. Both of them are text editors designed for programmers and both are approximately 40 years old at this point. (If you count vi as part of vim’s history, that is.) Personally, I think that bodes well for Atom’s future Does that mean that Atom will always have Electron as its underpinnings? Even if Atom migrates away from what we now call Electron … whatever it migrates to will be very Electron-like.
I think that’s about as good of a guarantee as you’re going to get in the software world.