마이크로소프트(MS)가 오픈소스 소프트웨어로 내놓은 닷넷 프레임워크의 향후 비전과 계획을 공개했다.
최근 미국 지디넷에 따르면, MS의 이모 란드워스 베이스클래스라이브러리(BCL) 프로그램매니저는 4일 MSDN 블로그를 통해 리눅스와 OS X까지 지원하는 닷넷 프레임워크 오픈소스 개발 계획을 소개했다.
지난달 MS는 닷넷 프레임워크의 대부분을 오픈소스로 전환했다. 오픈소스로 새로 공개된 닷넷 스택은 ASP닷넷, 닷넷컴파일러, 닷넷 코어 런타임, 프레임워크, 라이브러리 등을 모두 포함한다. 닷넷 C# 구동에 필요한 공용언어런타임(CLR)이 리눅스와 맥용으로 제공된다.
MS가 닷넷 프레임워크를 처음 내놓은 시점은 2002년이다. 당시의 닷넷은 여러 프레임워크 중 하나에 불과했지만, 여러 디바이스, 플랫폼을 위한 다른 서브셋으로 확장됐다. 디바이스와 플랫폼에 따라 다양한 닷넷이 만들어졌다.
이에 따라 개발자는 윈도 데스크톱, 윈도폰, 윈도 스토어 등 특정 마켓 중 하나에만 집중하게 된다. 만약 개발자가 하나 이상의 다양한 윈도 환경을 고민할 경우 닷넷은 효과적이지 않다.
MS는 이식 가능한 포터블클래스라이브러리(PCL)를 통해 이 같은 문제를 해결하려 시도하고 있다. 윈도8 이후 윈도스토어 앱 계약으로 이 방안은 더 구체화됐다. 그러나 이 방안 역시 각 윈도 플랫폼에 제한되는 한계를 지녔다.
이에 따라 닷넷 코어는 닷넷의 통합된 구현을 만들겠다는 의미다. 란드워스는 “닷넷 코어는 기본적으로 닷넷 프레임워크의 포크(fork)”라며 “닷넷 프레임워크의 구현은 팩토링 작업에도 최적화됐다”고 설명했다.
이어 “(터치 기반 기기) 닷넷 네이티브와 (서버사이드 웹개발) ASP닷넷5의 시나리오가 꽤 다르지만, 우리는 통합 BCL을 제공할 수 있다”고 덧붙였다.
통합 BCL은 오픈소스로 전환된 닷넷에서 가장 새로운 요소다. 현재 MS는 두개의 다른 BCL을 제공하고 있다. 하나는 닷넷네이티브(프로젝트 N)을 위한 닷넷코어 BCL이고, 다른 하나는 ASP닷넷5에서 사용되는 코어CLR을 위한 BCL이다. BCL의 태반은 범용으로, 애플리케이션프로그래밍인터페이스(API)는 같은 임플멘테이션을 공유한다.
그는 “우리는 닷넷 코어를 닷넷 네이티브, ASP닷넷5 어느하나에도 특정하지 않는다고 여긴다”며 “BCL과 런타임들은 일반적 목적이며, 모듈로 설계됐다”고 적었다. 이어 “그것은 모든 미래의 닷넷 버티칼을 위한 토대를 형성한다”고 덧붙였다.
MS는 닷넷 코어 플랫폼을 뉴겟(NuGet) 패키지의 일부로 제공하고 있다. 이는 여러 요소들이 각기 다른 시점에 출시될 것이란 의미다.
향후의 닷넷 프레임워크가 닷넷 코어에 기반하진 않겠지만, PCL과 공유 프로젝트를 통해 둘 사이에서 코드를 공유할 수 있다.
비주얼스튜디오2015의 내년 출시와 함께 MS의 목표는 닷넷코어를 닷넷 프레임워크의 순수한 서브셋으로 명확히 하는 것이다. 어떤 기능적 격차는 없다.
MS는 닷넷 코어가 닷넷 프레임워크보다 한발 앞선 버전이 될 것으로 예상한다. 때로 닷넷 코어 기반 플랫폼에서만 사용할 수 있는 기능도 나올 수 있단 의미다.
관련기사
- 적과의 파격 동침…MS 명가재건의 꿈2014.12.08
- MS 개발툴로 안드로이드앱 개발할까?2014.12.08
- MS 밴드에 들어간 SW는?2014.12.08
- 닷넷은 '탈(脫) 윈도' 향한 MS 승부수2014.12.08
MS는 기능의 몇몇 서브셋을 닷넷코어에 소개하면서 1년마다 닷넷 프레임워크의 업데이트를 계속할 예정이다. 일부 기능은 윈도프레젠테이션프레임워크(WPF)를 지원하기 위해 추가하는 기능처럼 닷넷 프레임워크에 독점적으로 추가될 수 있다.
그는 “우리의 목표는 API를 최소화하고 행동의 차이를 최소화하면서, 현존하는 닷넷 프레임워크 애플리케이션의 호환성을 깨뜨리지 않는 것”이라고 밝혔다.