You may have wondered how to program a cross-platform application yourself. There are various options that are more or less complicated. One way to create a cross-platform app is to use the Electron framework. But now the question arises:
What Is Electron?
So you need to know a few programming basics. Electron relies on NodeJS as the backend and this must be installed on your development computer.
In the end, you will create a Chromium-based web application that you can then use on many different desktops. That’s right. The apps developed with Electron can be used equally on Windows, macOS, and Linux.
This has advantages for developers. They don’t have to learn any new programming languages. Another positive thing is that Electron supports automatic updates. If there is a new version of your app, you can roll it out automatically.
Furthermore, your cross-platform apps can also use the operating systems’ system bars, notification components, and so on. So you can see that Electron has many advantages if you choose a low resistance path.
Electron Also Has Disadvantages
However, at this point, one must clearly state the disadvantages of the framework. Such convenient solutions offer compromises that you have to live with. Or you have to know the disadvantages and you can then decide whether Electron is an option for your app or not. The use of Electron is certainly less suitable for some applications and apps.
One disadvantage of Electron apps is that the files are relatively large, so we’re talking about large downloads at this point. This is not a problem with modern internet speeds, but you should keep that in mind. Hard drive space is also available on modern computers. So, you simply have to decide for yourself where the pain threshold is reached.
Furthermore, the performance is usually worse than with native desktop apps. Here, too, it depends on the pain threshold. What do you want the users to do and is your app fast enough? Nowadays, users are quickly frustrated when they have to wait several seconds for a reaction from the app. You know your app best yourself and if it’s fast enough – why not Electron?
Current computers are also equipped with a relatively large amount of RAM. You can never have enough RAM, they say in nerd circles, and that’s true. What the computer can do in RAM is much faster, even if SSDs are much faster than conventional hard drives in terms of swap files. Electron apps, however, need much more RAM compared to native desktop apps. Again, it depends on how much you want a computer to handle. If it’s within reason, it’s fine. But if the app needs way too much RAM, there might be a better solution.
Make A Decision
Before you decide whether to use Electron or not, take a look at some popular apps (<https://www.electronjs.org/apps>) that have been developed with the framework. Download a few programs and see for yourself how many resources they consume.
You may also want to check out a few apps that are similar to your project. Then you can decide whether a pain threshold is exceeded or not.
I think it’s important to gain an understanding of the apps and their resource consumption. Then you can make a good decision. Knowledge is power – that is true in this case as well.
Popular Electron Apps
Let’s just take a look at some popular Electron apps. You may be surprised to see which big names are using the framework.
WordPress offers a desktop app for Windows, Linux, and macOS. This speeds up access to the website enormously because a copy is saved locally. The app is based on Electron.
There is one catch, however. The app works fine with websites hosted directly on WordPress.com. It is possible to use a self-hosted website, but you need the JetPack plug-in for this. It’s not a nice solution, since it’s unnecessarily complicated.
Tip: WordPress offers a desktop app implemented with Electron.
The point is that the WordPress Electron app is fast and resource consumption is kept within reasonable limits.
The popular messaging app for teams, Slack, is also available as a cross-platform desktop program. The development team has made use of the open-source framework presented here.
You can even connect to Google Drive with the app. This makes teamwork even more convenient and productive. The home office is no longer a niche and that’s why it’s important for teams to be able to use platforms together and easily.
The program is a free open-source messaging and email app. It combines common web applications into one interface. Rambox supports over 600 apps including Gmail, Office 365, Skype, Slack, and Discord.
Of course, there is Rambox for Windows, macOS, and Linux. The software is available as a free Community Edition (CE) that supports over 99 apps. The paid pro versions support many more apps. There is also an ad blocker in the Pro versions and you can set working hours. Outside of these times, the app doesn’t bother you with notifications.
Wayward – A Game
Even games are implemented with this solution. And Wayward is a beautiful example. It’s a ‘Roguelike’ game where you have to survive in the wilderness. The game is turn-based. There are over 500 items that you can craft and interact with. Furthermore, there are over 45 animals and creatures in Wayward that you have to fight, among other things. The game just looks so adorable with its pixel graphics.
As you can see in the video, the game runs smoothly. We don’t know which machine the developer has, but I can run it on mine as well. The requirements are manageable. You need at least 2 GB of RAM and a graphics card with WebGL support and 512 MB of video memory. 1 GB of mass storage is required. This shouldn’t be a problem for current computers.
Electron Is Worth A Thought
Yes, desktop apps created with this framework require more resources than native programs. Thanks to modern computers, however, the bar is set very high. By looking at the popular programs, you can already see what you can do with Electron.
Like everywhere else, you need to know your target audience and what you can expect from them. Then it will be easy for you to decide whether to use the framework or not.