EEEERRRRPPPPP
226
2021-01-28 12:26:10
9
1053

.Net 란 무엇인가요?


현재 Visual Studio에서 C#으로 .Net 으로 개발을 하는데..

구글링 해봐도 그냥 개념만 나와있습니다..


.Net 이란게 무엇인가요??



0
  • 댓글 9

  • 개나소나고생
    7k
    2021-01-28 12:36:35

    너무 질문의 범위가 광범위 해서 우선 아래 링크를 통해 확인 부탁드립니다.

    https://docs.microsoft.com/ko-kr/dotnet/core/introduction

  • EEEERRRRPPPPP
    226
    2021-01-28 12:46:09
  • 최데이비드
    41
    2021-01-28 13:09:52

    그냥 닷넷이라는게...개발 프레임워크에요.. 별다른건 없어요.. ms에서 밀고 있는 프레임워크.. 자바라면 스프링프레임워크와 같은 개념..

  • pooq
    7k
    2021-01-28 13:44:19

    "데스크탑, 웹, 모바일, IoT등... 니가 뭘 할지 몰라서 할 수 있는 모든걸 제어할 수 있게 만들어봤어"급의 프레임워크이고, 이 자체만으로도 하나의 생태계를 구성하고 있고, 이런 닷넷을 지원하는 대표적인 언어가 C#이고, 대표적인 ide가 Visual Studio이고, 닷넷 언어 규약만 지킨다면 자바든 php든 파이선이든 어떤 언어든 닷넷 프레임워크를 사용할 수 있도록 만들어놓은, 자본주의 최고의 개발 환경이죠.
    하지만 현실은 윈도우 전용 C# 라이브러리 덩어리.

  • fender
    22k
    2021-01-28 13:55:03 작성 2021-01-28 14:01:10 수정됨

    윗 분 말씀이 아주 틀린 것은 아니지만 그렇다고 윈도우즈 전용이라고 하기엔 닷넷 코어 이후 크로스 플랫폼 지원이 실질적으로 크게 향상된 것을 무시하긴 어렵습니다.

    처음 내세웠던 강점 중 언어에 독립적이라는 건 지금 와서는 크게 와닿지 않는 반면, 오히려 C#을 주력으로 하는 크로스 플랫폼 오픈소스 프레임워크로서의 가능성이 부각되는 상황입니다.

    저는 닷넷을 2년 조금 넘게 쓴 것 같은데, 그 동안 한 번도 윈도우즈에서 코딩을 해본 적이 없습니다. (그리고 이건 안타까운 이야기지만, 오픈소스 디스코드 등에서 자바를 한다고 하면 무슨 코볼 개발자 보듯하는데, C#을 한다고 하면 '쿨'하게 생각하는 경우가 많았습니다.)

    이미 VSCode나 라이더로 닷넷 코어 기반 서비스를 만들어서 리눅스 도커 이미지로 배포한다던지, 닷넷을 지원하는 게임 엔진으로 리눅스용 게임을 만든다던지 하는 일들이 가능하고, 해외에선 꽤 쓰이고 있습니다.

    확실한 것은, MS가 매우 영리하게 의식적으로 닷넷=윈도우즈=VS라는 공식을 벗어나기 위해 상당 시간 공을 들였고, 지금은 이미 가시적인 성과가 나오고 있다는 점입니다.

    그게 얼마나 확대될지는 모르겠지만 적어도 우리나라에서 체감하는 "한 때 자바와 경쟁하다 망한 프레임워크" 정도의 위상과 현실은 꽤 괴리가 큽니다.

  • 히주기
    111
    2021-01-28 13:56:26 작성 2021-01-28 13:57:25 수정됨

    MS에서 밀고 있는 자바 런타임이나 SDK 와 비슷한

    개발 및 실행 환경을 통털어서 입니다.

    언어는 C#, VB.NET, C++ 등 여러가지 사용할수 있어요.

    윈도우에서 주로 동작하지면 리눅스에서 가능한 코어 라이브러리도 있습죠


  • EEEERRRRPPPPP
    226
    2021-01-28 14:23:38

    모든 분들 답변 감사합니다!!

    개념이 좀 어렵긴 하네요  ㅠ

  • SimonTR
    29
    2021-01-29 15:08:51

    .NET 의 처음 등장은 .NET Framework 라는 형태로 Java 의 JVM 과 같이 Virtual Machine 정도로 보면 되는걸로 저는 이해하고 있습니다. JVM 과 같이 .NET Framework 가 CLR (Common Language Runtime) 을 기반으로 해 Intermediate Language 로 컴파일 가능한 언어들 (VB.NET, F#, Managed C++ 등) 을 윈도우즈에서 원래 쓰여진 언어에 관계없이 다 실행시킬 수 있었으니까요. JVM 에서 Java Byte Code 가 .NET 에서는 IL 에 대응된다고 보시면 됩니다. 그런데 원래는 Open Source 랑 원수 관계에 있던 Microsoft 에서 여러 이유가 있겠지만 오픈소스와 리눅스에 친화적인 방향으로 선회하면서 .NET 기술 자체를 Cross-platform 으로 바꾸려는 시도가 이루어져서 결국엔 .NET 자체에 표준 스펙이 생겨 .NET Standard 라는 이름이 붙게 되었고, 이를 구현하는 오픈소스 구현체가 .NET Core 라는 형태로 등장을 하게 된거죠. 그래서 이제는 윈도우즈 뿐만 아니라 Linux, Mac 까지 진정한 의미에서 크로스 플랫폼 프레임워크로 거듭나게 된거구요. (원래도 크로스 플랫폼을 지향하긴 했지만 실제로 닷넷 프레임워크에서 지원하는건 윈도우즈 밖에 없었어서...) 그에 따라서 이 닷넷 관련 오픈소스 프로젝트들을 관리하는 재단이 따로 설립되어서 (.NET Foundation) 마소가 아닌 재단측에서 닷넷을 관리하게 된거구요. (물론 여전히 MS 의 영향력 아래에...) 그 뒤에 원래 있던 ASP.NET, ADO.NET 등이 .NET Core 로 포팅되고 새로운 닷넷 기반 기술 혹은 언어들 (ML.NET, Xamarin) 등이 생겨나면서 최근에는 닷넷의 세가 확실히 확장되서 자바까지 위협하게된 상황이라고 보시면 될 것 같습니다. 다만 닷넷으로 데스크탑, 모바일, 서버 등 다양한 애플리케이션을 개발할 수 있긴 하지만 C# 이 주력 언어인지라 언어의 구조적 한계 떄문에 모든 형태에서 다 대세가 되지는 못했고, 또 앞으로도 그럴 일은 없을 것 같아보입니다. 그렇지만 MS 의 클라우드 플랫폼인 Azure 과 Office 계열들의 호환성도 무시할수가 없기에 제 생각으로는 닷넷 커뮤니티가 앞으로도 쭉 성장할 것 같습니다.

    (다만 이건 북미 한정입니다... 다른 쪽은 제가 잘 모르나 한국은 아직도 자바가 압도적인 위치에 있기에... 한국한정으로 닷넷이 솔직히 자바나 JVM 의 위상을 대체하기엔 힘들 것 같습니다.)

  • SimonTR
    29
    2021-01-29 15:12:14

    덧붙이자면 Visual Studio 2019 와 같은 툴은 IDE (Integrated Development Environment) 라고 해서 통합적으로 개발 관련된 라이브러리/유틸리티/환경을 제공하는 프로그램인데요, 이게 MS 에서 만든거라 자사의 기술인 닷넷계열과 아주 찰떡 궁합이죠. (VS IDE 는 에디터가 C# 으로 다 만들어졌다는 사실..!)

    한마디로 C# => 언어, .NET => 플랫폼, VS IDE => 개발툴로 이해하시면 좀 더 이해가 빠르실거라 생각합니다!

  • 로그인을 하시면 댓글을 등록할 수 있습니다.