MS "C#·닷넷 개발자여 일어나라"

빌드2015서 공개된 크로스 플랫폼 전략

일반입력 :2015/05/15 15:50

지난달말 열린 마이크로소프트(MS) ‘빌드2015’ 컨퍼런스는 개발자를 위한 툴의 향연이었다. 윈도10 유니버셜윈도플랫폼(UWP), 닷넷 2015, 비주얼스튜디오, 자마린, 기타 개발단계인 포팅 툴 등 대충 정리해도 10가지를 넘는다.

이에 빌드2015를 통해 나타난 MS의 크로스플랫폼 전략을 큰 항목별로 요약 정리했다. MS의 시나리오를 요약하면, MS는 이미 세상에 깔린 윈도 디바이스를 무료로 윈도10으로 업그레이드해준다. 3년 안에 10억대 윈도10 디바이스란 거대 앱 시장을 형성해 개발자의 생존 터전을 마련한다.

이와 함께 현존하는 윈도 앱을 윈도10 기반 앱으로 쉽게 변환하고, 윈도스토어란 단일 배포 창구를 통해 다양한 기기에 별도 개발 프로젝트 없이 뿌려준다. 안드로이드 자바, iOS 오브젝트C, C++, 자바스크립트 같은 이기종 언어로 만들어진 앱은 컨테이너 기술로 윈도10 생태계 안으로 끌어들인다.

한편으로, C#을 연마해온 개발자도 손쉽게 현재 SW 시장의 큰 비중을 차지하는 안드로이드와 iOS 생태계로 들어가게 해준다. 각종 데스크톱 및 모바일 앱, 웹, 클라우드 앱 등의 개발을 굳이 윈도 기기가 아니라 리눅스나 OS X에서 할 수 있게 할 뿐 아니라, 닷넷 기반 앱을 리눅스와 OS X 등의 환경에서도 돌아가게 해준다.

■닷넷, 윈도의 벽을 허물다

닷넷 관련 소식 중 가장 주목할 부분은 맥 OS X와 리눅스를 위한 닷넷코어의 공개다.

닷넷코어는 기존 닷넷 프레임워크에서 핵심만 추려 오픈소스로 공개된 프레임워크다. MS는 닷넷코어를 맥 OS X와 리눅스 버전으로 만들겠다고 밝혔었는데, 이번에 그 약속을 지켰다.

이에 따라 닷넷코어를 윈도10 유니버셜앱뿐 아니라 OS X, 리눅스 환경에서 사용하게 되며, 향후 프리BSD도 지원하게 된다.

ARM CPU 지원을 위한 방안도 마련됐다. 닷넷용 LLVM 컴파일러인 ‘LLULC’다. LLILC를 이용하면 LLVM을 지원하는 모든 ARM 칩셋에서 닷넷코어를 쓸 수 있다.

빌드2015를 기점으로 닷넷코어는 ASP닷넷5와 윈도10 앱, 닷넷코어 콘솔앱 등을 지원하게 됐다.

또한, 애플리케이션 안에 독립적인 닷넷코어를 담게 했다. 앱은 그 자체로 닷넷코어 프레임워크와 런타임을 내장한다. 이에 따라 앱이 시스템의 업데이트에 영향을 받지 않게 되고, 다른 앱에 영향을 주지 않고 업데이트될 수 있다.

닷넷 언어 업데이트도 있었다. C#6와 비주얼베이직(VB)14다. 비주얼 F# 4.0도 공개됐다.

ASP닷넷5도 프리뷰로 나왔다. MS는 ASP닷넷5를 윈도와 리눅스, OS X 등을 가로지르는 크로스 플랫폼 앱 개발의 첨병으로 삼으려 한다. ASP닷넷5로 개발한 웹을 컨테이너에 담아 앱으로 만들고, 여러 OS 플랫폼에서 돌아가도록 한다는 것이다. 컨테이너엔 닷넷코어가 투입된다.

■코드 에디터와 IDE

사실 개발자가 가장 환호한 부분은 OS X와 리눅스에서 쓸 수 있는 코드 에디터 ‘비주얼스튜디오(VS) 코드’다. 자바 진영의 전설적 개발자인 에릭 감마가 개발을 주도했다.

무료로 제공되는 VS 코드는 에디터면서 VS 엔터프라이즈 버전의 코드 어시스턴스, 내비게이션, 통합 디버깅 같은 통합개발환경(IDE)로서 기능도 일부 포함한다.

MS는 VS 코드를 웹과 클라우드 애플리케이션 개발을 위한 툴로 소개했다. ASP닷넷5, 노드JS, HTML, CSS, 타입스크립트, 앵귤러JS 등을 지원하고, 깃(Git)을 활용할 수 있다.

C#과 타입스크립트를 위해 코드 분석을 할 수 있다. 서브라임텍스트, 빔, 아톰 등 대안 에디터와 통합해 사용가능하다.

곧 나올 VS 엔터프라이즈 RC도 공개됐다. 모바일, 웹, 서버, 클라우드 등 광범위한 플랫폼 개발을 소화할 수 있다. 윈도10 유니버셜윈도플랫폼(UWP)개발을 지원하고, 새 UI 디버깅 툴을 제공하며 XAML 디자이너, 프로파일링,디버깅 등의 기능을 개선했다.

아파치 코르도바, 자마린, C++ 등을 사용해 안드로이드, iOS, 윈도 모바일 등을 가로지르는 크로스 플랫폼 앱을 만들 수 있다.

애플리케이션의 성능, 가용성, 사용도 등을 확인하게 해주는 애플리케이션 인사이트의 퍼블릭 프리뷰도 나왔다. 개발자는 자신의 애플리케이션 성능을 세부적으로 모니터하고, 문제점을 빠르게 해결할 수 있다.

■C# 개발자도 모바일 큰 시장 갈 수 있다

C# 특화 개발자의 iOS, 안드로이드 시장 진입을 위한 무기 ‘자마린’은 더 강해졌다. 자마린은 오브젝트C나 자바 대신 C#으로 iOS, 안드로이드 앱을 개발하게 해준다.

윈도 API를 iOS, 안드로이드 API로 100% 커버해준다. 새로 나온 애플워치 앱과 안드로이드웨어 앱도 개발을 지원한다. 자마린 테스트 클라우드란 서비스를 통해 유명 안드로이드 디바이스 전체에 앱을 가상으로 한번에 테스트할 수 있다.

■모든 걸 녹이는 용광로 '윈도10과 UWP'

MS는 윈도10 애플리케이션 빌드 형태를 4가지로 요약했다. UWP란 앱 구동 플랫폼에서 웹, 닷넷 및 WIN32, 안드로이드/자바/C++, iOS/오브젝트C 등이다.

웹은 ASP닷넷5든 자바스크립트 든 웹 언어로 만든 환경을 UWP 앱으로 만들어준다. 이는 호스티드웹앱이라고 표현된다.

기존 윈도 이전 버전의 데스크톱 앱인 닷넷과 WIN32 기반 앱을 UWP 앱으로 전환할 수 있다. 이는 프로젝트 센테니얼(Centennial)이란 도구로 지원한다. 프로젝트 센테니얼은 현존하는 윈도 데스크톱 앱 다수를 윈도스토어 앱으로 변환해 배포해준다.

관련기사

안드로이드 앱이나 자바, C++ 등으로 작성한 앱은 프로젝트 아스토리아란 툴을 활용해 UWP로 변환하게 된다. iOS/오브젝트C 앱은 프로젝트 아일랜드우드란 툴로 UWP로 변환한다.

센테니얼, 아스토리아, 아일랜드우드는 일종의 컨테이너 형태 앱을 만들어주며, UWP의 런타임과 API에 연결해주는 채널을 앱에 심는다. 기존의 코드를 재생성하는 방식 대신 API와 UI를 윈도10 기반으로 치환하는 방식이다.