Dipende davvero da cosa stai facendo. Se stai creando HTML5 + CSS + JS per un'applicazione web / PhoneGap, sarà probabilmente OK come test iniziale (a meno che tu non incontri i bug causati da PhoneGap stesso). Il motivo è che al di sotto del browser "Internet" di Android e del Safari di iOS, esiste un core WebKit, che è piuttosto multipiattaforma e abbastanza maturo.
Se, d'altra parte, stai scrivendo codice nativo, non fidarti del simulatore / emulatore. C'è una miriade di cose che possono andare storte. Un esempio di iOS Simulator che mi ha morso: iOS fa distinzione tra maiuscole e minuscole. Mac OS X è case-preserving *. Indovina cosa succede quando richiedi un file dal dispositivo iOS che si trova nel caso sbagliato. Suggerimento: EXC_BAD_ACCESS
. App - Rifiutato! (Ovviamente, dovresti provare su un dispositivo reale prima di inviare l'app per la revisione, così ho fatto io, e non c'è stato un vero rifiuto).
Non riesco nemmeno a iniziare a enumerare le differenze, e sono certo che gli emulatori Android hanno anche incongruenze con i dispositivi reali. È semplicemente un sistema troppo complesso per funzionare senza problemi su una CPU non nativa e su un altro sistema operativo host.
I simulatori e gli emulatori non esistono per sostituire i dispositivi di test sostituire , esistono per consentire di ridurre i tempi di test per le cose che testerai più a fondo sui dispositivi stessi e (eventualmente) per permetterti di ottenere una conoscenza di base del framework senza pagare per il test.
La morale della storia è: non fidarti dei simulatori / emulatori, ti accenderanno nel momento in cui inizierai a dipendere da loro. E da quello che ho visto, le differenze sono di solito molto sottili, quindi trovarle e fare il debug dell'applicazione è un inferno.