はじめに
まず、テスト目的で実際のデバイスを購入する必要はないと誰にも言わせないでください。Android の観点から、同じことが iOS 開発にも当てはまります。
エミュレータテストの良い面
- 無料です。必要なのは、エミュレーターを実行するコンピューターだけです。
- さまざまなケース (さまざまな画面解像度、さまざまな OS バージョン) でアプリケーションをテストできます。
- I/O とネットワーク操作は高速ですが、他のすべてがどれだけ遅いかを計算すると、これはあまり良い点ではありません。
悪い面
- それを使用しようとしたことがない場合は、それがどれほど遅いかを理解できます(比較すると、iOSエミュレーターは地獄のように高速です)。最高級のハードウェア PC や Mac を持っているかどうかは問題ではありません。それだけ遅いだけです。
- エミュレーターは単にバグが多いです。アプリケーションが読み取りデバイスで問題なく動作し、エミュレーターでブレーキがかかる場合がたくさんあります。
- これは逆の場合もあり、エミュレーターではアプリケーションが問題なく動作する場合がありますが、実際のデバイスではブレーキがかかります。場合によっては、まったく動作しないか、一部のデバイスでは動作しません。これは通常、ハイブリッド アプリケーションを操作する場合に当てはまります。何らかの理由で、Android Web ビューは実際のデバイスとエミュレーターで異なる動作をします。
- エミュレーターには、ハードウェアとやり取りするための機能がいくつかないだけでなく、それを正常にエミュレートすることもできません。エミュレートできるハードウェア接続が正しく機能しない場合もあります。
- (ARM バイトコードをその場で x86 バイトコードに変換するため) いかに遅いかについて話しましたが、グラフィックスの観点からはさらに遅くなる傾向があるため、ゲーム開発を行うことは期待しないでください。
- 実際のデバイスには、アプリケーションの速度が低下したり、何らかの方法でその機能が強化されたりする可能性のある、はるかに多くのソフトウェアがプリインストールされています。
- 現実世界の GPS テストは論外です
最終的な注意事項
iOS のみで作業する場合は、エミュレーターを使用して多くの開発を行うことができます。さまざまな画面サイズとハードウェアの多様性がまったくないため、テスト目的に最適なプラットフォームになります. 一方、Android はまったく別の話です。そのエミュレーターは、テスト目的では役に立たないだけです。Android 2.1 + 、さまざまな画面サイズ、そして最後にハードウェアアーキテクチャに至るまで、いくつかの実際の Android デバイスがあります。私を信じる必要はありませんが、私が言及したことはすべて、Android アプリケーションのテスト中に重要な役割を果たします。
主な関心事が jQuery Mobile アプリケーションのテストである場合でも、Android の場合は実際のデバイスを使用することをお勧めしますが、iOS の場合はエミュレーターを正常に使用できます。トランジション効果が非常に遅く、アニメーションを必要とする他のすべてが含まれているため、Android は問題があります。スワイプは問題なく、問題なく動作することを保証できます. 2 番目の実際の問題は、デバイスのローテーションです。jQuery Mobile では、ほとんどの場合、応答しないサードパーティの jQuery プラグイン (カルーセル、スライダーなど) と一緒に使用すると、問題が発生することがあります。3 番目の問題は、私の悪い面のリストに記載されています。基本的に、エミュレーターで使用される Web ビューは、実際の電話で使用されるものとは異なる動作をするため、実際のデバイスで 1 つのものとエミュレーターで 1 つのものが表示されることがあります。