Emulator 跟 Simulator 這兩個詞,Google Translate 給出的中文翻譯都是「模擬器」。然而它們並不是同義詞,至少在資訊工程的領域不是。尤其是每當有新的硬體平台發表時,開發者們都會很關切一件事 -- 它對桌面環境的開發者提供的是「Emulator」還是「Simulator」? ? 這兩者帶開發者的痛苦程度不太相同。
「Emulator」通常意指的是「同質性的模擬」,而「Simulator」則是「表像上的模擬」,通常也暗示者「異質性的模擬」。有同時開發過 Android 與 iOS 平台的朋友們一定都知道是怎麼回事 -- Android 對開發者提供的 Virtual Device 就是「Emulator」,設定 Virtual Device 時可以選擇 ABI,如果選的是 ARM,那 Emulator 中就真的是跑 ARM 的指令集。反觀 iOS 對開發者只有提供「Simulator」,它實際上運行的是 x86 的指令集,跟真實的 iOS 裝置上使用的指令集完全無關,所以稱為「異質性的模擬」。
最近正在進行某 N 社平台的移植工程,該社的開發機供不應求有價無市,除此之外對開發者只提供「Simulator」 -- 而且與實機環境的差異還蠻大的。有感而發。
沒有留言:
張貼留言