Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There's also PWA, which while not perfect, is supported on iOS.




PWA was an awesome idea and should have been the way forward.

Unfortunately both Google and Apple very early on identified that it was in their best interest to keep the concept around in a half-dead state and ensure nobody really built on it...


PWA on android's side is at least usable.

You get notification. You can autoplay video/audio. You get whaterver video or element full screen with all necessary UI. You get rotation lock. You have a fullscreen to do what ever you want for any purpose. You probably can't touch hardware APIs(for example: bluetooth/nfc) like native app. But that isn't really needed for most apps either.

On the other side. Apple seems sabotage the PWA as much as possible. You can't autoplay video/audio. You can't even fullscreen anything other than video, and when fullscreen video, UI is ignored. Also there is no way to disable gesture so your app will misfire system gesture. And you can't lock the rotation either. There is no way to auto rotate the video player or whatever when maximized either.

It's really a golden example for pretend to do something while actually not. It seems you can do pretty much everything with ios pwa. And when you try to do it. You will figured out it will have a worse experience than native app because all sort of issues.


To be fair, Android also sabotages PWAs, it's just done behind your back. You see, in order to get a PWA to properly install, you'll have to use Chrome, and you'll have to have a Google Play account and Chrome will submit the PWA manifest for validation to a Google server, which in turn will decide whether the PWA is worthy, and if it is, it will generate a so called WebAPK, which is then installed on your device. If it's not worthy however, then it will become a bookmark instead, and many of the features that can be described in the manifest will not work at all.

So if you wanted to use a different browser or install a PWA without a connection to the internet, or without Google Play, all you get is a bookmark.


> in turn will decide whether the PWA is worthy

In my personal experience, it only validate whether manifest is malformatted though. Although it's still up to google if they want to do something wonky.


I saw someone claim on SO that they were not able to get a PWA to install properly until they changed their IP address, supposedly because they were from Iran, a sanctioned country.

Other browsers on Android support PWA, such as Firefox.

To my knowledge, every PWA installed from Firefox on Android will become a bookmark. For Firefox I believe that means for example that if you try to open a link elsewhere that is within the manifest scope, it will not open in the PWA. That's because it's not possible to deep link to the PWA without it having an AndroidManifest with a corresponding intent filter, which is what the Chrome WebAPK achieves and why they can support for example custom protocol handlers or share targets or launch handling options.

Other browsers "occasionally" find a way to create a PWA install.

YMMV, it never lasts.

Right now Firefox cant, at least not on any of my android phones.


Firefox uses a widget to make it work.

I've never had an issue with it, and have been using it for years. I use it for X (Twitter) so that I can avoid ads.

Looks like support for installing a PWA on Android was added in Firefox 58 back in 2018:

https://hacks.mozilla.org/2017/10/progressive-web-apps-firef...

Video demo:

https://youtu.be/heSvwQgEMLM?si=5X0iky_uVDAS6eE1

Developer and user documentation: https://support.mozilla.org/en-US/kb/use-web-apps-firefox-an...

https://developer.mozilla.org/en-US/docs/Web/Progressive_web...


AS I said, YMMV. PWA install has seen many a regression. Last Android release it didn't work for me, this one it does. I presume a lot of it is due to ecosystem variations and API changes.

Google invented PWAs and broke their back trying to make them a thing. I'm not a fan of Google but credit where credit is due.

They were also highly incentivized to develop the APIs that make it all work as Chromebooks are basically hosts for browser apps. Apple, as well as the other tech giants involved in the W3C had no such incentives and were dragging their feet.


Google seems to be all in on PWAs, they even have a way to monetize them in the play store via TWAs.

Admittedly I am not up to date on the latest developments but as far as a couple years ago the PWA runtime on both ecosystems was significantly stymied in comparison to the APP runtime. No access to real storage functionality, significantly less platform APIs, yada yada.

Sure, you could build "better (installable) websites" but even to get standardized stuff like background execution or notifications working was either impossible or a long series of jumping through hoops. Even installation prompts bugged out way too often.

But to be clear, if that isn't the case any more I will be positively surprized by either platform provider.


I respect PWAs, but they take away so much that I personally want. No address bar, no tabs, no history, no extensions. It's a reversion from the glorious amazing user agency of the web to the sad state that computing had held us victim to for decades.

I have good news for you: if you prefer running a PWA in your browser of choice, you can. Nothing forces you to install the PWA.

Generally true yes. Solid point!

(Unless you are on iOS, where a variety of capabilities are only given to PWAs.)


PWAs are a pain to develop, with tons of boilerplate.

They also don't require a dump truck load of third party dependencies just to have a serviceable set of widgets to use. Every time I start looking into web app development I'm always shocked at what's required to replicate what one gets for "free" in a UIKit app.

What? It's less boilerplate than native apps.

Native apps are offline by default.

PWAs require a ton of JavaScript junk to simulate that.


You can make a PWA fully offline with someting like a 10 line service worker.

Yeah, for a hello world app, and with something like Workbox.

As opposed to Swift junk?

Swift doesn't need a service worker to proxy all browser behaviour, and make use of local storage, with unspecified limit, to prentend to be working offline.

You do realize that there are many APIs that exist so that your Swift app works offline, right? There are specific persistence frameworks, tools for controlling caching, extensions for managing external files, etc. The argument that writing JavaScript that doesn’t make network requests and needs to store state to disk is somehow super special and different than any other regular JavaScript makes no sense.

You do realise using Swift doesn't require having a network card on your laptop to run 100% of all applications compiled with swiftc?

You do realize that neither do browser apps require having a network card on your laptop, right ? You can run local browser apps (HTML + CSS + JS) on a computer with no network card.

Except for doing anything actually usefull they end packaged with Chrome.

No, not at all. Lots of apps using the system webview nowadays. I would urge you to revise your deeply outdated knowledge. Lots of frameworks making this convenient too. Capacitor (Ionic) Apps, Cordova (PhoneGap) Apps, Tauri (non-Chromium modes), etc.

A network card is not required for:

    - Loading local HTML files into a WebView
    - Packaging an app that embeds the WebView (e.g., WinUI WebView2, macOS WKWebView, Android WebView, blah-blah)
    - Running JavaScript, CSS, DOM APIs
        - Using local storage, IndexedDB, etc
    - Accessing file:// resources
    - Communicating with native code (e.g., JS <-> native messaging)
Btw, there are a lot of non-Chromium apps! Are you aware that Microsoft Teams now uses the System WebView on mobile (iOS WKWebView / Android WebView) ?

Linux apps like GNOME Notes, Foliate, ReText, Liferea etc use the system webview.

Apple Music, Apple TV, Apple Podcasts, App Store, Dash, etc use WKWebView

Can keep going on and on...


Most things that are worth doing usually involve some level of pain.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: