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.

62 points

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.

permalink
report
reply
27 points

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.

permalink
report
reply
19 points

Wefwef does stuff I didn’t even know was possible on a webapp. The gestures work very nicely, it’s responsive, etc etc etc.

Really shows how low the bar has been set for other websites.

permalink
report
parent
reply
16 points

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.

permalink
report
reply
2 points

So, web apps lose a great deal of functionality, but gain independence and privacy? Or am I not seeing the issue correctly?

permalink
report
parent
reply
3 points

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.

permalink
report
parent
reply
2 points

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.

permalink
report
parent
reply
2 points

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.

permalink
report
parent
reply
11 points

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.

permalink
report
reply
7 points

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.

permalink
report
parent
reply
2 points

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.

permalink
report
parent
reply
3 points

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).

permalink
report
parent
reply
7 points

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.

permalink
report
reply
1 point

Also lack of haptics, if you’re used to them

permalink
report
parent
reply
2 points

Haptics are possible if you aren’t using iOS. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/vibrate

permalink
report
parent
reply

Asklemmy

!asklemmy@lemmy.ml

Create post

A loosely moderated place to ask open-ended questions

Search asklemmy 🔍

If your post meets the following criteria, it’s welcome here!

  1. Open-ended question
  2. 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.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

Icon by @Double_A@discuss.tchncs.de

Community stats

  • 11K

    Monthly active users

  • 5.3K

    Posts

  • 297K

    Comments