iOS has Safari Services for when an app wants to support visiting a 3rd party site (so you don't want a WebView) without leaving the app.:
https://images.squarespace-cdn.com/content/v1/52428a0ae4b0c4...
As you can see a clear "Done" button, that's straightforward enough. Hit it and you go back to the app.
But even better, you can promote it to a normal browser tab by hitting the Safari button at the bottom!
That will transfer the tab to Safari with a transition to make it clear now you are in Safari can use the app switcher to go back and forth.
It's a great example of how the SDK baking explicit back handling into components ends up being better than a generic "always goes back" concept apps have to implement.
-
Ironically Android has something similar called Custom Tabs but they're not widely used for multiple reasons: https://medium.com/@vardaansh1/use-chrome-custom-tabs-they-s...
I'm also not sure if they support promotion to a browser tab natively, I'm guessing you have to add your own UI to close it and fire off an intent for the system browser
1. It is a less general solution to a relatively common problem so less beautiful.
2. It probably does not work if your link is a deep link into another app, e.g. Netflix. Especially if that another app can in turn link elsewhere, e.g. IMDB
3. My default browser on Android is Firefox, cause I like my uBlock Origin.
2. Are you talking about Custom Tabs or Safari Services? Because Safari Services handles deep links fine...
3. Custom tabs work with Firefox if enabled in Settings
I mean Custom Tabs, like most of Google's efforts on Android start, is a half-baked concept. And like most of Google's efforts on Android, there is a chance that they will actually flesh it out, and there's a chance they might not and it'll just kinda exist and undergo death by a thousand small-but-unaddressed bugs...
SFSafariViewController had its teething issues back in the day but Apple worked on it until it became something something most apps use, most people use, and it's seamless enough they don't know they're using it (especially because it supports everything Safari does, from ad blocking to reader mode)
1. showSafariView(), that has Done button, that returns back to you, which is less general than show(appView), that has Back button, that works for any appView, system or not.
2. I do not know iOS. You tell me what the experience would be. On Android in RSS I click a Netflix deeplink, that sends me to the show in Netflix app. There I click IMDB link, that opens IMDB app for the show. After checking out reviews I click Back, that brings me back to the show view in Netflix, I check "Add to Watchlist" here, then Back again, and I am back in my RSS reader. My guess is that Done functionality you mentioned before would stop working after encountering the very first deep link to Netflix, which my guess is will either open Netflix website in Safari popup (bad, because not the app) or open Netflix the app (but that won't have the Done button).
3. Good to know.