WRITTEN BY GARETH DUNNE @DUNNEDEV
Specifically, the platform Electron is the leading framework for building hybrid desktop applications in this fashion.
Check out this Git here and a great introduction here.
First of all, you might be wondering if anyone is actually using technologies like Electron? You might be surprised, when looking at some well established products and applications that are using this hybrid tech stack I came across the following notable players:
Personally, I use at least two of these on a daily basis. Its quite impressive that some of these big names have already adapted Electron so quickly.
Most notably, however, is that Visual Studio Code (my favourite code editor to use) was built in Electron. This a text editor that is on par with its IDE counterparts in terms of functionality.
It is reassuring to know that there are already well-established applications out there but what advantages could Electron have provided them?
Cross platform sharing of code is always going to help a developer or teams productivity. Electron lowers barriers to entry for desktop development by providing these familiar tools for web developers. Their familiarity with these tools will in turn increase their work output and productivity.
Say what you like about how it fares against its native competitors, however, you must admit any company will be intrigued by that productivity boost alone.
For some companies this is enough of a compelling case to use it, despite some performance and stability trade offs.
This is quite possibly the most controversial aspect when Electron is compared to native desktop programming languages.
Some articles such as this would really try and put the nail in the coffin of frameworks like Electron before its given its fair share as an alternate way to create performant desktop applications.
And while the title of the article is offbeat and bit outlandish there is certainly a very good argument to say that hybrid desktop applications will never compare to its native counterparts due to things like having to use a web browser in a desktop app which puts a strain on resources as it is.
However, why exactly do hybrid applications have to match native performance? As memory allocation in our hardware is consistently getting better I see no problem creating apps in Electron. It can be a lot more efficient then natively developing every single possible version of an application that needs to be on OSx, Mac and Linux.
Again, I want to use Visual Studio Code as a focal point here. It of course is built using Electron and makes a strong case for being a tight competitor to major code editors like Atom and Sublime.
In terms of functionality it is as robust as major text editors such as Atom and Sublime, with seamless Git integration and an extension package window to boot.
How it compares to natively developed desktop apps should only hold huge weight at a more enterprise level and even with this in mind, it doesn’t seem to stop some very big names for utilising it for major enterprise apps.
The most important thing to take away from this as a frontend dev is to know that you have yet another big section of tech product development that you can move into. Making us in more versatile in what we can achieve.
It’s unclear whats going to happen next but it is on a upward spiral so the future looks very promising. It may not be for the native purists because a lot of web based programming goes against what makes native languages for desktop great.
For such a promising framework such as Electron I haven’t found too many learning resources for it. Here are some of the best I’ve found so far.
I hope to cover more of this framework in the future.