플랫폼

특정 장치나 시스템, 서비스 등에서 이를 구성하는 기반이 되는 하드웨어나 소프트웨어 환경, 더 크게는 기초가 되는 틀이나 골격을 지칭한다.

  • 어플리케이션이 구동되는 환경?이라고

프레임워크

프레임워크는 라이브러리와 달리 어플리케이션의 틀과 구조를 결정할 뿐 아니라, 그 위에 개발된 개발자의 코드를 제어한다. 프레임워크는 구체적이며 확장 가능한 기반 코드를 가지고 있으며, 설계자가 의도하는 여러 디자인 패턴의 집합으로 구성되어 있다.

  • 틀? 구조?

라이브러리

클래스나 함수의 집합, 개발을 하며 필요한 기능들이나 반복적으로 사용되는 함수들을 매번 개발자가 코딩을 하는 것이 아닌 미리 만든 함수나 클래스를 어딘가에 저장해놓고 편리하게 사용할 수 있는 것

  • 유틸?

API

라이브러리와 비슷하지만 명세가 포함된 것

  • 명세: 어떤 클래스와 메소드가 있고 이것들을 사용하려면 어떻게 해야하는지 정리해 놓은 문서

참고: 플랫폼/프레임워크/라이브러리/API 정리