C# 은 <.NET 개발 플랫폼> 프로그래밍 언어 중 하나다.

학습방향


플랫폼은 무엇인가?

프로그래밍에서 플랫폼과 아키텍쳐는 왜 중요한가?

.NET 이 추구하는 개발 플랫폼이란?

 

 

Visual Studio 에서 <플랫폼> 살펴보기

프로젝트 생성 과정

 

 

개발 플랫폼 선택

프로그래밍언어, 플랫폼, 프로젝트 선택

 

 

Platform


의미

  • 사람이 모이는 곳
  • [어원] ‘Flat(평평한) + Form(모습)’

사람은 왜 모일까?

  • 그곳에서만 가능한 무엇인가를 하기 위해서
  • 특정 서비스를 이용하기 위해서 
  • 승강장 - 사람들이 기차를 쉽게 타고 내릴 수 있도록 평평하게 만든 장소를 의미한다.

 

 

IT 산업과 Platform


 

플랫폼은 다양한 종류의 시스템이나 서비스를 제공하기 위해 공통적이고 반복적으로 사용하는 기반 모듈, 어떤 서비스를 가능하게 하는 일종의 ‘토대’로 정의한다.

제품·서비스·자산·기술·노하우 등 모든 형태가 가능하다.

 

 

 

애플 생태계 카카오 플랫폼 .NET Platform
사람이 모이는 곳
애플 기기 사용자만 가능한 서비스 카카오톡 사용자만 가능한 서비스 .NET 만 가능한 서비스

애플은 애플 생태계를 만들고, 애플 기기 플랫폼을 만들었다.

카카오톡도 카카오톡 이용자만 사용 가능한 서비스를 제공하여 카카오 플랫폼 생태계를 구축했다.

닷넷 또한 닷넷만이 제공 가능한 개발 서비스를 제공한다. 

 

 

.NET 만 가능한 서비스

.NET 플랫폼은 Linux, macOS, Windows, iOS, Android 등의 다양한 운영 체제에서 실행할 수 있는 소프트웨어를 개발 가능하도록 지원하는 서비스를 의미한다.

.NET 만의 프레임워크, 라이브러리 및 프로그래밍 언어를 포함한다. 

 

그렇다면 다양한 운영 체제에서 실행할 수 있는 소프트웨어를 개발 플랫폼이란 어떤 의미가 있을까?

 

 

운영체제 플랫폼


사전지식: 소스코드, 빌드, 어셈블리, 기계어, 실행 개념, 소프트웨어, 하드웨어, 개발자의 역할

 

Chrome Web browser, Visual Studio Code 와 같은 프로그램은, Linux, macOS, Windows, iOS, Android 등의 다양한 운영 체제 플랫폼에서 실행 가능한 프로그램이다.

 

 

운영체제 플랫폼

카카오톡 플랫폼과 애플 생태계는 관련이 없다.

Linux, macOS, Windows, iOS, Android 등은 상호 관련이 없는 운영체제 플랫폼이다.

윈도우에서 구동되는 프로그램은, 플랫폼에 종속적인 프로그램이기 때문에 다른 종류인 맥, 리눅스 등의 운영체제에서 실행 할 수 없다. 이를 플랫폼 종속적인 프로그램이라 한다.

 

개발자는 여기서 큰 문제가 발생한다

하나의 솔루션(프로그램)을 제공하려 할 때, 여러 운영체제 동일하게 제공하기 위해서는, 각각의 운영체제 플랫폼에 맞게 별도로 구현해야한다. 

경우의 수가 증가한다는 것은, 개발 자원과 비용의 증가로 이어진다. 

 

 

닷넷(.Net) 개발 플랫폼만이 가능한 서비스 제공

닷넷은, 이러한 문제를 하나의 언어와 최소한의 프로젝트로 다양한 운영 체제에서 실행할 수 있는 소프트웨어를 개발 가능하도록 지원하는 서비스 제공하고자 한다.

플랫폼에 독립적이며, 닷넷 개발환경에서 개발하고, 각각의 운영체제 플랫폼에 맞는 네이티브 코드로 빌드가 가능한 시스템을 목표로 한다,