Build 2016에서 본 Xamarin과 모바일 크로스플랫폼 개발
Xamarin은 iOS, Android를 포함해서 Windows Phone 앱 개발까지 지원하는 크로스 플랫폼 개발 도구입니다. Xamarin은 아래와 같은 특징들로 인해서 주목받고 있는 개발 툴입니다.
- Native UI, Native API 접근 및 Native 성능
- Objective-C, Swift 그리고 Java로 할 수 있는 일들을 C#으로 할 수 있다.
- 새로운 OS 출시일 같이 업데이트 된다.
기존의 크로스 플랫폼 개발 도구들은 웹 기반으로 제공되어 각각의 모바일 플랫폼의 일부 기능만 지원하거나 혹은 하드웨어 접근등에 있어서 제약이 있었습니다. 또 네이티브 플랫폼 기반의 개발 환경이라 할지라도 각 플랫폼의 모든 기능들을 100% 지원하는 개발도구는 없었습니다.
Xamarin의 경우 오픈 소스기반의 .NET 환경인 Mono를 기반으로 하고 있습니다. Mono는 이미 리눅스를 포함해서 다양한 플랫폼들에 이미 이식 되어 사용중이기 때문에 신뢰도가 높습니다.
<그림1>Android와 iOS 애뮬레이터를 동시에 실행하고 있는 모습
비슷하게 Mono를 기반으로 하고 있는 Unity3D의 경우에도 같은 이유로 자연스럽게 다양한 플랫폼을 한꺼번에 지원할 수 있게 되었습니다. Xamarin이 작년 Build 2015 컨퍼런스에서 주목 받은 이유중 하나는 기본적으로 지원하는 모바일 앱 이외에도 웨어러블 디바이스 개발 지원하기 시작했기 때문입니다.
Xamarin은 모든 영역에서 한번에 네이티브 크로스플랫폼 개발을 지원하는 유일한 대안이기 때문에 지금 현재도 많은 기업들이 선택해서 잘 활용하고 있습니다.
<그림2>Xamarin을 사용하고 있는 기업들. 지금 현재에도 약 15000개 이상의 업체들이 사용하고 있다.
Xamarin에 대한 기대와 관심이 높았지만 상대적으로 비싼 가격 정책은 Xamarin을 도입하려는 사람들에게 큰 걸림 돌이 되었습니다. Xamarin은 연 단위로 갱신해야 하는 서브스크립션 모델의 라이선스 정책을 고수하고 있었으며 엔터프라이즈 모델의 경우 년 $1,899로 책정되어 있었습니다.
그런데 2016년 2월 24일 Microsoft가 Xamarin을 인수하겠다는 발표를 했습니다.
<그림3>Scott Gu's Blog에 공개된 Xamarin 인수 소식 https://weblogs.asp.net/scottgu/welcoming-the-xamarin-team-to-microsoft
Microsoft가 Xamarin을 인수하고 난 뒤 Xamarin을 무료로 제공할 것이라는 기대가 높았는데 그 기대는 Build 2016에서 이루어 졌습니다. Visual Studio를 사용하는 모든 사람에게 Xamarin이 무료로 제공된다는 발표가 공식적으로 이루어 졌습니다. 여기에는 학생이나 비영리 단체 혹은 오픈 소스 조력자들에게 무료로 제공되고 있는 Visual Studio Community에도 마찬가지 입니다.
<그림4> Build 2016 현장에서 발표된 Xamarin 무료 소식.
발표된 내용중에는 Xamarin의 무료 소식 뿐만 아니라 Xamarin을 실행 시킬 수 있는 Xamarin Runtime의 오픈 소스 소식도 함께 발표 되었습니다. Xamarin Runtime이 오픈 소스로 공개되면서 기존에 지원하던 플랫폼 이외에 새로운 플랫품으로 Xamarin을 이식하는 것이 한층 더 쉬워질 예정입니다.
Xamarin사에서 제공하고 있는 부분이 개발 툴 이외에도 클라우드 기반의 테스트 서비스인 Xamarin Test Cloud 도 발표했습니다. 이미 몇년전 부터 Xamarin 사에서 제공하던 서비스라 새로운 부분은 아니었지만 잘 알려져 있지 않았던 서비스여서 다시 한번 강조해 줄 필요가 있었습니다.
Xamarin Test Cloud는 2000개 이상의 스마트폰을 클라우드 환경에서 테스트해 볼 수 있게 서비스하고 있습니다. 다만 한 가지 아쉬운 점은 한국에서 출시된 모델들은 제공되지 않습니다. 스마트폰의 경우 같은 모델이라 할찌라도 국가별로 차이가 있어서 이 부분은 감안해야 할 부분입니다.
<그림5> Xamarin Test Cloud.
Build 2016 둘째날 키노트에서는 Windows 환경에서 실행되는 iPhone 애뮬레이터를 시연하기도 했지만 iOS 개발에는 여전히 Mac이 필요합니다. (아직 Mac을 파시면 안됩니다.!)
Xamarin은 Windows 환경에서 Visual Studio와 Xamarin을 사용하고 Xamarin과 Xcode가 설치되어 있는 Mac과 네트웍으로 연결해서 개발해야 하는 환경입니다. 사용해보면 빌드 환경이외에도 디자인 작업시에도 Mac과 연결되어 있어야 합니다. 이렇게 연결이 되고 나면 iOS 애뮬레이터에 연결해서 원격 디버깅도 가능해 집니다.
<그림6>Visual Studio와 Mac환경의 연결 구조
Xamarin 대해서 자세한 내용이 궁금하신 분들은 https://developer.xamarin.com/ 에서 자세한 내용과 많은 자료를 보실 수 있습니다.