본문 바로가기
. NET

.NET(닷넷)이란?

by Fastlane 2024. 3. 22.
728x90
반응형

.NET과 기능에 대해 살펴보자. .NET이 무엇인지 왜 사용해야 하는지, 어떠한 한계가 있는지도 살펴보자. 

 

.NET이란?

.NET은 여러 형태의 앱을 개발할 수 있는 무료, 크로스 플랫폼, 오픈소스 개발 플랫폼이다. MS에서 만들었으며, 여러 언어/에디터/플랫폼에서의 동작을 지원한다. 

 

요약하면, .NET은 런타임 환경, 컴파일러, 언어, base class libraries로 구성되어 있다. 그 위에 여러 앱 모델이 있다. 

 

 

.NET 구현 방식을 살펴보자. 

  • .NET 5+(구 .NET Core) : Windows, macOS, Linux에서 실행이 가능한 .NET 크로스플랫폼 구현이다. 이를 이용해서 cloud, web, desktop과 같은 다양한 applications를 개발할 수 있다. 현재 .NET 8이 release되어있다. 
  • .NET Framework는 2002에 출시된 original .NET implementation이다. web, desktop 앱 개발에 사용할 수 있다. Windows에서만 실행되는 desktop 앱 개발에 최적화되어있다. 가장 최신 버전은 .NET Framework 4.8.1이다. 
  • Mono는 Android, iOS 환경 Xamarin-based mobile applications 개발을 지원하는 .NET 구현이다. 
  • UWP는 IoT 앱 개발을 위한 .NET 구현이다. 

통일성을 유지하기 위해, 다른 .NET 구현은 공통 컴포넌트와 API를 공유한다. 이 라이브러리를 .NET Standard라고 한다.가장 최신버전은 2.1이다. 

 

Different Languages

.NET을 사용하면서, 다른 언어를 사용하여 프로그램을 작성할 수 있다. 몇가지 .NET 언어를 살펴보자. 

 

C# : modern, object-oriented, type-safe 언어이다. web, desktop, mobile app 개발에 유용하다. 

F# : object-oriented, 명령형 프로그래밍을 지원하는 함수형 프로그래밍 언어이다. 고사양 비즈니스 소프트웨어나 데이터 사이언스, 머신러닝 앱개발에 유용하다. 

Visual Basic : 단순한 syntax와 함께 배우기 쉬운 언어이다. Windows forms이나 UI-based 앱을 빠르게 개발할 수 있는 것이 가장 큰 장점이다. 

 

.NET으로 무엇을 할 수 있는가?

.NET으로 다양한 종류의 앱을 개발할 수 있다.

몇몇 인기있는 앱 종류를 살펴보자. 

  • Cloud Apps
  • Web Apps
  • Mobile Apps - .NET Multi-platform App UI (MAUI)는 cross-platform desktop, mobile app 개발을 지원한다. 
  • Desktop Apps -  Blazor Hybrid 또는 Windows App SDK를 사용할 수 있다. 
  • Games - Unity 사용이 가능하다. 
  • Machine Learning & AI - ML.NET, Cognitive Services 등을 사용할 수 있다. 
  • Internet of Things (IoT) - Raspberry Pi, HummingBoard 등을 사용해서 기기와 센서를 사용하는 IoT 앱을 만들 수 있다. 

.NET Application Models

 

개발 툴

Visual Studio : .NET 앱 개발/디버깅을 위한 훌륭한 툴이다. 다양한 기능을 갖춘 IDE이며 Windows와 Mac에서 사용 가능하다. community edition은 무료이다. 

 

Visual Studio Code : Windows, Linux, Mac에서 실행하는 무료 source code editor이다. 다양한 extensions이 있다. 

 

CLI : .NET SDK에 포함된 기능이며, 빠르게 앱을 만들고 빌드하고 실행할 수 있다. Windows, Linux, Mac에서 동작한다. 

 

.NET 생태계 & 커뮤니티

NuGet package manager를 사용해서 기능을 확장할 수 있다. 

 

.NET 소스코드는 GitHub에 열려 있으며, 많은 개발자와 회사들이 기여하고 있다. 

 

728x90
반응형

댓글