What is the browser used by cordova on iOS? - 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

Related

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.

React Native WebView with iOS and domStorage

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.

Does mobile safari use UIWebView class?

I have error in a phonegap application and in my website when I open it in chrome browser in IOS. I suspect that it happens because of chrome and phonegap use UIWebView class. But there is no errors in mobile safari. So, I would like to know if safari use this class too.
No. Chrome does indeed contain a UIWebView, but most of MobileSafari is built on WebKit.

Corona SDK native WebView browsers

What browser is using Corona SDK for the native WebView?
I presume for iOS it is using an Objective C WebView which should use Safari, and for Android it's using Chrome, but I haven't been able to find any reference to it.
I don't know abut Android But iOS UIWebView is not safari that is sure.
You can rad some difference here : UIWebView and Safari comparison
One more article about this : Apple confirms some WebKit optimizations unavailable to iOS Apps
iOS 8 give new WebView named WKWebView One good article about this is here : NSHipster : WKWeb​View
But I don't know that Corona is going to use WKWebView or not.

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