Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm currently developing some mobile applications using PhoneGap for Android, testing only in 3 different kinds of smartphones, and using emulators to test on the others target phone resolutions. Later on I will probably use a iOS emulator.

I would like to know if I will have any problems with that.

share|improve this question
    
I hate when people marks -1 without any explanation. –  Marcelo Assis Jun 13 '12 at 17:59
1  
I don't think secure is the word I would use here. Maybe: "Is it safe to trust emulators?" Or: "Can emulators ensure compatibility with mobile apps?" –  David Hogue Jun 13 '12 at 18:28
3  
I don't think this question deserves a downvote, so I have upvoted it. –  AlexWebr Jun 13 '12 at 19:33
4  
Just to get this point out of the way - very few emulators are genuinely 100% accurate. However, that could very easily be a point that only the paranoid and a few specialists need to care about. I'm as interested as anyone in whether the emulators are good enough for, let's say, 99% confidence. –  Steve314 Jun 13 '12 at 20:06
1  
Here is an article from Tech Crunch on android testing and the myriad of devices: techcrunch.com/2012/06/02/android-qa-testing-quality-assurance. One problem with your question will be that the answers will be subjective. I may think you need to test on more devices, while others may have different numbers and devices for different reasons. At the end it will ultimately be opinion. –  jmq Jun 13 '12 at 22:46
show 1 more comment

2 Answers 2

up vote 3 down vote accepted

It really depends on what you're doing. If you're creating HTML5+CSS+JS for a web/PhoneGap app, it will probably be OK as initial test (unless you encounter bugs caused by PhoneGap itself). The reason is that underneath both the Android "Internet" browser and iOS' Safari, there is a WebKit core, which is somewhat cross-platform and mature enough.

If, on the other hand, you're writing native code, then don't trust the simulator/emulator. There is a myriad of things that can go wrong. An iOS Simulator example that has bitten me: iOS is case-sensitive. Mac OS X is case-preserving*. Guess what happens when you request a file from the iOS device that is in the wrong case. Tip: EXC_BAD_ACCESS. App - Rejected! (Of course, you should test on a real device way before sending the app for review, so did I, and there wasn't really a rejection).

I can't even start to enumerate the differences, and I'm certain Android emulators do have inconsistencies with the real devices, too. It's just a too complex system to work smoothly on a non-native CPU and in another host OS.

Simulators and emulators do not exist to replace testing devices, they exist to let you reduce testing time for things you'll test later more thoroughly on the devices itself and (possibly) to allow you to get a basic understanding of the framework without paying for the test.


The moral of the story is: don't trust simulators/emulators, they'll turn on you the moment you start depending on them. And from what I've seen, differences are usually very subtle, so finding them and debugging the app is hell.

share|improve this answer
    
Thanks for the answer, this is what I needed to know. –  Marcelo Assis Jun 14 '12 at 14:18
add comment

I have never used PhoneGap but based on my experience with Android's, iOS', and Corona SDK's emulators you should be fine. Scaling and screen resolutions have always been pretty reliable but when it comes things like animation, and audio those can be really device specific for Android and the emulator is not always accurate.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.