If they'd like us to start building progressive web apps - they should pull-request webkit with PWA APIs.
Safari doesn't have those because Apple doesn't see them as a priority - but after talking to Apple engineers who work on Safari it turns out that it's mostly because it isn't prioritized and not because they don't want the feature.
It's not _that_ much work either on their end.
If I knew I could get PWA capabilities on an iPhone - I would definitely consider PWAs for replacing native development entirely.
Service Worker and Manifest are in development in Safari. It's quite a significant amount of work to land the APIs
It's not as simple as just forcing it in. SW can require deeper integration with the OS and network stacks that we don't have the ability to change on iOS or macOS.
Thanks for answering. You are correct that they are under development but they're moving pretty slowly and I got the feeling contribution would be really appreciated.
For example, `fetch` in service workers - caching and request intercepting could really improve the "default" iPhone experience in PWAs.
I realize that getting this request is annoying (Build a feature in another browser) but I really think it could significantly push the web as a whole.
It would also be great to see the Chrome team fix some of the more annoying bugs in the existing APIs (WebRTC has some really annoying ones).
Re: web rtc .. yes... And getting the screen share API in would be nice too.
Re: helping. I think we have some engineers supporting our predictablity efforts on WebKit (i.e helping to smooth out edge cases) but I don't think we are working pushing larger features in...
I'd disagree with your assertion that it's not that much work :) Service Workers are their own self-contained JavaScript environments with complicated lifecycles after all.
That said, I've been surprised by now much is possible just using public APIs, but I'm not sure you could pull request a full OS implementation. For example, adding an app to home screen. That's going to need to wire into non-WebKit iOS and macOS code, which AFAIK is not open source. Workers also sometimes run when the browser is not active, and that wouldn't be a trivial thing to add.
Also, Apple started working on the Service Worker APIs recently. It's not clear exactly how much they'll implement, but it's a very positive step.
Safari doesn't have those because Apple doesn't see them as a priority - but after talking to Apple engineers who work on Safari it turns out that it's mostly because it isn't prioritized and not because they don't want the feature.
It's not _that_ much work either on their end.
If I knew I could get PWA capabilities on an iPhone - I would definitely consider PWAs for replacing native development entirely.