1. .NET 이란?
- 마이크로소프트에서 개발한 무료, 오픈소스, 크로스플랫폼 프레임워크
- 웹 어플리케이션, 데스크탑 어플리케이션, 게임, 모바일 어플리케이션 등 다양한 종류의 어플리케이션 개발 가능
- C#, F3, Visual Basic .NET 등 다양한 언어 지원
- 대규모 개발자 커뮤니티와 다양한 미리 제작된 구성요소 라이브러리를 보유하여 개발을 더욱 빠르고 쉽게 해준다.
- 코드 액세스 보안 및 샌드박스 환경과 같은 기능을 제공하여 어플리케이션 보안 향상
- Window, Linux 및 macOS를 포함한 다양한 플랫폰에서 실행될 수 있도록 지원
2. .NET SDK
- .NET 스프트웨어 개발 키트를 의미
- .NET 어플리케이션을 개발, 테스트 및 배포하기 위해 필요한 도구, 라이브러리 및 런타임 환경을 제공
- .NET 런타임과 같응ㄴ 어플리케이션 싫랭에 필요한 런타임 환경 및 다양한 명령줄 도구와 라이프러리 등이 포함
- 즉 .NET은 어플리케이션 개발 프레임워크 제공, .NET SDK는 해당 어플리케이션을 개발, 테스트 및 배포하기 위한 도구와 라이브러리를 제공
3. .NET의 주요 장점
- 크로스 플랫폼 호환성 : Windosw, Linux, macOS와 같은 다양한 플랫폼에서 실행 가능
- 다양한 언어 지원 : C#, F#, Visual Basic .NET 등 다양한 언어 지원
- 대규모 개발자 커뮤니티 : 활발한 개발자 커뮤니티를 보유하여 다양한 자료와 지원을 제공
- 호환성 : .NET은 이전 버전과의 호환성을 유지하면서 새로운 버전 출시
- 미리 제작된 구성요소 라이브러리 : .NET은 다양한 미리 제작된 구성요소 라이브러리르 제공하여 어플리케이션 개발을 더욱 쉽고 빠르게 가능
- 향상된 보안 : 코드 생ㄱ세스 보안 및 샌드박스 환경과 같은 기능을 제공하여 애플리케이션 보안을 향상
- 자동 메모리 관리 : .NET은 가비지 컬렉션을 이용하여 자동 메모리 관리를 지원
- 통합 개발 환경 : .NET은 비주얼 스튜디오와 같은 통합 개발 환경을 지원하여 개발을 더 편리하게 가능
4. 단점
- 성능 : 최근 개선되었지만, 네이티브 어플리케이션에 비해 여전히 느릴 수 있다.
- 플랫폼 의존성 : 크로스플랫폼 홯ㄴ성을 제공하지만, 다른 플랫폼에서 배포할 때 문제 발생 가능
- 학습 곡선 : 새로운 개발자들에게 학습 곡선이 가파를 수 있다
- 라이센싱 비용 : .NET 자체는 무료이지만, 일부 제 3자 구성요소에는 라이센싱 비용이 필요할 수 있다.
- 플랫폼별 특정 기능 제한 : .NET은 크로스플랫폼 호환성을 제공하지만, 플랫폼별 특정 기능이나 API에 대한 액세스 제안히 있을 수 있다.
5. 참조
1) .NET 프레임워크 : https://prmblogs.tistory.com/29