I’ve been using wefwef WebApps to browse the fediverse and am curious to understand how it works. I do not have knowledge deep knowledge about coding or programming.
Native apps are apps written in the native language of the platform of choice. It would be Java for Android and swift for IOS. Native apps can request lower level access to your system than a webapp.
Now, a webapp is a basically a website which can run like a native app with similar features and is full screen unlike a website. The language is javascript for the front-end and the backend(server) handles some communication. So, webapps can behave and act like native apps but they are not native and won’t have the same lower level access to your system. Think access to storage, accessibility services, settings, etc. Webapps can also be slower compared to native apps which is prominent in non-flagship smartphones.
The main big difference without going into different programming languages is that web apps are built to be served via a web browser and don’t interact directly with the underlying operating system (OS). Regular apps are built to be run and interact directly with the OS.
So, web apps lose a great deal of functionality, but gain independence and privacy? Or am I not seeing the issue correctly?
Web apps allow for greater cross system support since they can be utilized on any system that has a browser and access to the internet. Another benefit is that none of the code is hosted on your local system (except the client side which is served to you in the browser). Web apps don’t necessarily lose any functionality, it just depends on the goal of the application. Web apps still have server side (remote) applications that serve the web app to your browser and which can perform the lower level functionality on the host system.
No, not at all.
Web apps automatically update, and you basically don’t run any code on your machine. Whoever is running the webapp can usually see everything you do. Google knows you opened and edited that document at 4am last Thursday. If someone serves Google a warrant, they’ll give them your documents. You also don’t have to trust whoever is running the webapp. You can use Joe Shmoe’s interactive Diablo map and the only risk is the data you give them.
Desktop apps may or may not phone home. But generally if you edit a document in notepad or WordPad, nobody has that information but you. If someone wants that document, they need to get access to your machine. But it does require you to run code that you can never really be sure of what it’s doing. So you generally want to stick to known names or people you can trust. Don’t run random executables on your machine. Note that this is also why it’s so much harder to pirate games or software than it is to pirate media. You (generally) can’t get a virus from an mp3 or mpeg or jpeg file.
Web apps will be more restricted into terms of how they can interact with the underlying OS as they first have to go through the browser. Also I wouldn’t say weapp have any influence on independence and privacy, and if anything they are less private since the hosting server will know your IP and often require an account to use them. Native apps are installed on the system and unless they have routines to call back to the developer, it won’t really share any information about your system or usage.
iOS has them too. Really it’s just saving a bookmark to your home screen that opens in a browser with a stripped down UI. I use Memmy for browsing Lemmy but I have wefwef saved to play with too. It’s pretty much indistinguishable from a native app. The only give away is how page elements load. It’s just slightly different.
Haptics are possible if you aren’t using iOS. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/vibrate
Adding onto limecool’s response, both iOS and Android are able to use them. I’m using wefwef right now on my iPhone. It looks like any other app on my phone and acts a lot like it, too. (As a former Apollo user, I can only commend the wefwef team for a truly spectacular replication of Apollo’s sleek user interface. The similarities are truly striking.)
So they’re kind of like a glorified web bookmarks, but they have some capability for managing their own storage (note when you’re prompted to “update” wefwef) rather than being simple links. As an iPhone user, another notable difference comes when you’re getting a new phone. These days, all your apps redownload whenever you restore from a backup, which of course takes time. But your webapps? They’re ready to go right away.
I think webapps are accessed solely through the browser. It doesn’t make sense to differ them based on ‘low level access.’ I have an app that is essentially just HTTP requests to a RESTful server. I have access to all the features any other app has, provided I am granted the proper permissions. I still only use the app to communicate with a webserver via HTTP.
It’s why we have someone saying “wefwef does things I didn’t know a webapp could!” Probably because it’s not a webapp. It’s just an app, lol.
It also has nothing to do with writing an app in a platform’s “native language.” Jesus. Stop upvoting that guy, lol.
If being accessed solely through the browser is your qualification for web app, then wefwef (a PWA or Progressive Web App) meets that too, as it can only be used by a browser. “Installing” it is essentially equivalent to adding a shortcut to your desktop.
Also, Teams, Discord, and any other software written using Electron would then be a web app as well since every one of their windows is a browser window.