React Native WebView with iOS and domStorage - ios

I'm currently working on a React Native app which embed a WebView.
The app loaded in the webview uses Dom storage. So, on Android, I must set "domStorageEnabled" props to true, otherwise my app doesn't load.
I wonder if my app can run on iOS because "domStorageEnabled" is an android only props.
Does iOS dom storage is enabled by default when using the WebView component?

Tried this at work with a Mac and I can confirm that dom storage is enabled by default on iOS WebView component.

Related

Remote Vue.js app not works into a UKWebView on iOS 12.x

I have this strange behaviour:
I implemented a single page application using Vue.js.
This application is deployed on a remote service and it will be loaded into a mobile web-view (just using the url of the service)
This works fine on iOS and Android.
Only on a iOS device, using iOS 12.x version, the application is not loaded: I see a white page and I immediately receive a didFInishLoading callback.
I'm not able to understand the causes.
What can I do to understand the error?
Searching on the web I'm reading that the WKWebView on iOS 12 doesn't support javascript ES6. Could be this the reason?

how can I know if a web api is supported by WKWebView?

I am a web frontend developer and working on buildiing webview pages in hybrid app for the first time.
I was considering Page Visibility API and trying to find out if it is supported by webview browsers, like WKWebView and Android Webview, and couldn't find informations about WKWebView support.
I know there is a safari on iOS tab in caniuse.com, but I am not sure if it means WKWebView supports the same.
so I want to know
if safari on iOS supports something, does it mean WKWebView supports the same?
if not, where can I find informations about WKWebView support?
thank you in advance.

What is the browser used by cordova on iOS?

I understand that Android uses the WebView which is based on Chromium (from version 4.4), Does cordova on iOS uses Safari or something else?
Safari for iOS is using WebKit2 (starting from iOS 8).
Details about WebKit2.
This seems to answer to your question.
This plugin makes Cordova use the WKWebView component instead of the default UIWebView component, and is installable only on a system with the iOS 9.0 SDK.
UIWebView is a part of WebKit.
cordova apps use the UIWebView component to load the apps, it's based on safari (WebKit2) but it doesn't include the Nitro javascript engine (the one safari app uses), so your cordova apps will be slower than safari app executing the same code.
Once cordova 4.0 is out, it will include "plugable webviews", that means, you will be able to choose which webview to use from any of the webviews available on the SDK (right now UIWebView and WKWebView)
If you can't wait for cordova 4.0, you can use the WKWebView plugin
WKWebView is based on safari too, but it uses the Nitro javascript engine, so it's as performant as safari app
Here you can read a full article about the comparison between UIWebView and WKWebView
The main difference is, as I mentioned before, WKWebView uses the Nitro javascript engine that is faster than the one used on the UIWebView,
and WKWebview supports IndexedDB and ObjectStore ArrayBuffer.
CSS compability and rendering is the same for UIWebView, WKWebView and safari app

Can we merge Hybrid app with Native iOS App?

I have one Hybrid app(build on Phonegap) and one iOS App. The requirement is to merge both app into single app. some functionality drive from native and some through hybrid, is it possible?
Yes, it's possible. You can embed the phonegap webview in any native app, but as you already have the phonegap app created I recommend you to add the iOS app inside the phonegap app as if you do so, you don't have to manually add and configure phonegap in your native app.
You'll need a native tabbar controller or something like that to switch between the native view/viewcontroller and the phonegap view/viewcontroller
Here you can find the information about phonegap as a component (embeding phonegap webview, also called cleaver), but I couldn't make it work to add phonegap plugins since phonegap 3.0, that's why I recommended you to start from the phonegap app instead embedding the phonegap webview in your native app
Yes, you can add the cocoa native app as plugin in PhoneGap and then configure it with config file.

Ability to embed safari browser in a native mobile application

Is it possible to embed the safari browser or a downloadable browser such as Google Chrome into a native mobile application? For example, the app runs entirely independent, but has the option to open the safari browser within the application, rather than opening the Safari that is installed into the phone.
No, this is not possible in iOS. Use a UIWebView instead.
Use webviews instead and here is a list of 3rd party webviews which have more or less the same as safari iphone https://www.cocoacontrols.com/search?utf8=%E2%9C%93&q=webview

Resources