Not sure if there is a common agreement about terminology, but my distinction is
- web app: loads from a server and connects to a backend to perform its activities. Business logic is on the server. If at all, very limited offline capabilities
- desktop app: is installed on the local machine, doesn't need any connection to a backend to work, works offline.
I don't mind at all which technology the dev used to implement. Even nerdy metrics like memory and CPU consumption cannot be predicted from the used technology. So why should I care?
> - web app: loads from a server and connects to a backend to perform its activities. Business logic is on the server. If at all, very limited offline capabilities
You're confusing web apps and client/server apps. Web apps are generally thought of as apps written using web technologies. This means that a web app may not even interact with a back-end server, or a native app may exclusively interact with a back-end server.
I think this is not correct. According to https://en.wikipedia.org/wiki/Web_application, Web applications are applications running in a Web browser. The term was introduced to distinguish Web _apps_ from Web _pages_, not to distinguish _Web_ apps from _native_ apps.
> Web applications are applications running in a Web browser
And Electron embeds an instance of Chromium, to provide a webview for the 'application' interface.
How is that not a web app? It's written in HTML, CSS and JS, it runs inside a browser.
Just because the user can't choose the browser doesn't mean shit. Users couldn't choose the browser to run a lot of Microsoft-stack Web Apps in the early 2000's either, because they only worked in MSIE.
This is a simple definition but I think it lacks a couple important things:
1. It doesn't match the words. If that defines a "web app" then where does the web come in? I would think part of being a web app is that you can access it via the web and don't have to install it on your device.
2. Usefulness of the distinction to users. The specific nature of the bundled runtime for the code doesn't matter to anybody. It strikes me as pedantic to insist that because under the hood a thing is running in a browser we should call it a "web app".
I think the most practical distinction is that web apps have a URL as the entrypoint. If you want to use it, you can visit the URL from any browser that supports the app. Web app requires a URL and a compatible browser.
If instead you install the thing on your computer and run it from there, it's not a web app. It's a native app. No URL and it doesn't care what other browser you have installed because it comes with everything it needs. It's independent.
How and why would users be expected to understand anything else?
You didn't really have to. I guess I made my point badly. The fact that a "web browser" is somewhere in the chain of what is reading an application does not mean that the application itself has anything to do with "the web", so I think calling it a web app is confusing and pointless. And again, seems like a technicality.
> As for the second issue: users care because performance is worse, accessibility is by and large non-existent and platform features don’t work.
I agree with this in general. It doesn't mean it helps the user to call it a web app. Maybe we need a third, generic term for electron apps and others like them. A name that refers to the potential differences in performance, accessibility, and performance that users may notice?
Web app doesn't work for what you are talking about as far as I can tell. Of course this is an industry where terms and definitions change a lot.
> The fact that a "web browser" is somewhere in the chain of what is reading an application does not mean that the application itself has anything to do with "the web", so I think calling it a web app is confusing and pointless.
In a discussion of 'native apps vs web apps' it absolutely makes a difference that Electron apps are rendered by a browser's web view - they're basically a web page rendered by a local source not remote, but without any of the sandboxing that proper browsers employ for security.
> Maybe we need a third, generic term for electron apps and others like them. A name that refers to the potential differences in performance, accessibility, and performance that users may notice?
> In a discussion of 'native apps vs web apps' it absolutely makes a difference that Electron apps are rendered by a browser's web view - they're basically a web page rendered by a local source not remote, but without any of the sandboxing that proper browsers employ for security.
Those are also reasons not to call them web apps though: web apps run in your browser of choice (ish) with all of the associated security and accessibility defaults, plus your extensions and whatnot. They are apps on the web.