새롭게 무장한 .Net 5에 대한 소개

그림 1 .NET – A unified platform

국내외에서 가장 많은 개발자를 보유하고 있는 Java를 비롯하여 블록체인, 인공지능 등의 기술을 지원하는 파이썬(Python), 고(Go) 등의 프로그램 언어가 인기를 끌고 있지만, MS가 지원하는 프로그램 언어는 대부분 윈도우 기반 플랫폼에서 동작하기 때문에 많이 소외되는 느낌을 받고 있습니다.

최근 몇 년간 MS는 이를 보완하고자 오픈소스 진영의 과감한 투자를 통해 닷넷코어(.Net Core), 자마린(Xamarin)을 출시하여 MacOS, Linux, Android, iOS 등 크로스플랫폼을 지원하기 시작했지만 아직까지는 윈도우에 기본 탑재된 닷넷 프레임워크(.net Framework) 기반의 프로그램과 닷넷코어 기반의 프로그램, 자마린 기반의 프로그램은 서로간의 API를 완전히 호환하지 못하기 때문에 3가지 모두 제각각의 프로그램 양상을 띄고 있습니다.

하지만 최근 MS에서 예전의 마이크로소프트 왕국을 재건하기 위해 자신들이 세운 윈도우 및 리눅스, 기타 모바일 OS 등 Java처럼 이를 모두 호환할 수 있는 프레임워크를 개발하고 배포한다는 기사가 발표되었습니다.

올해까지 닷넷 프레임워크 4.8과 닷넷코어 역시 3.0을 마지막으로 하고 이를 통합한 버전인 닷넷(.Net) 5를 출시한다고 합니다.

아직까지 정확히 밝혀진 것은 없지만 닷넷 5가 출시가 된다면 닷넷 기반의 모든 프로그램은 당연히 윈도우, 리눅스를 가리지 않고 자바처럼 바로 실행할 수 있는 새로운 프로그램이 추가적으로 올 것으로 예상되고 있습니다. 발표에 따르면 “앞으로는 .NET 하나만 지원할 것이며, Windows, Linux, macOS, iOS, Android, tvOS, watchOS 및 WebAssembly 등 수많은 OS 시장을 대상으로 사용할 수 있다”고 발표를 했으며, 이름 역시 단순화 하기 위해 코어/프레임워크라는 이름을 버리고 버전 또한 4.x, 3.0등 사용자를 혼란스럽게 할 여지가 있기 때문에 4를 건너뛰고 5라는 버전으로 출시할 것이라고 합니다.

새로운 닷넷5는 성능상으로 기존 닷넷 프레임워크 프로그램보다 빠른 시작/더 스마트한 실행파일 사이즈/메모리 사용량 감소를 지원하기 때문에 모바일 환경의 기기에서도 유용하게 쓰일 것이라고 합니다. 또한 닷넷 5에서는 다음 3가지를 약속하였습니다.

  • 자바 상호 운용성은 모든 플랫폼에서 사용 가능
  • Objective-C 및 Swift 상호 운용성은 여러 운영 체제에서 지원
  • CoreFX는 .NET의 정적 컴파일 (AOT), 더 작은 설치 공간 및 더 많은 운영 체제 지원을 지원하도록 확장될 예정

위 의미는 Java또는 Objective-C, Swift, 닷넷 코어로 만들어진 라이브러리를 쉽게 불러 사용할 수 있다는 의미로 생각됩니다.

이 기사 발표이후 많은 개발자들이 프로그램의 많은 기술을 하나의 프레임워크로 개발이 가능하다는 의미로 받아들이고 있으며, 향후 MS의 지원 방향 및 안정성, 성능이 얼만큼 뛰어날지, 타 프로그램 언어 개발자를 얼만큼 흡수할 지 귀추가 주목됩니다.

 

* 참고자료

Introducing .NET 5

.NET Core, .NET Framework, Xamarin – The “WHAT and WHEN to use it”