프레임 워크란
- 프레임 워크의 사전적인 의미: 뼈대, 툴, 체계 등의 의미
- 응용 소프트웨어를 구현하기 위한 뼈대의 역할을 해주는 툴
- 클래스와 라이브러리들의 주조적인 모임
- 유니티엔진 또한 게임의 생산성을 향상시키기 위한 프레임워크
- 아두이노 키드 세트의 경우도 하나의 프레임워크
닷넷 프레임워크란
- 마이크로소프트사에서 개발한 응용 프로그램 개발 및 실행환경
- 한 번 만들어진 프로그램을 모든 플랫폼에서 동작할 수 있도록 CLR(Common Language Runtime)이라는 가상머신이 존재
- 어떤 OS이든 닷넷 프레임워크만 설치되어 있으면 닷넷 응용 프로그램 동작 가능

- 마이크소프트는 크로스 플랫폼을 지원하도록 닷넷 프레임워크를 설계
닷넷 코어의 이해
- 크로스 플랫폼: 여러 플랫폼에서 동작하도록 구현
- 닷넷을 크로스 플랫폼을 지원하도록 다시 개발한 것이 닷넷 코어
모노, 자마린의 이해
- 모노 프로젝트는 마이크로소프트가 아닌 서드 파티에서 닷넷을 구현한 결과물
- 모노는 C# 컴파일러와 CLR을 포함하여 ECMA 표준을 준수하는 닷넷 프레임워크의 오픈소스 버전
- 모노는 자마린 모바일 플랫폼의 기초가 됨
- 자마린 확장 기능을 비쥬얼 스튜디오 2017부터 무료 제공중
닷넷 프레임워크 구조
- 닷넷 프레임워크 내부구조는 CLR, JIT 컴파일러, 클래스 라이브러리 등으로 구성
- CLR(공통언어런타임): 닷넷 프레임워크의 핵심 기능(자바 가상 머신 역할)
- JIT 컴파일러: C#코드를 빌드하면 MSIL 이라는 중간코드를 생산하여 컴퓨터가 읽을 수 있도록 기계어로 번역
C#이란?
- 마이크로소프트사에서 자체 개발한 객체지향언어
- 닷넷 프레임워크 기반에서 실행되는 여러 응용 프로그램들을 구축할 수 있도록 해주는 프로그래밍 언어
- 닷넷 프레임워크와 프로그래밍 언어와의 관계
닷넷 프레임워크의 시작
- 윈도우용 애플리케이션은 닷넷 프레임워크 기반으로 개발하는 것이 생산성과 성능이 좋음
- 사용 가능한 서드파티 라이브러리도 풍부
- 닷넷 프레임워크의 한계는 애플리케이션 생태계가 웹과 모바일로 변화하면서 더욱 두드러진다
- 국내에서는 닷넷 프레임워크가 차지하는 비중은 크지않지만 제조 의료 분야 IT 시스템에서는 비교적 활발