[스마트폰 개발 #1] iPhone, Android, WP7 에뮬레이터 비교

스마트폰 개발 3종 세트를 계획한지는 꽤 오래되었지만
체계적인 준비를 위해서 꽤 긴 시간의 스터디가 필요했습니다..

그 문을 여는 첫 번째 글로 각 플랫폼에서 가장 최신 버전의 SDK로 할 수 있는
가능한 것들과 불가능한 것들을 서로 비교해 보는 시간을 가져보도록 하겠습니다.

현재 9월 1일을 기점으로 사용할 수 있는 iPhone, Android, Windows Phone 7의 SDK는 아래와 같습니다

  iPhone (iOS) Android Windows Phone 7
버전 4.1 GM seed 2.2 Froyo(API Level 8) Windows Phone Developer Tools Beta
출시일 2010. 09. 01 2010. 05. 20 2010. 07. 26
관련url https://developer.apple.com/iphone http://developer.android.com/ http://developer.windowsphone.com/

 

{ 에뮬레이터 }

에뮬레이터는 해당 SDK의 버전이 올라가면서 함께 업그레이드 됩니다.
당연히 그래야 테스트가 가능하니까요.
하지만 그 뿐 아니라 에뮬레이터 자체의 UI가 변경되기도 하고 구동방법이 달라지기도 합니다.

Windows Phone 7은 CTP 이전 버전에서 현재 Android 처럼 실제 휴대폰이 부팅하는 것과 같이
처음 부팅화면부터 쭈욱 일련의 과정을 거치면서 실행되었지만, 최근에는 iPhone과 같이 부팅과정을 생략하고
바로 실행이 됩니다.
(사실 Android를 개발할 때는 에뮬레이터를 잘 끄지 않게 됩니다. 다시 띄울 때 상당한 시간이 걸리거든요.)

일단 각 플랫폼의 에뮬레이터 스크린 샷을 보도록 하겠습니다.

iOS

iPhone 3GS iPhone 4 ipad emulator

 

 

 

 

 

 

 

 

 

 

 

보시는 것처럼 iPhone 3GS 포함 이전 버전을 개발할 수 있는 버전이 가장 왼쪽의 것이고, 가운데는 이번에 새로 출시된 iPhone 4이고 마지막의 그림이 iPad 입니다.
에뮬레이터의 숫자가 늘어날 수록 그에 비례한 개발 고려사항이 증가합니다.
이전까지는 에뮬레이터가 하나였죠?
iPhone 2G, 3G, 3GS 일 때만 해도 하드웨어 성능차이는 있었어도 하드웨어 특별히 추가되거나 변경되지는 않았습니다.
그래서 같은 SDK를 공유할 수 있었거든요. 물론 GPS가 추가된 적은 있었죠. 하지만 이것도 같은 CoreLocation이라는 같은 API를 사용했었습니다.

하지만 이제 iPad가 나오면서 해상도가 달라졌고 iPad에 맞는 Layout framework가 추가 되었기 때문에 새로운 에뮬레이터가 필요했고 iPhone 또한 iPhone 4부터 새롭게 레티나 디스플레이를 채택하면서 해상도와 DPI가 바뀜에 따라 기존의 에뮬레이터와는 다른 새로운 것이 필요하지 않았나 생각이 됩니다.

 

Android

android emulator 안드로이드는 아이폰과 달리 단시간 내에 플랫폼이 급격히 업데이트 됨에 따라서 타켓 단말 버전이
1.5(컵케익), 1.6(도넛), 2.0/2.1(이클레어), 2.2(프로요)로 다양합니다.
아이폰의 경우 현재 사용자가 사용하고 있는 버전은 3.0 이상이다라고 가정해도 되지만,
안드로이드는 국내만 보더라도 1.6 버전을 채택한 안드로이드 폰이 현재에도 출시가 되기 때문에
분명히 하위 버전 또한 고려되어야 합니다.

또한, 동일한 하드웨어일지라도 버전이 올라갈 수록 성능과 메모리 관리가 현격하게 차이나이기 제일 느린 버전에서의 테스트도 수행되어야 합니다. 그리고 2.0/2.1 부터 다양한 스크린 사이즈와 해상도를 지원하기 때문에 단순히 느리고 빠르고의 문제가 아닌 다양한 환경에서 레이아웃이 깨지거나 하는 문제를 고려해야 합니다.

안드로이드 에뮬레이터는 이러한 문제를 해결하기 위해서 OS 버전과 해상도를 다양한 조합으로 생성할 수 있도록 지원하고 있습니다.
하지만 안드로이드 마켓에 가면 내가 가진 휴대폰에서는 제대로 실행되지 않는다라는 평가들로 가득찬 어플리케이션을 종종 만나게 됩니다.

아이폰과 Window Phone 7과 다르게 에뮬레이터 내에서도 실행해볼 수 있는 어플리케이션이 상대적으로 많습니다.
아이폰과 WP7은 인터넷, 갤러리 등만을 지원합니다. 
그러나 안드로이드 에뮬레이터에서는 그 밖에 지도, 이메일, 알람시계, 계산기, 메세지, 자동차 모드로 보기 등등이 있습니다.

Windows Phone 7

wp7 emulator

Windows Phone 7의 경우 이제야 실체가 조금씩 보여지는 단계이다 보니 많은 궁금증이 있는데요.
제 느낌으로 과거의 Windows Mobile 6 까지의 경험에서 많은 것을 얻은 것 같습니다.
경재 업체와는 상당히 뒤늦게 새로운 OS를 준비했던 만큼 다른 플랫폼을 장점과 단점들을 잘 벤치마킹한 흔적이 보입니다.

CTP 버전의 에뮬레이터에서는 상당히 부팅 과정이 안드로이드 에뮬레이터처럼 느렸고 디자인도 구렸지만, 이번 버전은 상당히 깔끔해지고 쾌적해졌습니다. (제일 초창기 버전 (alpha버전)에서는 쓸 수 있는 물건이 아니었습니다.) 여전히 기본 어플리케이션은 인터넷 익스플로러와 환경설정 밖에 없습니다.
왜 기본 어플리케이션 이야기를 하냐면, 실제 기기가 아직 판매되지 않았기 때문에 개발자들이 Windows Phone 7을 경험해 볼 수 있는 것은 에뮬레이터를 통해서 밖에 없습니다. 실제의 UX와 새로운 플랫폼의 가능성, 아이디어 그리고 무엇보다 중요한 Microsoft가 지향하는 디자인 가이드라인이 어떤 것인지를 알기 위해서 좀더 다양한 기본 어플리케이션이 포함될 필요가 있다고 생각이 드네요.

Windows Mobile 시대에는 정말 많은 기기들이 다양하게 있었습니다.
그러나 Windows Phone 7의 전략 중 하나는 하드웨어를 표준화하는 것도 포함되어 있을 것입니다.
마켓플레이스를 지원하고 운영하기 위해서 아이폰 처럼 해상도가 고정인 것이 유리하기 때문에 800x480 사이즈로 통일하여 출발하는 듯 보입니다. (나중에는 당연히 변종이 생기겠죠?) 당연히 에뮬레이터에도 해상도를 변경할 수 있는 옵션은 없습니다

 

하드웨어 키 비교

에뮬레이터에서 제공하는 하드웨어 키는 안드로이드가 독보적으로 많습니다.
실제 기기에서 사용될 수 있는 키는 거의 다 있습니다.

하지만 아이폰은 홈 버튼, 전원 버튼이 있고 실제 기기에서 존재하는 볼륨 조정 버튼, 진동 모드 버튼이 존재하지 않습니다.

Windows Phone 7 는 Back 버튼, 윈도우 시작 버튼, 검색 버튼이 존재합니다.
실제 기기에서는 카메라 버튼과 전원 버튼이 존재하겠지요.

 

마무리

이번은 간단히 SDK의 얼굴이라 볼 수 있는 에뮬레이터를 살펴보았습니다.
에뮬레이터만을 살펴봐도 어떠한 UX를 가져야 하는지의 전반적인 insight는 얻을 수 있습니다.
다음에는 각 플랫폼의 특징을 살펴보겠습니다.

chaoskcuf

트랙백 주소 : http://chaoskcuf.com/trackback/292

댓글을 달아 주세요

Powerd by Textcube, designed by criuce
rss