Meanwhile https://github.com/achingbrain/webtransport-echo-server this is the best we have for a minimal working node example.
The guys at Colyseus (a JS library for multiplayer games netcode) also added support, in a preview version for now.
That’s usually a sign nobody uses it because it has at least one large issue. Personally I stopped falling for “there’s now X” advices long ago because if it worked, it would already be mainstream very much heard of by everyone. Sorry for your five hours.
I also found the following in my research yesterday, which looks like a very promising set of abstractions for WebRTC data channels.
So you just never use anything new, always stuck with what has been? Because everything starts with just one person using it, then two, then four and so on, things can't just be popular from day 0.
I'd agree with that chasing the latest fads (no matter the popularity) is a fools errand, and you need to look beyond vanity metrics to evaluate if something is useful or not. Sometimes that means trying things and sometimes even making a hard bet on something that hasn't been demonstrated "right" yet.
You've been able to add websites to the home screen going back at least to the iPhone 5 in 2012. Is it the "PWA" part you're questioning? iOS definitely does have PWA support, although with a few notable limitations that may be deal-breakers for certain apps. Oh, and apparently Apple recently disabled PWAs entirely in the EU.
Apple reversed that decision back in March [0] (expand "Why don't users in the EU have access to Home Screen web apps?")
[0] https://developer.apple.com/support/dma-and-apps-in-the-eu
This rationalization makes zero sense, it's just opening a standalone browser window from a convenient icon shortcut. They could even ignore the manifest.json entirely like Android does half the time anyway cause the implementation is buggy as all hell.
I think the real reason was some kind of retaliation worthy of a baby insanity wolf meme because they were forced to stop reskinning Safari for all other browsers on iOS which was absolutely ridiculous in the first place.
In fact, Apple’s problem was that the PWA serviceworker runs as root, a bad decision made years ago. Enabling Chrome-hosted PWAs means Google gets root on those peoples’ phones.
We can still lambast Apple and go all ad hom, but let’s stay factual?
My least favorite dark pattern is that you first have to change the share menu and add the option. That way it seems less inconvenient to people who've done it before.
To share a fun perspective: Desktop desktops and phone home screens are really revolutionary compared to the browser bookmark menus and app stores are really web directories that are both glamorous and horrible at the same time.
There is sabotage along the way but we are clearly moving forwards.
Imagine an AI starting a thread or a sub forum for each application it can find online. Then have it gather articles about the application and post them as replies or topics. Divide everything neatly over categories (like a web directory) and have it gather usable icons/logos for navigation. By default it only displays software for the users platform or browser but a few check boxes in advanced search settings can change the selection.
It's off topic, but I don't think this was true once the HTML Weather and Stocks 'widgets' failed on iOS. Anything Apple said publicly was just saving face until their SDK was ready for public consumption.
https://github.com/khmyznikov/pwa-install (Try on device: https://khmyznikov.com/pwa-install/)
Edit: Err, sorry to pile on. I see others have already mentioned this.
Most of them, even if native don't really work without the API based backend.
If we take out the garbage apps, copycats, and games without DLCs, most stuff is some variation of form over data.
And those that are really special, needing native APIs, working offline by default, can probably be reduced to about 10% of apps.
Webdev is constant reinvention of a wheel in all sorts of wrong ways, with “components” on the same level of ui quality.
Many apps are just electron apps or vb-like (x,y,w,h) forms slapped together by someone barely familiar with a platform IDE. But the rest is absolutely superior to the “web”.
Also, if a company has a mobile app, a bad mobile website is less of a problem. Take Takeaway.com. Their mobile site is terrible. But they have a pretty good mobile app, so why would they need to pour money into making the site any better?
But yes, (mobile) web also just needs to do better.
Of course there are use cases that you mentioned are better served via native app. For eg. Apps that need compute or location. That's not the argument author is making.
The downside of delivering everything via app is your device ends up with app sprawl that eats up the resources.
They literally supported this since iPhone OS 1.0 (it wasn’t even called iOS yet). In fact, it was supposed to be the only way to add apps to the iPhone until people complained and started jailbreaking to install their own apps. Apple didn’t release the App Store and the iOS SDK until iPhone OS 2.0
I got a basic offline-capable TODO list (the hello world of web apps) working as a PWA for my iPhone. Almost all of it handed to me by ChatGPT.
If I exit the PWA, turn off WiFi and open the PWA again, the PWA still works.
The only annoying thing is that the way you add a PWA to your Home Screen on iOS is too convoluted to realistically get most people to do it, if you were to make a PWA that you actually wanted people to “install”. Although the JS solution that someone else posted ITT with a small pop-over that explains the steps is pretty near to ok. Certainly helps the situation a bit at least.
Google shows me a bunch of RPGs
https://www.google.com/search?q=browser+based+rpg
FPSes here
or maybe better a video showing some
https://www.youtube.com/watch?v=9ad5jcXPbNw
I know none of them are Edlin Ring, Skyrim, or Call of Duty. One issue with Web games is users's expect them to start quickly so no downloading 80gig of assets like 102gig for CoD Black Ops 6
I think the same dev created https://battledudes.io later on, again based on web sockets. It has/had (haven't played recently) a pretty big player community.
Broadly:
- deeplinking (while technically doable it is still a pita to set up cross platform and require just way too much engineering in the long run)
- branching out UX (it is interesting how many seemingly straightforward processes turn out to be better if you can branch out into something like a tab)
Theory falls down hard.
Multiplayer games you kind of need UDP. You cannot UDP in the browser (WebRTC data channels technically use UDP but that stack is an abomination wrapped in SCTP and DTLS)
This is by no means an exhaustive list, just issues I've dealt with recently. It's better than it was with WebGPU and WASM, some of the gap between a native app and a website is surmountable, but unless you're doing something extremely boring surmounting the gap is hard fucking work.