intel xdk really slow, including the demo - intel-xdk

I've been creating a game for the last few weeks and everything seemed to be fine on the emulator. But when I tried testing and building it for my Android device (Sony Xperia Z), it was very slow. I tried one of the demo applications they gave with the XDK (Rolling Can) and this one was very slow as well.
I'm wandering if everything I did was for nothing, or that there is a reason for this problem. Can someone help?

The emulator in the Intel XDK is an implementation of the Ripple Cordova emulator. It is running in a desktop browser that is based on the Chromium project. Thus, it has substantially more resources (especially CPU and RAM) to draw upon than your phone or tablet does.
Likewise, your HTML5 app runs inside what is commonly referred to as a "webview," which is kind of like an embedded browser. Some features in this webview are disabled by the OEM firmware, it varies, there is no hard rules.
To address the wide variance in webview performance and HTML5 features that you find on Android devices The XDK also provides a build option based on the Crosswalk open source project. When you build your app using the Crosswalk build option you'll get consistent features and, generally, much better performance on your Android device. (This is only available for Android 4.x devices.) This comes at the cost of adding about 15MB to your application size, because a complete embedded browser is included with the application.
Give the Crosswalk build a try and see if that provides the results you need.
As of February, 2017, the Crosswalk Project has been retired. Crosswalk 23 was the last version of the Crosswalk library produced by the Crosswalk team. You can continue to build for the Crosswalk library using Cordova CLI or PhoneGap Build, but no further updates to the Crosswalk library will occur beyond version 23 (FYI: the Crosswalk 23 library for Android is based on the Chromium 53 runtime release).
If you are only distributing your mobile apps on Android 5 and greater there is no compelling reason for including Crosswalk as part of your app. The Android 5+ webviews are regularly updated, via the Android store, to include an up-to-date copy of the Chrome webview, providing good performance and current features.

Related

can i create android and ios applications with flutter without android emulator , with just flutter sdk and vscode and browser

I learned dart and I want to access flutter, but I was surprised by android studio because my computer is weak.so,can i create android and apple applications with flutter without android emulator , with just flutter pack and vs code and browser
If you only work with simple UI widgets yes you can use the embedded development tools within the browser to get the dimensions of the device you working on like so
But, most of the cases there are libraries work differently according to the platform so it might work with the web but not with android or iphone and you can not test it without the actual device.
And yes VS code is a very good with flutter and might be better than android studio but it won`t make the difference you expected, in my opinion what make it faster is to use an actual device for testing and not using the emulator, also don't use a lot of application along side with the IDE, like if you are using spotify, listening to youtube video or following a tutorial just use your phone because browsers as bad as emulator.
You can use a text editor and the command line tools to build flutter apps and test them on a real device.
I wouldn't recommend it though.
You could give VSCode a try as it is a more lightweight environment.
Your computer should handle testing on a real device, which requires only a USB cable. Accessing the application in the browser would probably eat a lot more memory. You can read about how to use the real device with flutter here.

crosswalk in Ionic2 increases app size by 25 MB [duplicate]

I really hope I'm doing something wrong. I've added crosswalk to a project and have had some serious app size increase. To test I've done the following.
created a new ionic project
added my app code to /www/
added ngcordova and various plugins
Ran ionic build and drop the apk onto a Genymotion emulator. The app was very slow but had a app size of 8.01mb (once installed - checked with app manager).
Then I deleted the app from the emulator
Ran ionic browser add crosswalk
Ran ionic run android which installed the correct .apk on the emulator. On checking in manage apps the app size is now 79.36mb!!! Thats a 71mb increase! Most places say 20mb at most but 71mb!!!
Can someone tell me what I've done wrong?
When I added the Android SDK I did add all the tools ad platforms availabe in the SDK manager, did that have some effect?
If this isn's fixable it's a show stopper for me, which is a shame after spending weeks developing an app...
Please help!
I'm also running into that issue. Unfortunately using crosswalk will definitely increase your apk size. However, I found some way to at least reduce the apk size. For instance you could make use of the crosswalk lite. It may reduce your apk size for about 15 MB (see crosswalk lite).
You can also specify that you don't want to build the projects for two architectures (explained here).
Same problem here. I think promissed size of 20Mb is for the apk file which is compressed, you are looking at installed size on device.
You can check generated APK size on platforms/android/build/outputs/apk/ or platforms/android/ant-build/
I think the problem you're encountering though Crosswalk related, it's emulation related. I've tried emulators from both Android Studio versions and Genymotion. They both didn't work well for hybrid app testing.
My advice is to try Chrome Device Inspector along with actual device testing. I don't think anyone will argue that's the best way to ensure performance. AWS Device Farm is just one of many offerings that will spit out physical devices for testing. There's even services that let you outsource testing on different devices by real people, just can't think of the name of it right now...
My current favorite is Cordova Tools for Visual Studio Code, but it has been buggy for me lately.
However, I'm in the early stages of a fleet of Cordova apps and was alarmed at the overhead Crosswalk has. ~20MB extra to your APKs, and ~70MB to the installed size of your application. That's pretty alarming, considering the apps we use it with, with resource assets (images, etc.) are about 1/10th the size of this one plugin!
We have one app that has actually degraded with Crosswalk. My theory is that Crosswalk doesn't do a good job parsing non-standard HTML which is a core feature we have since we have XSLT transformed XML which winds up being non-standard HTML. Traversing it is extremely slow compared to the default WebView. We do a lot of manipulation with raw DocumentNode objects, so maybe that's it. That said, I'm so surprised that if it's slow traversing/appending HTML via vanilla JavaScript that these other apps are seeing performance gains!
I also learned last night there is Shared Mode with Crosswalk which allows multiple applications that use Crosswalk to share one instance.

Using an unsupported API in Android Wear

I'm really keen to develop a web browser application for Android Wear devices. To make such application I need a WebView object, but the major problem is that Google has made the android.webkit API unavailable in that OS.
Since Android is open-source, is it technically possible to manually include the needed libraries, by coping them from the android source code on GitHub into my project? Are they going to work like as in a normal Android device, and is it legal?
Here is the link to the API I'd like to use.
Developing a browser based on WebView is not a good idea anyway. Although historically Android Browser was based on WebView, it had to use a lot of hidden APIs in order to work. All more or less functional browser apps based on WebView have to do the same, which makes them fragile. Also, the resulting browser app will not be as secure as a real multi-process web browser.
A better idea is to take Chromium and build it using Wear SDK. And there is already one built this way.
You don't have access to a complete source for Android Wear to build a complete image.

ionic sidemenu on mobile browser not working smoothly

I am developing mobile web app using ionic sidemenu, but it is not as smooth as it should be. When I open sidemenu using slide left/right, I am getting less than 30 FPS as shown in figure.
How can I improve the performance?
Reaching 60 FPS would be great!
AppGyver's Steroids tooling also provides you with access to Crosswalk on Android. You can run it in your Ionic project directly without modifying any files.
Also, Supersonic's sidemenu/drawer is fully native, so if you're up for migrating, it'll run way faster. :)
(Disclaimer: I'm a programmer for AppGyver.)
My advice is to use Crosswalk instead of the Cordova as the webview for the app.
While both share the same end goal, they are different:
Cordova, from the Apache Foundation, uses the regular (pre-lollipop) Android webview, which is based on Android's stock browser since its inception.
The Crosswalk Project, created on the Intel Open Source Technology Center, is different. It wraps your app with Chromium, the open-source base code that gave birth to Google Chrome, which brings numerous performance enhancements: css3 transitions, animations, 3d transformations, html5 support, remote debugging and much better javascript support and performance.
At the time of writing, the Ionic team is already working on a beta version (1.3.0-beta1) that uses Crosswalk instead of Cordova. Not really stable just yet, but a huge promise.
In any case, you can use Crosswalk today, by manually copying your Ionic project's 'www'
folder content to the project folder inside Crosswalk folder and run it. You'll need to setup some manifest files previously, so read the docs.
In any case, it's not hard at all to try, and I'll recommend it everyday for all projects pre-Lollipop. If you're targeting Lollipop/Android 5 versions, you don't need it, because the default Webview in these versions is already Chrome-based.
Hope it helps.

Titanium and PhoneGap

I'm new to Titanium and PhoneGap and analyzing a bit the two is not possible to develop iPhone with a PC with windows using either of the two right? Well I mean in PhoneGap in the most current versions is only possible to develop without publication.
I wonder if this is actually correct and whether there is a way to make an application to one of these two technologies (Titanium and PhoneGap) Fragment as a view of the native Android devices for both Android and iPhone / iPad. Improving question, make an application to view the devices can be adapted for smartphones and tablets for better use of the screen?
If yes there is some example code and/or source of research?
PhoneGap has an offering called PhoneGap build which just came out of beta. It lets you build your apps in the cloud without a Mac.
You might still need a Mac for certificate (p12 bundle) generation or you can use a service like Mobundler.
For Titanium, a recent service called Foundry22 lets you build your apps without a Mac or any native SDKs installed locally. You just need Titanium Studio and a hosted Git repo.