Pergunta

I can't find information on what exactly Intel XDK produces when it is compiled in the cloud and distributed to the various stores.

Can you help me to identify which of the following statements are true (or if they are both wrong then give an answer).

  1. the app is bundled via node-webkit into a standalone app which is distributed to all stores. This would mean that I have chromium running on all smart phones and I would have all html5 features that chrome supports.
  2. the app is bundled for a specific browser on the guest OS. E.g. Internet Explorer on Nokia, Safari on IOS, etc. This means that I have to watch out for html5 support on the specific target platform.

The reason I am asking is that it makes a big difference whether you're developing for one browser or for many. In my particular case, I am looking for specific html5 features that are not yet supported by all browsers (especially WebRTC to allow access to the camera for video streaming.)

Foi útil?

Solução

The XDK builds a webview app (or hybrid app) that runs in a webview on the target platform. That means it runs in a Safari webview on iOS, on an Android webview on Android targets (except for Android 4.4 which uses a Chrome mobile webview), on Windows Phone it's an IE10+ webview, etc. It's essentially the same as a PhoneGap or Cordova app.

One thing that is very unique, for Android 4.x platforms if you build for Crosswalk you'll get a custom webview that is based on Blink and is identical for all Android 4.x systems (sorry it doesn't run on Android 2.x or other targets). Since Android is the toughest webview to work with, the Crosswalk target is really a useful option, it makes life much simpler.

So that means that, yes, you must account for differences in the platforms, but if you can get it working first on Android, the rest are generally limited to dealing with differences. If you use Crosswalk, then Android is easy. After that iOS is probably next easiest. Windows is a mixed bag and is the hardest to debug, due to limited tools for accessing the webview.

p.s. You can look inside the package generated by the build system to see what is in there.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top