crosswalk-project / crosswalk-ios

Crosswalk Project for iOS
https://crosswalk-project.org/
BSD 3-Clause "New" or "Revised" License
117 stars 77 forks source link

Crosswalk iOS plugin for Cordova #47

Open hanthomas opened 9 years ago

hanthomas commented 9 years ago

Is there any intention of creating a Crosswalk iOS plugin for Cordova, just like there's already one for Android? Currently, there's only viable solution on iOS with Telerik WkWebView plugin for Cordova. Our initial experience with it hasn't been all that great. We are already using Crosswalk Android plugin for Cordova, and it has worked great. It would be fantastic if one for iOS was on your roadmap.

jondong commented 9 years ago

@hanthomas, sorry for the late response. I think this is a good suggestion, but I'm still questioning the necessity of doing this.

As you know iOS is a restricted platform, it is not allowed that we provide a chromium based web engine with the Crosswalk web runtime, so there's no difference between XWalkView of Crosswalk iOS and Telerik WkWebView, both of them are based on WKWebView with an embedding http server to fix the WKWebView's known issue that the "file://" scheme can not get loaded. So I'm afraid that you can not benefit much from XWalkView of Crosswalk iOS if you only take it as a replacement of the Telerik WkWebView. The story on iOS is totally different with the one on Android. :(

But from the perspective of prompting Crosswalk iOS through the Cordova community, I think this is a worthy try. I'll see what we can do to make it happen.

cutout33 commented 9 years ago

+1

hanthomas commented 9 years ago

@jondong - Thanks for your explanation. Still, I think it would be worth it for Crosswalk project to produce the iOS plugin. You have very good track record for stability and developer support, such that Crosswalk is the defacto replacement for Android WebView. And your Cordova plugin for Android just made the switch to Crosswalk a no-brainer. It would be nice for Cordova developers to benefit from the same on iOS.

MarcBT commented 9 years ago

Hi all, I am trying to use WkWebview in an ionic app and I recently tried to use crosswalk project for ios.

Like @hanthomas, I first tried Telerik WkWebview. Perfs are good but I am still experiencing crashes of the WkWebview, leading to a restart of the app (fix added in telerik wkwebview plugin).

Therefore, i tried to use Crosswalk Project for iOS (as described in Cordova Plugin Support page : http://bit.ly/1JJIDvu), but I did not succeed to get a stable build ('dyld: Library not loaded' error, i can open a new issue if needed for that point). My initial hope was to fix the wkwebview crash, but I am not convinced anymore it will be the case according to @jondong's answer.

@hanthomas, can you please explain why your initial experience with Telerik plugin was not so good. And did you find a way to build a stable version of your project with or without the Crosswalk project ? Your answer can let me know if it's well worth the effort for me to move my project to Crosswalk for iOS.

Thanks in advance for your answers.

speigg commented 9 years ago

:+1: it would totally be worth it to have a crosswalk-ios cordova plugin. Not only does it solve the file:// issue with WKWebView, but it would enable the use of the crosswalk extensions API within the cordova ecosystem.

hanthomas commented 9 years ago

@MarcBT - Sorry for my late response. The main problem we had with the Telerik WkWebView was that it did a terrible job rendering our app. We were using AngularJS with ngMaterial, so that might have factored into it. But, we didn't have any such issues on any other browser/platform, including Crosswalk WebView plugin for Cordova. Honestly, I haven't tried Crosswalk for iOS. Since we use Phonegap Build, that wasn't really an option for us. Hence our interest in the Cordova plugin for Crosswalk iOS.

baleboy commented 9 years ago

Unfortunately Crosswalk for iOS won't solve any rendering or stability issues with WKWebView. Unlike Android, on iOS we are forced to use the system webView and Crosswalk is just a wrapper around it. However if you have tried it and it did indeed solve a problem you were having, we'd like to know.

cutout33 commented 9 years ago

well, for me WKWebView reduced the CPU utilisation dramatically! and it would be a cleaner solution to maintain only crosswalk rather than crosswalk and Telerik plugins...

baleboy commented 9 years ago

Have you tried the Cordova WKWebView plugin? https://github.com/apache/cordova-plugins/tree/master/wkwebview-engine

speigg commented 9 years ago

@hanthomas There shouldn't be any performance difference between Telerik Wkwebview and Crosswalk iOS.

@baleboy I tried the Cordova wkwebview-engine. It doesn't seem to be ready yet, doesn't work at all. I understand that Crosswalk iOS still has to use the system webview, but if it fixes the local file:// issue and also allows the use of the crosswalk extension API in Cordova, then that is certainly very valuable (especially the extensions API, as I'm sure the file:// bug will be fixed eventually...)

baleboy commented 9 years ago

Thanks for the feedback, definitely a feature we need to evaluate

jondong commented 9 years ago

Tracked as a feature in Crosswalk Jira: https://crosswalk-project.org/jira/browse/XWALK-4911

vitto32 commented 8 years ago

+1 Even if Android and iOS version are completely different, very often the use is the same (webgl or html5+ crossplatform development)

dgroh commented 8 years ago

+1

WkWebView still not working fine with some specific layouts

diegopamio commented 7 years ago

I need to use SpeechRecognition api, which won't work without XWlak :(