필자는 용어를 굳이 명확하게 구분하는 것을 좋아한다.


그리고 최대한 정의만 간단히 하여 쉽게 이해하는 것을 좋아한다.

그래서 정리해보았다.


그러나, Platform과 Framework의 경계선은 애매하다. 명확하게 구분되지 않는다. 이것이 필자의 결론이다.

그래도 일단 알아보자.


Platform : 소프트웨어SW를 실행해주는 환경. Windows, Linux 등의 OS가 예이다.


Framework : Software Framework. 클래스와 라이브러리들의 집합이라고 생각하자. 여기에서 라이브러리랑은 뭐가 달라요?라는 의문이 생긴다.

LIbrary개발자가 프로그램의 흐름을 제어한다. 주가 개발자이다.

그러나, Framework는 그 반대이다. 프레임워크의 실행 흐름 내에서 개발자가 일부분을 개발한다. 

정확한 예인지는 모르겠지만, 프레임워크는 '웹 개발' 프레임워크처럼 웹 개발 틀이 만들어져 있고, 라이브러리는 그런 것이 없고 사용하기 나름이다.


프레임워크의 예로 .NET Framework(닷넷 프레임워크)는 MS의 윈도우 프로그램 개발/실행 환경이라고 위키디피아에서 소개한다. 가상머신 CLR에서 작동한다.




프로그램/소프트웨어의 '실행' 부분에서 플랫폼은 필수다. 프레임워크도 필요한 경우에는 필수다. 이런 점에서 뭐가 달라?라는 의문이 생기는 모양이다. 하지만 '개발' 부분에서는 프레임워크와 라이브러리가 비교 대상이다.




틀린 부분이 있다면 태클/피드백 주시길.


WRITTEN BY
hojongs
블로그 옮겼습니다 https://hojongs.github.io/