45688 - Android : please don't use only the simulator from the Android SDK

I know, this is probably WAY premature, as we heard from the Android project only earlier this month.

But I am already familiar with B4A which, without the high quality of the Xojo IDE, is until Xojo releases its Android product, the only game in town.

The simulator that comes with the Android SDK is an absolute catastrophe, as compared to the iOS simulator. It takes forever to initiate, and is extremely sluggish.

I would love Xojo to consider being able to use a real device, similar to what B4A does with B4A Bridge.

The B4A IDE connects to the device through WiFi, and sends the app directly to the device to run. It is much, much better than the simulator. It is also way easier than having to fetch XCode to install the app.

<https://xojo.com/issue/45688>

1 Like

[quote=295606:@Michel Bujardet]until Xojo releases its Android product[/quote]Xojo’s Android product? That sounds interesting. :slight_smile:

http://www.bkeeneybriefs.com/2016/10/xdc-news-android-support/

1 Like

For Android, it’s much faster with Genymotion (preferred) or Intel HAXM.

Well, I trust Genymotion is great, if only they provided a download, that would be even better. I will look into Intel HAXM.

At any rate, I do like what BA4 Bridge does : the instant you press run, the app is generated and installed on the device, so can test it on the real thing.

I wish we had that for iOS.

All development tools do so. In fact, it’s the same thing. The Android emulator is a true emulator: it’s a virtual machine, it emulates the microprocessor, all the physical environment, the operating system and APIs, etc. The advantage is that you can work with different settings (available RAM, storage, version of the API, etc.) and with a device similar to a physical device (no bad surprise then on a physical device). That is why it is very slow, that is depressing indeed, virtually unusable without genymotion/haxm.

So, once the built application, the app (apk file) is generated and installed on the device, physical or emulated. I think that there are virtually no differences between the two for the IDE. What I mean is that I don’t think that there is extra work to do to support the physical devices in the tests.

Use physical devices is convenient, but the Android world is so vast that emulation has also its interest: emulate devices with little memory, with old APIs, etc, you can dynamically resize the size of the screen to quickly test the behavior on several screen sizes, etc.

I think that the IOS Simulator is a classic OS X application. That’s why it’s very fast. But it is the reason that a Mac is required, it is sometimes too fast compared to the reality, that there is sometimes (rarely I think) a few differences between the Simulator and the reality.

As I am working right now on the iOS version of one of my Desktop app, I have to verify that things work right, and in particular, that the UI flows. It requires constant back and forth between code and run.

With the Android emulator, that simply would not be possible.

You are right, the iOS simulator is a Desktop app, so it uses x86 code, which is way faster, instead of losing cycles in emulation.

The whole purpose of the feature request I posted is to sensitize Xojo engineers early on to the dismal performances of the emulator, so at least we can start off at the end of next year with a usable product.

I would also go as far as engaging Xojo not to release something as limited as Xojo iOS was back in January 2015. A significant number of Xojo users have been employing B4A which, in spite of a dreadful IDE, is a powerful, full featured, mature product which has been here for several years.

Chances are the superb collective effort from users like (alphabetical order) Stephen J. Beardsley, Ulrich Bogun, Jean-Paul Devulder, and Jason King (and a few others I apologize for forgetting) won’t be as easy to count on, since the similarities between iOS and OS X permitted a lot of quick adaptations of declares.

So Xojo probably cannot count on such a miraculous flurry of declares and libraries right away to support hardware specificities such as accelerometers, BlueTooth, touch. Furthermore, B4A does print, which obviously Xojo iOS would not if dtPlugins were not around.

It may be a good idea to offer immediately plugins, so our beloved Christian Schmitz can rapidly provide what is missing. If only iOS was not still stuck in its closed state, close to two years after release…

I am confident the Xojo team can produce a stunning product, if they want to.

We are well aware of this. We use it when we test problems with the web framework on Android.

Is it only me who thinks the simulator is awful since the introduction of iOS 9? It can take a minute or sometimes even more to boot the Simulator device. :frowning:

Way faster than it takes to boot an actual device in my opinion.

LOL. Yes, you’re right. That’s why one usually only sends it to sleep :wink:

I discovered a mention of Genymotion in the B4A documentation. And looking through their site, going through the maze of navigation trees, I finally found the download…

Basically ‘Remote Debugger’ for Android, oh man. I’d love to have this for iOS too!

1 Like

Great, it’ll be more enjoyable! If I remember correctly, genymotion use virtualbox and an android x86, it’s much faster, and the emulator is prettier.

For the moment, I enjoy using my tablet as second screen. But when it comes time to test for other devices, I believe that emulator will be real useful.