this post was submitted on 06 Jul 2023
127 points (96.4% liked)
Asklemmy
43885 readers
809 users here now
A loosely moderated place to ask open-ended questions
If your post meets the following criteria, it's welcome here!
- Open-ended question
- Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- !lemmy411@lemmy.ca: a community for finding communities
~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
A regular app is an executable you install on a machine. Typically people associate "app" with specifically mobile apps, but technically a program you install on Windows can be called an app, but most people differentiate those by calling them a "program"
A web app is just a name people use for a website that looks and behaves in an "applike" way.
Like you wouldn't call a blog a web app because blogging is just content you consume.
But if you make a website that "does" something, like a tool (for example most of google's tools you can use like Google Docs, Google Sheets, etc), folks like to call that stuff a "web app", because it sort of serves the same purpose of what an app installed on your machine would do but it runs inside your browser on the internet, instead of as an installed executable.
You also then get further specific to what is called the "Single Page Web App", or SWP. These are web apps that also are notable for the fact they pretty much are just 1 single page with all their functionality in 1 place, no need to navigate to another url triggering a page reload, the entire web app exists at 1 single endpoint and all of its "pages" are within its own logic.
For example if you have a web app where it has "tabs" or "modals" that you can sift through within the webapp, instead of needing to load an entire new url+web page to view em, thats a SWP.
I would also like to add that there are PWAs (Progressive Web Apps).
PWAs can be installed on most devices and share even more similarities with native apps (Native app = usually installed through app store). For example installed PWAs can be viewed in Fullscreen or work offline, even though they are still technically a webpage.
So the advantage here is that you don't need to use an App Store to have an app installed on your phone.
And the main disadvantage is that the PWA can't access most of the device's APIs, that you could access through a native app. This means worse performance usually, no support for theming beyond dark/light (like Material You), no good access to on-device databases etc. This is also the reason why most apps aren't PWAs.
Although that is changing slowly. PWAs are starting to get more and more support for APIs on the devices. For example if you install te Microsoft teams app, afaik it’s also just a web app, but bundled with all the rest so that it seems like a normal app.
PWA’s can even have hardware GPU support nowadays.
Regarding Teams, you mean it's a web app on mobile? I thought the MS Teams Windows application was written in that API that uses insane amounts of resources for what it does (although it does work, so I'm not necessarily criticizing using a library that works).
The Microsoft teams desktop app is written using a JavaScript framework called Electron. Electron is just a framework that allows you to write a single-page web app and install/launch it like a native application. Because it’s written in JavaScript (the same language web browsers use. Electron apps are literally their own chromium based web browser. It’s part of the reason those apps use so much of your computers resources) it is OS agnostic and cross platform without really needing consideration.