this post was submitted on 26 Feb 2024
97 points (98.0% liked)

Apple

17530 readers
34 users here now

Welcome

to the largest Apple community on Lemmy. This is the place where we talk about everything Apple, from iOS to the exciting upcoming Apple Vision Pro. Feel free to join the discussion!

Rules:
  1. No NSFW Content
  2. No Hate Speech or Personal Attacks
  3. No Ads / Spamming
    Self promotion is only allowed in the pinned monthly thread

Lemmy Code of Conduct

Communities of Interest:

Apple Hardware
Apple TV
Apple Watch
iPad
iPhone
Mac
Vintage Apple

Apple Software
iOS
iPadOS
macOS
tvOS
watchOS
Shortcuts
Xcode

Community banner courtesy of u/Antsomnia.

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 9 months ago* (last edited 9 months ago) (1 children)

This is sort of reductive. Yes, and no. It’s more than just a link on your home screen. More than just a set of html pages saved locally. It downloads the entire javascript app, the manifest, the icons, all that stuff and packages it up. When you run one of these you’d have no indication that you’re in a website. There is no browser URL bar or any of that. Only the controls in the app. It’s not really “just a website and nothing more”.

No, it really is just a website and nothing more. Just because the browser UI is different doesn't mean it's a different thing. All of the technology itself is available to all websites, which is what is relevant for PWAs being "a massive vector for malware", as initially claimed.

It’s a javascript program running on a phones javascript engine (which is currently webkit and locked down).

Yes, just like with any other website that uses Javascript. And Apple will have to allow other Javascript engines - so what's the difference with PWAs specifically?

An app in just about every sense of the word. https://app.starbucks.com is a great example. Even works offline once you save it.

Yes, and the same APIs are available to other websites. Look up service workers.

[–] [email protected] 1 points 8 months ago (1 children)

I would disagree with the premise. A website and an application aren't the same thing just because they are written in the same language (javascript). PWAs are apps in every sense of the word. Websites are not. I think the comments section on this Ars techinca article cover it pretty well, rather than re-hashing the same. https://arstechnica.com/gadgets/2024/03/apple-changes-course-will-keep-iphone-eu-web-apps-how-they-are-in-ios-17-4/?comments=1&comments-page=2

[–] [email protected] 1 points 8 months ago* (last edited 8 months ago)

I presume you're talking about e.g. this comment:

PWAs traditionally have had hardware access not available to web pages within the browser. This makes a PWA more of a security risk than a web page, but also means you can have a PWA compass, or a PWA wifi troubleshooting app, or a PWA government ID app that can use the camera and microphone to validate the user outside Apple's own APIs. It's more than just extra cookie storage and expanded localstorage.
So if a PWA was deployed via Chrome, Apple would also have to give the Chrome PWA instance those permissions, without Apple being able to have intimate knowledge of the consequences on the back end, since Chrome isn't WebKit. And Apple doesn't have the same level of security vetting for third party software (like Chrome) that they do for OS internals (like WebKit).

If this doesn't represent what you had in mind, could you quote specific comments?

I would disagree with the premise. A website and an application aren’t the same thing just because they are written in the same language (javascript).

This isn't what I claimed. You are correct that using the same programming language doesn't mean two things are in the same category, but that's not my point. They are using the same:

  • Programming language
  • Runtime environment
  • Layout engine
  • Style & formatting engine
  • Markup language
  • Style language
  • Browser APIs

The only difference is that a few additional APIs are available and some browser restrictions have different value. That's because Progressive Web Apps are literally meant to be websites that provide functionality and have progressive enhancements (i.e. feature detection, you use what you can without breaking because of what you can't). This means we're talking about the PWA being the same website, displayed in the same application, served from the same server.

Many, if not most, PWAs are websites that provide the same actual functionality with or without being installed, maybe without a couple niceties (e.g. bigger offline storage). Many don't use features beyond what they offer as a normal website. This means all there is to distinguish PWAs and websites is how the user opened them on their phone.