In December 2018 Microsoft announced it would replace Edge’s EdgeHTML rendering engine with the Chromium rendering engine. More info on that can be found on Chris Hoffman’s blog What You Need to Know About the New Microsoft Edge Browser.
What interested me is how Microsoft may take this further. Some of the new apps being built out there have been created using Electron. This technology enables desktop applications to look and behave very much like websites. Digging in [More details here], Electron allows developers to bundle a website with a few native features like notifications, file system access and menus.
Desktop applications are hard to make, especially if you want them to be cross-platform. Accessing the file system works differently in Windows than it does in Linux, for example, and notifications work differently on macOS than in Windows. This means anyone who wants to write an application for all three desktop operating systems (or even two of them) needs to re-write a lot of their code when porting from one to another.
Electron solves this issue by offering a single platform that works on all three major desktop OS’s. Allowing developers to release an app for multiple platforms at once without having to write platform specific apps.
The way Electron works
Electron bundles a complete web browser (Chromium) in every app. This enables the app to function like a website. Whilst this is an amazing idea for developers, for the user this turns out to come with a price. Desktop apps are HUGE. Apps like Slack take up a whopping 200MB of hard drive space. The reason being; it has it’s own built in browser besides the rest of the app.
Imagine having a separate Chromium browser for each website you use—you’d need more memory, more disk space, and more update downloads. That’s what’s happening today with Electron apps. There’s no sharing of resources here like there is with native applications, meaning Electron apps are going to take up more hard drive space and memory than an application developed with your platform specifically in mind. If performance is something you really care about, you might want to avoid Electron applications.
For the most part, this inefficiency is unlikely to make a difference on your PC, but this is where it gets interesting.
Microsoft standardizing the Chromium-based browser
With Windows 10 standardizing on a Chromium-based browser, were Microsoft to bake-in the technology these applications need directly into the operating system, new apps could be built for all major OS’s without the need for Electron. This would make for lighter apps that could perform better, save disk space, reduce necessary update downloads and otherwise improve battery life.
This leaves us developers to write one type of app regardless of whether it is for the web or for a desktop app, much the same as with Electron. This would allow for writing one app for desktop and the web, that is compatible with all major OS’s.