Let us go uwp

iOS 소스 코드로 UWP(유니버설 윈도우 플랫폼) 앱 만들기

iOS 소스 코드로 UWP(유니버설 윈도우 플랫폼) 앱 만들기라는 주제로 지난 let us: Go! 2017 Summer에서 발표된 내용입니다.


소개

고려대학교 컴퓨터 학과 3학년 휴학 중이고 5년 차 iOS 개발자인 구범모입니다. iOS 소스 코드로 유니버설 윈도우 플랫폼 앱을 만드는 법에 대해 말하기에 앞서, 제가 이 프로젝트를 시작하게 된 계기인 MSP(Microsoft Student Partners)라는 모임에 대해 소개하겠습니다. iOS와 MSP의 관계가 궁금하실 수 있으실 겁니다.

why MSP?

평소 우리는 윈도우 vs. Mac OS 라는 대결 구도를 자주 봤습니다. 하지만 Microsoft는 CEO 교체 이후 Windows 외 기타 플랫폼에도 호의적인 모습을 자주 보입니다. 실제로 Apple은 자사의 iWork가 아닌 Office를 보여주기도 했습니다.

이런 개발 뉴스를 더 만나보세요

Microsoft Build 2015

Microsoft는 Build 2015 행사에서 Windows 10, 홀로렌즈, Visual Studio Code를 발표했습니다. 여기서 iOS 소스코드로 UWP 앱 만들기라는 오늘의 주제에 대한 영감을 받았습니다.

UWP (Universal Windows Platform)

윈도우를 구동하는 다양한 기기에서 C#, Unity, JavaScript 등 원하는 언어로 앱을 만들고 다양한 기기에 배포할 수 있습니다. Windows가 데스크탑 OS에서 큰 비중을 차지하는 만큼, iOS로 만든 앱을 Windows에 배포할 수 있으면 큰 시너지가 날 것으로 생각합니다.

Project Islandwood -> Windows Bridge for iOS

Win32 프로그램, 안드로이드/iOS 앱 등을 Windows로 옮길 수 있는 브리지를 발표했습니다. 현재에는 Windows Bridge for iOS를 운영하고 있고 GitHub에 WinObjC라는 이름으로 공개했습니다. iOS 핵심 코드를 가져와서 Windows에서 구동할 수 있게 하는데 이름에서 알 수 있듯 Objective-C만을 지원하고 있습니다. 앞으로 Swift를 지원할 계획이 있다고 하니 Swift 개발자 분들은 조금 기다리시면 좋을 것 같습니다. 현재 Windows 버전의 Instagram 앱이 바로 iOS 버전을 포팅한 앱입니다.

사용 방법

UWP 앱을 만들려면 Windows PC가 필요합니다. Mac 사용자라면 가상 머신으로 Windows를 설치해야 합니다. 이 경우 60일의 사용제한이 있는데 Mictosoft가 권장하는대로 가상 머신에서 필요한 것을 모두 설치한 다음 스냅샷을 만들고 60일 이후에 되돌리는 방식으로 사용하셔도 됩니다. iOS를 Visual Studio에서 쓰려면 Windows Bridge for iOS에 가서 설치 목록에 있는 것을 일일이 찾아서 설치해야 하는 점이 조금 불편합니다.

설치 방법

윈도우 터미널인 PowerShell을 관리자 권한으로 실행해서 Chocolatey 패키지 관리자를 설치한 후 Chocolatey로 Windows-objc 툴을 설치합니다. cd 커맨드로 설치 폴더로 이동한 다음, vsimporter.exe라는 명령어를 해당 폴더에서 입력하면 끝입니다. 해당 폴더에 Visual Studio Solution 파일이 생성된 다음부터는 Visual Studio 솔루션으로 개발을 할 수 있습니다. PowerShell에는 git이나 scp 등의 명령어가 없으므로 혹시 터미널의 명령어를 쓰고 싶다면 windows subsystem for linux를 설치하세요.

Visual Studio 사용법

Solution Explorer에서 디렉터리 구조를 볼 수 있고, Ctrl + F5를 눌러서 빌드할 수 있습니다.

윈도우 앱과 iOS 앱 비교

왼쪽이 UWP, 오른쪽이 iOS 앱입니다. UWP 앱도 iOS 앱과 동일하게 제스쳐나 오토 레이아웃, OpenGL, 다양한 뷰, UI 베지어 패스 등을 동일하게 지원합니다. iOS가 좀 더 세련된 느낌이 있긴 하지만 Windows에서도 충실하게 다양한 기능을 지원하는 것을 볼 수 있습니다.

포팅 사례

Apple Design Award 2016를 수상한 앱인 Complete anatomy와 DJ Pro도 Windows Bridge for iOS를 통해 Windows에 포팅한 사례가 있는 만큼 앞으로도 다양한 앱을 만나볼 수 있을 것으로 기대합니다.


본 영상과 글은 let us: Go!의 비디오 스폰서인 Realm에서 제공합니다. 모바일 개발자가 더 나은 앱을 더 빠르게 만들도록 돕는 Realm 모바일 데이터베이스Realm 모바일 플랫폼을 통해 핵심 로직에 집중하고 개발 효율을 높여 보세요! 공식 문서에서 단 몇 분 만에 시작할 수 있습니다. 또한 Realm 홈페이지에서는 모바일 개발자를 위한 다양한 최신 기술 뉴스와 튜토리얼을 제공하고 있으니 즐겨찾기하고 자주 들러 주세요!

다음: Realm + Microsoft: Xamarin, Azure, Windows 데스크탑까지 모두 지원합니다!

General link arrow white

컨텐츠에 대하여

이 컨텐츠는 저자의 허가 하에 이곳에서 공유합니다.

구범모

2012년부터 iOS 개발을 시작한 iOS 개발자입니다. 취미로 사진을 시작하면서 사진 장비 덕질과 애플 장비 덕질을 동시에 하게돼 통장이 매우 곤란해하고 있습니다. 집에서 거북이 두 마리를 키웁니다. 🐢🐢

4 design patterns for a RESTless mobile integration »

close