14 ms·
Publish your PWA to the iOS App Store
- otterley 5y agoPlease don’t use tools like these. Customers want native apps, not thinly-wrapped websites disguised as apps. (If you reply to this thread, insisting that your customers don’t care, please tell us what your app is and how what value it provides customers that exceeds the website’s functionality.)
- ccouzens 5y agoMaybe no one wants sites wrapped in an app, but some of us do want to use the site through our web browser. So please keep on building web sites/web apps :)
- ChrisMarshallNY 5y agoI won’t exhort folks not to write these things, but I write native apps, using Swift, and built-in Cocoa APIs. As a result of using native tech, I can offer a lot of very cool stuff, but I do know that many customers are fine with a far scruffier UX. They just won’t get it from me.
- bsagdiyev 5y agoI really am not sure why you got downvoted. It feels like people feel strongly they should write crap web apps and force it on users.
- ChrisMarshallNY 5y agoYeah...we're an insecure lot. I've learned not to slag others. I've learned not to say something like "X is bad," and, instead say "I don't like X, for myself, and here's why..." A few posts ago, I said something about X Windows that wasn't really a put-down, but was not complimentary, and that was interpreted as a slag. Some of this stuff is really not worth the increased heart rate to argue about. Apple tends to bring out the beast in people. We have some very strong feelings and opinions about it. I do feel like my own approach to Apple is fairly balanced. I've had a lot of time to have the rough bits worn off.
- smoldesu 5y agoNo. If Apple values their user experience they shouldn't throw developers under the bus. When they fail to adopt cross-platform standards like Vulkan, this is what happens.
- dmitriid 5y agoI wonder if you realize that "cross-platform standard like Vulkan" was announced two years after Apple had already released Metal v1 (after investing significant resources into it)? Why should Apple invest in supporting Vulkan, exactly?
- smoldesu 5y agoThat makes no difference. Apple has the resources to support two graphics APIs at once, and the detriment of not doing so has been setting in quite heavily. The game performance through MoltenVK says it all, really: perfectly powerful GPUs get imposed a 50-75% performance penalty when translating to Metal, which is pretty slow compared to similar systems (like DXVK). If they aren't going to make Metal available on other, non-Apple systems, they should make Vulkan available at least. If they want to attract more cross-platform software, they need to start supporting better dev tooling. If Vulkan was available for Macs, most devs could simply set their build for ARMv8, target MacOS and compile their apps the same way they do for Windows, Linux, PS5, Xbox, Switch, Android, and even WASM. As it stands though, maintaining a separate codebase for a fraction of your users isn't very viable from a developer's perspective, which becomes glaringly obvious when you look out on the seemingly infinite graveyard of depreciated MacOS apps and games.
- dmitriid 5y ago> That makes no difference. It makes all the difference > Apple has the resources to support two graphics APIs at once Why should they? > The game performance through MoltenVK says it all, really: perfectly powerful GPUs get imposed a 50-75% performance penalty when translating to Metal, which is pretty slow compared to similar systems Why should Apple care? Their systems are selling like hot cakes, outpacing everyone. > If they aren't going to make Metal available on other, non-Apple systems, they should make Vulkan available at least. Once again, why should they? > If they want to attract more cross-platform software, they need to start supporting better dev tooling. I think they've been quite clear that they don't want more cross-platfrom software. > from a developer's perspective, which becomes glaringly obvious when you look out on the seemingly infinite graveyard of depreciated MacOS apps and games. The lack of games has always been the case, even when OpenGL was the only way to make gaming graphics on MacOS. Apple has never care about gaming on their desktops and laptops. And gaming is doing just fine on the iPhone.
- folmar 5y agoMany things that need to be apps on iOS are fine as PWAs, just Apple's crippling of PWA functionality (no notifications+no background sync mean you can't have your data up to date, all data deleted after a few days if not on the home screen) forces vendors to wrap them as apps. The missing value is offline access to whatever data you need at the moment, for example your schedule for a conference - the cellular networks failing at large events due to overcrowding are common.
- r_singh 5y agoReviews anybody?
- Gys 5y ago> PWA Builder was founded by Microsoft as a community guided, open source project to help move PWA adoption forward.
- pjmlp 5y agoAlso because they adopted PWAs as replacement for WinJS.
- TranquilMarmot 5y agoThis sounds great; I've made a few PWAs and wanted to publish them on app stores but couldn't quite figure it out so I gave up. Might give this a shot.
- astashov 5y agoIf it works, this is awesome. I've used it before to add my PWA (liftosaur.com) to the Android store, and it's way easier to get users from there, than to explain them how to install PWA. Will try it out for iOS definitely.
- danr4 5y agoGot excited at first but it's missing push notifications which is 90% of the reason I even want an app
- marvindanig 5y agoTry Red Goose? https://goose.red https://goose.red We provide push notifications along with a few more important things that you'd need to wrap your web-app with. Full disclosure: I'm its founder and you can reach me on marvin@goose.red.
- judah 5y agoThanks for the feedback. We're looking to add that in a follow-up release. In the meantime, if you really need it, have a look at this project: https://github.com/khmyznikov/ios-pwa-wrap https://github.com/khmyznikov/ios-pwa-wrap It's a iOS PWA template that uses push notifications via Firebase.
- ghaff 5y agoCurious. What are all these things you want to get notified about? I pretty much have all notifications turned off besides messaging, phone, and alarm.
- danr4 5y agoI'm a developer of a web app where users interact with each other. Notifying users on in-app activity is the absolute most important thing for them and for us.
- sergiotapia 5y agoAnd PWAs will never get that support because it's in Google and Apples best interest to block it. Some sad shit
- Someone1234 5y agoI'm confused, what are Google blocking? iOS famously lacks push notification browser support, but Android's browser and third party browsers on the platform all support it on Android (and have since forever).
- l72 5y agoI have used this for some of my web apps, and it has been really great to have them in the store. However, Apple has given me a hard time on some of my apps since it is against their rules if your app doesn't provide additional utility over a website.
- ngokevin 5y agoWhat sorts of apps were given a hard time? Like where's the line between a full webapp and website. Does the webapp need to hook into device-specific APIs to not be a website?
- l72 5y agoIt is hard to say with Apple, it seems highly dependent upon the reviewer. In one case, I just resubmitted the same app with a different build number and it then passed through review just fine. /shrug
- samwillis 5y agoWhats the advantage of this over Capacitor (https://capacitorjs.com https://capacitorjs.com) from the Ionic team? Capacitor supports notifications and would be more extendable going forward I think. Although maybe more work upfront?
- riantogo 5y agoCan you accept in-app payments with Capacitor? Asking because I did not see it listed as an official plugin. My goal is to create a simple kids app that can be monetized via monthly subscription. I can build a traditional website, but don't have much clue on the easiest way to also publish it as an app (both for iOS and Android). Any recommendation on how to go about it if my skill is web development?
- yesimahuman 5y agoAbsolutely, you can do anything native in Capacitor. In this case we have a guide: https://capacitorjs.com/docs/guides/in-app-purchases https://capacitorjs.com/docs/guides/in-app-purchases
- riantogo 5y agoAwesome. Thanks.
- judah 5y agoI'm no expert in Capacitor, but from what I understand, different goals. Capacitor aims to give expose native functionality via runtimes and plugins. A kind of mixed web/native hybrid. PWABuilder's aim is more limited in scope: to make PWAs great on iOS. We are not so much concerned about exposing native functionality, and more concerned about making PWA functionality work everywhere. We address some of this in our iOS FAQs: https://blog.pwabuilder.com/docs/ios-faq https://blog.pwabuilder.com/docs/ios-faq
- samwillis 5y agoJust had a quick look and it seems you can achieve the same thing with Capacitor: https://capacitorjs.com/docs/web/progressive-web-apps https://capacitorjs.com/docs/web/progressive-web-apps
- Aulig 5y agoDisclosure: I operate a similar but commercial service at https://webtoapp.design https://webtoapp.design Whether your webview app will get published in the app store depends on how "app-like" your PWA looks and if you get a strict app reviewer. I instead add native components to the apps I create to make sure they look more like an app, which works well to get the app approved by Apple. From my experience, push notifications are a very important feature too, almost all of my customers want that. I haven't found a way to reroute browser notifications to the app, so instead I use firebase to let my customers send notifications.
- sebslomski 5y agoLooks really interesting. Well built website with very well working CTA!
- Aulig 5y agoThank you, I appreciate the feedback!
- judah 5y agoI wasn't familiar with your site. Looks really cool, and you support some platforms we don't. Best of luck to your project! Seems Firebase is the way a lot of folks are achieving Push Notifications on iOS.
- Aulig 5y agoThanks! Yea, Firebase is pretty nice because you can use it on both Android and iOS and it's free :)
- dorianmariefr 5y agoOpenSignal is free too and works really well
- icelancer 5y agoVery interesting - my co-worker reached out to you to see if one of our sites would work. It's a collection of analysis tools written in JS meant for the desktop web, but we can reconfigure it to work better with responsive viewports. Would really like to get something like this as a proof of concept for our clients who just love mobile.
- slt2021 5y agocan this dramatically reduce cost of mobile app development, esp for small-to-medium businesses?
- judah 5y agoWe think so. PWAs can alleviate the need to build 4 separate apps: - Web app - Android app - iOS app - Windows app With PWAs, you can build a Progressive Web App, and publish it everywhere. We recognize that this doesn't work for every scenario -- maybe you need to use some non-standard proprietary technology for instance -- but for a majority of apps, it works well and saves you development costs.
- scarface74 5y agoFor a worse user experience…
- ccouzens 5y agoIn a lot of ways web apps are more native and a better experience. "Native" apps often bring their own file picker and their own camera control for no good reason. Web apps use the native versions. It's easy to run multiple instances of a web app simultaneously (maybe you need multiple logins or to refer back and forth between different screens). That functionality is likely missing in the native app.
- fullwaza 5y agoNeat, but what stops someone from publishing your PWA under their own dev account? Sure you still control the site and data, but they could publish with inappropriate icons, wording, etc. It seems like maybe there is some potential for abuse.
- my123 5y agoApp Review, the same as any other app really. (and ofc, the risk of false negatives is present)
- Drew_ 5y agoThis potential for others stealing your content has always been present though I suppose this tool would make that even easier. Android has the Trusted Web Activity which somewhat solves this problem: https://blog.chromium.org/2019/02/introducing-trusted-web-activity-for.html https://blog.chromium.org/2019/02/introducing-trusted-web-ac...
- crehn 5y ago> Progressive Web Apps (PWAs) are web apps that use service workers, manifests, and other web-platform features in combination with progressive enhancement to give users an experience on par with native apps.
- raldi 5y agoThank you
- allan_s 5y agoAt rosaly.com we've built our "app" with something similar we didn't go the PWA way (because of app store), but something quite similar to the article 1. we have a symfony website with simple web pages but with a "app look" (yes no react , no api, like it's the 2000s all over again) 2. we have a think react native wrapper (at first 17 lines, no it's 90s as we support push notification, hardware back button etc.) that embed a react-native webview so we have nearly no javascript, just modern css and we pay really attention to performance and it's a dream 1. no javascript removes a lot of hassle 2. no api removes a lot of hassle too 3. html+css and we support all platforms, so a good design and backend engineers is all you need we're live for a year, have raised money and have customers. We've been through several store update (to keep react native up to date and put some changelog). I call it "retrogressive-app"
- nathancahill 5y agoIs that small react-native wrapper viewable somewhere? I'd love to do something similar.
- dorianmariefr 5y agoI can share you mine https://gist.github.com/dorianmariefr/e8422538a4eefcc99aa92d91b147be12 https://gist.github.com/dorianmariefr/e8422538a4eefcc99aa92d...
- andai 5y ago2021: Year of PHP in the pocket
- simonbarker87 5y agoSounds great, shame I only speak English so can’t have a proper play with it but this approach sounds delightful. I’ve recently started a project with just html/css and vanilla JS on the front end - no react etc and it’s very nice
- geoka9 5y agoThank you for your post! I'd love to read more about your stack, so of you do a blog post, please let us know :) Would love to see a video of your app in action, too!
- kristiandupont 5y ago>Despite several meetings, we were unable to get an official answer from Apple. Sigh.
- smoldesu 5y agoWhy does nobody hold them accountable for anything again?
- nathancahill 5y agoHow's the camera integration? Can you programmatically open the camera to capture a picture for uploading? Or does it still need the "file picker" menu interface?
- dfabulich 5y agoApple has a rule forbidding this exact thing. If you get lucky and get a lenient app reviewer, you might be able to sneak a PWA onto the App Store this way, but even if you do get approved, you're just as likely to get rejected when submitting a bug fix or compatibility update. (This has happened to me a number of times before.) > 4.2 Minimum Functionality > Your app should include features, content, and UI that elevate it beyond a repackaged website. If your app is not particularly useful, unique, or “app-like,” it doesn’t belong on the App Store. If your App doesn’t provide some sort of lasting entertainment value or adequate utility, it may not be accepted. Apps that are simply a song or movie should be submitted to the iTunes Store. Apps that are simply a book or game guide should be submitted to the Apple Books Store. > 4.2.2 Other than catalogs, apps shouldn’t primarily be marketing materials, advertisements, web clippings, content aggregators, or a collection of links. A "web clipping" is Apple's way of referring to a web site zipped up in a WebView, and that's what rule 4.2.2 explicitly forbids. Apple has rejected a bunch of PWAs wrapped up in WebViews like this over the years, and when they do, they're normally rejected under 4.2.2. Apple doesn't always notice, but they notice just often enough to make this an unacceptable risk for any app you actually care about. IMO the big mistake PWA Builder is making here is that (per OP blog post) they do not offer any "iOS-specific integrations." > Our template doesn’t include support for iOS-specific functionality like Apple Pay, Sign In with Apple, HealthKit, etc. Those iOS-specific integrations are the only thing that would make these PWAs allowable under rule 4.2. I have gotten PWA games approved by pointing out that they support Game Center, for example. Overall, I think PWA Builder is off to a good start, but they need a lot more work to be viable.
- reificator 5y agoThis seems easy to solve given Apple's rejection of PWA support in Safari, just add a feature that doesn't matter much, like an (opt-in!) notification on updates. Safari (and therefore all browsers) on iOS don't support notifications, so you're doing something you couldn't do from the website. https://caniuse.com/?search=notifications https://caniuse.com/?search=notifications
- aaaaaaaaaaab 5y ago
- dorianmariefr 5y agoMy app is a React Native app with a webview, quite simple to create/manage/modify and I have notifications, native logins, etc. with communication between the webview and the native app
- amelius 5y agoWhy are they helping Apple kill the web?
- dmitriid 5y agoGoogle: forks the web with AMP, rams its own poorly desinged, Chrome-internal APIs through standards processes, continuously gaslights other browser developers through a multitude of talking heads. Safari: is more-or-less on par with Firefox in the number of web apis shipped Firefox continuously takes a stance together with Safari against Chrome behaviour. Web devs: why is Apple killing the web?
- w0mbat 5y agoWrite a real native app. Stop trying to get out of doing it properly.
- smoldesu 5y agoWhy? Apple clearly doesn't want me writing native apps for them.
- w0mbat 5y agoI had to check Smoldesu's post history to understand this comment, as Apple loves people writing native software, even if they don't care if devs can make a profit and the store is a mess. Smoldesu is mad that Apple will not support Vulkan. Apple is pretty clear about wanting people to use Metal, their own 3D API so I think expecting them to support anything else is optimistic. Personally I am still using OpenGL on Mac and iOS, same code works fine on both. OpenGL is deprecated but still works great, plenty fast enough for my one 3D app, FlagWaver (Mac/iOS).
- smoldesu 5y agoThank you for your crack forensic work, this so-called 'Smoldesu' character really seems to be asking far too much for a company like Apple. How can someone even expect them to support more than one graphics API when they're not even the largest company in the world anymore? Truly ridiculous. Every real developer just splits their codebase into two separate portions, one for Windows, Linux, BSD, Switch, PS5, and Xbox, then one for MacOS and iOS. Sounds like the parent is just butthurt that they don't have the time to support multiple platforms and are too poor to afford a suite of Apple products to test on. What a reprehensible dev. What do they think this is this, the future? The technical challenge is simply too great for Apple, they'll be lucky if it shows up on the 2027 Macbook Pro redesign!
- w0mbat 5y agoWho peed in your cornflakes? Lighten up.
- veesahni 5y agoWe have a webview-wrapped-spa on Google Play without fuss. But haven't tried to push to App Store because of 4.2.2 If it looks like a native app, and feels close to a native app.. it sounds like Apple lets it slide? Has anybody had experience publishing a b2b webview-wrapped-spa on the app store?
- synergy20 5y agoThe sole reason Apple rejects PWA is that, PWA has the potential to threaten its apps store revenue. When you can run many apps directly from the browser why do I need write everything as an iOS app. It's a shame that Apple is the only big player that does not even want to support PWA. Apple is truly a closed ecosystem for pure greed.
- dmitriid 5y agoCan you please show me this wonderful magical standard of PWA that Apple doesn't support. Or maybe you mean Apple doesn't support some standard that you randomly decided is a must for PWA?