What is the best platform for developing an app? Is that mobile? Web? Desktop? Or maybe a mix of those options? We sometimes see confusion among customers about web apps and the assumption that desktop apps are a thing of the past. Nothing could be further from the truth, and often a desktop app is even the best choice.
In this blog we look at the different types of apps and when you choose which option.
The difference between desktop and web
Functionally, desktop and web apps are increasingly coming closer to each other in terms of possibilities. In many cases, functional limitations are therefore no longer a factor in the choice between desktop and web. However, there are a few important differences between the two.
With a desktop app, you install the software on a PC (or laptop) or create a shortcut to the application on the server. You can access a web app with a browser such as Chrome, Firefox, Edge, or Safari. The advantage of many web applications is that you, depending on the security settings, can access the app from any PC. This is useful if you don’t have a fixed workstation or laptop.
2: Native desktop app
A good desktop app is a native app. This means that it follows the guidelines of the developer of the operating system, such as Windows or macOS. This is expressed in things like how an app behaves and keyboard shortcuts. With a native app, this is the same as that of the operating system and other native apps. When you use the app, you don’t have to learn all those tricks again. It feels familiar and that makes it easier to use. This argues for a desktop app rather than a web app.
People are impatient and that is why it is important that an app is fast. On average, desktop apps are still faster than web apps. This is because the majority of the web apps have loading times when you switch pages. This is also a drawback with Electron apps – see below.
Theoretically, desktop apps don’t have loading times – after startup. All elements are available and the only time you might have to wait is when the app is fetching large amounts of data from an external source.
Desktop apps can provide a local first experience that allows you to work offline, wherever and whenever you want.
PWA and Electron: a middle ground
In the introduction, we mentioned that desktop and web apps are functionally more and more equivalent. This is also reflected in the techniques like PWA and Electron that developers use.
- PWA (Progressive Web Apps) are web apps that you save from your browser as a “desktop app”. It’s still a web app, but you open it as if it were a desktop app.
- Electron apps are desktop apps developed with web technologies. You install them just like desktop apps, and often the developer also offers a web version. For the developer, Electron is an efficient way of developing because you develop an app – relatively quickly – that works on different platforms such as Windows, macOS and Linux.
Electron is a middle ground between desktop and web. A middle ground usually means making compromises, and that goes for many Electron apps too:
- In general, Electron apps are slower than desktop apps. In terms of speed, they are comparable to web apps. Visual Studio Code and 1Password are a positive exception to this.
- The second drawback is that Electron apps usually don’t feel as native like desktop apps. With this, you miss the recognition and a certain ease of use.
- Electron apps are less efficient. Microsoft Teams is an example of this. It uses a lot of processing power, memory and energy.
The big advantage of Electron is that an app is often available on all major platforms.
SaaS and cloud
We mentioned earlier that you install a desktop app on a PC or Mac. That is not entirely true. There are several solutions that allow you to use desktop apps remotely, just like web applications. At CE-iT, for example, we work with Microsoft RDS. With this you open your browser – just like with a web apps – and enter the URL. From there you start the desktop application without installing anything. In terms of convenience, it therefore resembles a web app.
Until now, we mainly looked at the choice between web and desktop, but it doesn’t have to be that black and white. If you have multiple types of users, you may want to offer different solutions. Someone who uses all the functionalities – and uses the same PC every day – benefits from a desktop app so that she can use the app optimally. A colleague who uses the app occasionally with a limited set of functions may be better off with a web app.
You see this mix at the design app Sketch. The desktop app offers all features and there is also a web app. You use the latter for collaboration and sharing designs. The web app is simpler than the desktop version, which limits the learning curve.
This mix-platform approach aligns with our view that one-size-fits-all usually doesn’t work. For us, it puts the desktop app in the center and at the same time it reflects what other people need.
Choosing for a desktop app
When you develop software, you need to look beyond what it can do functionally. You look at who uses it, where someone works and how. It lets you build apps that make people more productive and that they enjoy using.