Progressive Web Apps vs. Desktop Apps?

juricakenda profile image Jurica Kenda ・1 min read

What do you prefer and why?

A couple of months ago, I created a desktop application for merging multiple .pdf files into one file. The application can also be used for extraction of certain pages from one file.
The initial project was supposed to be for personal use only, but I had decided to make it more user friendly and put it out for everyone interested to use. The user interface is very intuitive and easy to use.

Now I am a bit stuck on the distribution end.. I would like to reach as much people I can, so they can use my application. Is creating a web application out of it a better apprach?

Here is a download link to the desktop version: https://lnkd.in/dwjc-XC


markdown guide

Is creating a web application out of it a better apprach?

I'd say yes, but only if you can ensure it will work offline and can work around the general lack of filesystem access.

One of the big things about doing a PWA instead of a desktop app (aside from the triviality of distribution) is that the platform differences you have to deal with become much much less significant most of the time, which makes it easier to support a wide variety of systems (at least, provided you don't worry about Internet Explorer and Opera Mini).

There are a couple of downsides though:

  • You need to go out of your way to make sure it works offline if it doesn't actually need to talk to the server (your application sounds like it shouldn't if you do it right, and doing so shouldn't need much effort), otherwise users will tend to avoid it.
  • Web apps in general (not just PWA's) have severely limited filesystem access. Saving things pretty much amounts to generating a link (locally, using the Blob API) and telling the user to download it. Loading a file requires jumping through hoops with the [FileReader API]9developer.mozilla.org/en-US/docs/W...). Both have some support limitations across browsers, and are generally a pain to use. Your case sounds simple enough though that this shouldn't matter much (if at all).
  • Web apps can't access most hardware directly. Shouldn't be an issue for you unless you really want to do something crazy like offloading the PDF transformations to the GPU (though that may be possible with WebGL).

Excellent insight!
Thank you very much.