.NET Framework 란?
한마디로 표현하자면 “윈도 프로그램을 만들기 위한 개발 프레임워크” 입니다.
닷넷 프레임워크(NET Framework)는 웹 기반 애플리케이션,
form 기반 애플리케이션, 웹 서비스를 포함한 윈도 애플리케이션 개발을 위한 소프트웨어 프레임워크 입니다.
프레임워크는 C#, 비주얼 베이직 등과 같은 프로그래밍 언어를 지원하여 모두에 걸쳐 일관된 프로그래밍 모델을 제공합니다.
.NET Framework 는 다음과 같은 아키텍쳐로 구성되어 있습니다.
VB(Visual Basic), C++, C#, F# 등 여러 언어로 프로그램을 개발할수 있으나,
대부분 C#을 많이 사용하고 있습니다.
.NET 이란?
한마디로 표현하자면 “cross platform 프로그램을 만들기 위한 개발 프레임워크” 입니다.
사실상 .NET Framework 를 업그레이드한 버전이라고 생각하면 됩니다.
닷넷 (.NET)은 자유 오픈 소스인 크로스 플랫폼 프로그래밍 프레임워크 입니다.
윈도, 리눅스, 맥OS 등 다양한 운영 플랫폼에서 수행할 수 있는 혁신적인 기기와 클라우드,
IoT 애플리케이션 구축을 위해 설계된 microsoft 주도로 개발한 개발framework 입니다.
.NET Framework 와 비슷하게, VB(Visual Basic), C++, C#, F# 등 여러 언어를 지원합니다.
.NET은 원래 2016년 첫 출시에 .NET Core라는 이름이었고, cloud native app을 만들기 위한 Framework였습니다.
하지만, 5.0 버전부터는 .NET이라는 이름을 사용하기 시작하였고, 6.0 부터는 데스크톱 애플리케이션도 개발가능할 수 있도록 하였습니다.
특이사항으로는 .NET 및 .NET Core는 4.0버전이 없는데요,
출시 당시 .NET Framework 4 버전을 사용하는 곳이 많아 헷갈릴 염려가 있어서 3->5로 단번에 버전을 변경했다고 합니다.
.NET vs .NET Framework , .NET와 .NET Framework 비교
.NET과 .NET Framework 를 비교하면 아래와 같습니다.
.NET | .NET Framework |
---|---|
First version release 2016 | 2002 |
Last major version release | 2023 |
Ownership | Open-source |
Performance | Lightweight and efficient |
Deployment | Highly adaptable deployment model |
Compatibility | Works on multiple operating systems |
Support for WCF Services | No native support for WCF services, but Core WCF project enables building WCF services Supports WCF services |
Support for Microservices | Better support for microservices |
Security | Built on robust security principles |
Mobile Development | Preferred choice for mobile development |
Application Types | Supports console, desktop, web applications, mobile native applications and microservices |
무엇을 사용해야하는가? : .NET Framework vs .NET
사용만 가능하다면 가급적 .NET을 사용하는게 좋습니다.
.NET이 좀 더 최신화되고 microsoft에서 좀 더 신경을 많이 쓰는것으로 보이기 떄문입니다.
.NET을 못쓰는 legacy 환경일 경우에는 .NET Framework를 쓰고, 가능한 .NET을 선택하도록 합니다.
.NET의 버전은 2023년에 8버전이 공개될것으로 보이는데요, 6 버전이 stable한 버전인것으로 생각이 됩니다.
총평
개인적으로 네이밍이 별로 맘에 들지는 않습니다.
.NET으로 하니깐 net이라는 의미는 인터넷을 의미하는 단어도 많기 때문입니다.
자료검색이 잘 안 될 수도 있는 부분이 좀 부정적으로 생가하는 부분입니다.
이왕 framework를 전면 개편할것이였으면 이름이 아예 다른 것으로 했으면 어떨까 싶었습니다.
그리고 개인적으로는 .NET 쪽은 윈도 앱 개발 말고는 별로 사용할 일이 없을거 같습니다.
서버측는 linux로도 충분한거 같고, 서버 코드는 java로 작성하는게 레퍼런스가 많아 충분하다고 생각하기 때문입니다.