【アプリ開発】シミュレーターとエミュレーターの違いって?

違いシリーズ第二弾!

第一弾はこちら↓。(別にシリーズ化するつもりもない)

bonoponz.hatenablog.com

シミュレーターとエミュレーターの違い

名前が似ていますが、実際違いはあるんでしょうか。

シミュレーターは外から見た振る舞いを再現するだけなのに対し、エミュレーターは中身の動作まで再現します。

と参考にした記事に記載がありました。もう少し詳しく調べてみました。

シミュレーター

シミュレーションは、対象となるシステムで働いている法則を推定・抽出し、それを真似るようにして組み込んだモデル、模型、コンピュータプログラムなどを用いて行われる。

シミュレーションのための装置やプログラムをシミュレータ (英: simulator) と言う。

(出典:シミュレーション - Wikipedia

一般的にもまだ聴き馴染みのある単語でしょうか。

現実の状況を模倣できるコンピュータプログラムまたはデバイスです。

プログラムの動作を再現するプログラム開発用ツールとして利用されます。

エミュレーター

所定のコンピュータや機械装置の全機能を模倣する機構のことである。特に実機が存在するもの、ないし実機の内部ロジックそのものを再現するもの

(出典: エミュレータ (コンピュータ) - Wikipedia

異なるOSなどの環境を擬似的に作成 して、他機種のプログラムを自機種で実行するマイクロプログラムの ことを指します。

特定のハードウェアやOS向けに開発されたソフトウェアを、本来の仕様とは異なる動作環境で擬似的に実行させるためのソフトウェアやハードウェアのこと。

結論

とりわけて使い分けるほどの違いはない

でいいと思います。

XCodeを使っているならシミュレータといったほうが統一感がでるかもしれませんね。

「おい!こんな結論かよ!」

と思ったそこのあなた。

調べてもわからない理解できない時点で、使い分ける必要のない段階なんだと感じました。個人的に。

使い分けが必要な場面に遭遇した時に、ようやく理解できるものなのかな、と。そして、そういう場面に出遭っていないなら、使い分ける必要のないほどの差異なんでしょう。

もし違いを解説できるほど理解できたら再投稿したいと思います。

参考URL

シミュレータとエミュレータの違い - Hacking My Way 〜 itogのhack日記