닷넷(.NET)은 버려지지 않는다. 절대로(Definitely).
아네르스 하일스베르 마이크로소프트(MS) 테크니컬 펠로우가 지난주 미국 샌프란시스코에서 열린 빌드2014 컨퍼런스 미디어패널 세션에서 한 발언이다.
그는 현장 기자로부터 개발자들은 닷넷이 버려졌다는 얘기를 하는데, 어떻게 생각하느냐는 질문을 받았다. 하일스베르는 확신에 찬 얼굴로 '그건 틀렸다'고 답했다. 그는 우리는 닷넷을 진화시키는데 막대한 양을 투자하고 있다며 닷넷은 사라지지 않을 것이고, 우리는 닷넷에 올인한다고 강조했다.
하일스베르는 터보파스칼, 델파이 등을 창시한 인물로 MS에 합류한 후 주요 닷넷 프레임워크 개발을 이끌어왔다. C#의 아버지로도 통한다.
그의 말과 달리 개발 프레임워크 분야에서 닷넷은 고전을 면치 못하고 있다. 자바, C/C++ 등에 치이고, 웹 기술에도 밀리는 듯하다. 윈도 운영체제(OS)에 종속되는 프레임워크인 만큼 모바일 시대 윈도8, 윈도폰이 겪는 것과 유사한 위기에 처했다는 평가다.
그러나 빌드 현장에서 MS는 닷넷을 포기하지 않았다는 것을 분명히 했다. 윈도 플랫폼을 데스크톱에서 모바일기기와 게임 콘솔로 확대하면서 닷넷을 앱 호환성의 중심에 배치했다.(☞관련기사) 이에 의하면 닷넷은 '탈(脫) 윈도'를 자신있게 외치는 MS의 승부수다.
제이 슈멜저 MS 프로그램매니지먼트 디렉터는 닷넷은 4가지의 모멘텀을 기반으로 진화하고 있다며 오픈, 표준, 크로스플랫폼, 네이티브 등이다고 설명했다.
■닷넷과 개방성, 표준
MS는 닷넷 플랫폼에 오픈소스 성격을 불어넣는데 많은 공을 들이고 있다.
MS는 3일 빌드2014에서 닷넷 C#과 비주얼베이직의 차세대 컴파일러인 '로슬린'을 오픈소스로 공개하고 오픈소스재단인 닷넷재단 설립을 발표한다. 이는 폐쇄적이고 고압적인 회사의 대명사였던 MS가 '개방성 추구'란 근본적인 성격개조에 나섰음을 보여주는 사건이었다.
닷넷재단은 MS와 독립적으로 운영되는 오픈소스 재단이다. 개발자는 닷넷을 위한 다양한 오픈소스 기술을 만들어내고 배포할 수 있다.
소마 소마세가르 MS 개발자사업부 부사장은 닷넷재단은 미래 닷넷 생태계를 강화하는 사례와 진보의 한 세트로 상용벤더와 커뮤니티 개발자의 포럼 역할을 할 것이라고 밝혔다.
MS는 닷넷재단에 닷넷 개발 프로세스를 개방한다. ASP닷넷 같은 전체 프레임워크와 닷넷 컴파일러 플랫폼 '로슬린' 등 전반적인 닷넷 플랫폼 개발과정이 모두 공개된다.
커뮤니티는 닷넷에 대한 코드를 직접 기부할 수 있다. 재단 이사회 멤버뿐 아니라 개인 자격의 개발자도 개방적이고 투명한 거버넌스 모델을 통해 미래의 닷넷을 강화하는 역할을 하게 된다는 설명이다. 닷넷재단은 소프트웨어를 아파치 2.0 라이선스로 제공한다.
오픈소스로 공개된 새로운 닷넷 컴파일러 '로슬린' 역시 닷넷의 개방성 확보를 측면에서 지원한다.
로슬린은 C#과 비주얼베이직의 새로운 기반이다. 소마세가르 부사장은 1년전 로슬린을 이끌고 있는 에네르스 하일스베르와 나눈 대화를 소개했다.
당시 소마세가르 부사장은 하일스베르에게 로슬린을 오픈소스화해야 한다는 생각과 그 시점에 대해 들었다고 전했다. 작년 가을경 로슬린을 일단 엔드유저 프리뷰 형태로 오픈소스로 내놓는다는 결정이 내려졌다. 커뮤니티 기부를 허용하는 것도 확정됐다.
소마세가르 부사장은 1년전 사티아 나델라와 나눈 대화도 전했다. 아직 사티아 나델라가 CEO로 선임되기 전으로, 당시 그는 서버앤드툴사업부 총괄 부사장이었다. 나델라는 개발자 사업부의 닷넷 오픈소스화에 대한 생각에 당신이 개발자에게 좋은 것이라고 생각한다면, 그렇게 행동하라고 조언했다고 한다.
로슬린이 오픈소스로 공개된다는 발표가 나온 뒤 자마린의 미구엘 데 이카자 CTO가 무대에 올랐다. 그는 맥북에서 자마린 스튜디오를 실행한 뒤 iOS 앱 개발에서 로슬린 컴파일러를 활용하는 모습을 시연했다.
MS는 닷넷 다음으로 베이스클래스라이브러리(BCL)과 커먼랭귀지런타임(CLR)을 오픈소스화할 의사도 내비친다.
소마세가르 부사장은 한번에 한단계씩 가고 있다며 MS와 커뮤니티에게 진정 도움이 된다면, MS는 그것을 고려할 것이라고 밝혔다. 다만, 필요성이 입증돼야 한다는 단서를 달았다. 일단 필요성을 검증하기 위해 MS는 지난주 BCL 도큐먼트를 자마린에게 제공했다.
■크로스플랫폼과 닷넷
닷넷재단엔 자마린이란 개발도구 회사가 주요 참여사로 나섰다. 자마린은 MS에게 매우 중요한 파트너다. C# 닷넷을 크로스플랫폼 개발언어로 만드는 핵심을 쥐고 있기 때문이다.
자마린의 개발도구 '자마린스튜디오'는 C#으로 iOS나 안드로이드 앱을 개발하게 해준다. 초기엔 MS 내부에서 자마린의 지향점이 닷넷에 도움을 줄것인가에 대해 의혹을 품었다고 한다. MS의 경쟁 플랫폼 앱을 개발하게 한다는 게 윈도 사업에 해를 끼칠 것이란 판단 때문이었다.
그러나 시간이 흘러 MS는 자마린과 더 긴밀하게 협력하게 됐다. MS가 자마린과 인수협상을 진행중이란 소문까지 돌았다. MS와 자마린은 빌드 컨퍼런스에서 M&A에 대한 입장을 밝히지 않았다.
소마세가르 부사장은 MS 임원들은 그전까지 오픈소스를 중요한 방법으로 받아들이지 못했던 점을 인지하고 있다며 무엇보다 먼저 닷넷을 높은 수준의 오픈소스로 시작해야 한다는 생각이 있었고 스택을 점차 내려놓는 것에 대한 고려도 있었다고 설명했다.
그는 또 MS에서 커뮤니티로부터 기부를 받아야 하는가를 두고 토론이 벌어졌다며 모두를 내놓을 것이냐, 아니면 코드 수정 권한 없이 단순히 코드만 볼 수 있게만 하자는 것을 놓고 논쟁이 있었다고 덧붙였다.
협력이 긴밀해지는 과정에서 자마린이 공식적으로 MS에 닷넷 오픈소스화를 압박하진 않았다. 그러나 소마세가르 부사장은 자마린에 의해 MS가 오픈소스와 커뮤니티 혁신이란 점에 더 긍정적인 생각을 갖게 된 건 분명하다고 밝혔다.
■성능을 높여주는 닷넷 네이티브
C# 닷넷은 항상 네이티브코드인 C/C++에 비해 성능이 떨어진다는 지적을 받아왔다. MS는 이를 위해 닷넷 네이티브란 선행(AOT, ahead-of-time) 컴파일러를 소개했다. 닷넷을 네이티브코드 수준의 성능을 낼 수 있게 해주는 요소다.
MS의 C++ 컴파일러 최적화를 활용해 시작 시간을 단축시키며, 메모리 사용과 전체 애플리케이션 성능을 개선한다고 회사측은 설명했다.
프리뷰 단계인 닷넷 네이티브는 현재 x86이나 ARM 기반 제품에서 제공하는 윈도스토어에 적용해볼 수 있다. MS는 유명 윈도스토어 앱에 닷넷 네이티브를 적용한 결과 시작시간 60% 단축, 메모리 사용 15~20% 감소 등의 효과를 기록했다고 예를 들었다.
MS는 닷넷의 코어로 새로운 닷넷 JIT과 CLR을 소개했다. 'RyuJIT'(파일링크)이란 코드네임으로 불려온 새 닷넷 JIT컴파일러의 3번째 프리뷰다.
또 SSE2와 AVX 같은 새 프로세서 명령어집합에서 지원하는 싱글인스트럭션멀티플데이터(SIMD)을 활용할 수 있는 닷넷 API(바로가기)를 제공한다. 이를 통해 닷넷의 컴파일 스루풋이 획기적으로 향상됐다고 MS는 강조했다.
모바일 서비스를 위해선 클라우드인 마이크로소프트 애저와 긴밀하게 통합된다. 애저는 '애저 모바일 서비스'를 통해 클라우드 환경에서 모바일 백엔드 서비스 구축을 간소화해주고 있다. MS는 이에 더해 닷넷 모바일 서비스도 내놨다.
관련기사
- 윈도8.1용 엔터프라이즈 앱 늘어날까?2014.04.08
- 안드로이드 개발자는 왜 윈도앱을 만들어야 하나?2014.04.08
- MS, 스마트카 전략도 애플처럼2014.04.08
- 윈도폰 앱 개발, 이제는 할 만하다2014.04.08
닷넷 모바일 서비스는 애저 상의 데이터 스토리지와 연결해주는 API를 제공하고, 사용자 정의된 테이블 가동을 위한 ASP닷넷웹API와 결합됐다.
MS는 올리언스란 액터 기반 클라우드 프로그래밍 모델도 프리뷰로 공개했다. 2011년 MS 내부에서 시작된 올리언스 프로젝트는 모바일 앱 개발자가 고수준의 분산형 컴퓨팅을 쉽게 활용할 수 있게 해준다. 모바일 앱 개발자는 확장성있는 백엔드 시스템 개발에 무지한 경우가 대부분이다. 올리언스는 애저란 클라우드 환경에서 모바일 앱 개발의 백엔드를 서비스로 제공한다.