[CS] API, Library, Framework
API
- Applicatoin Programming Interface
- 응용 프로그램에서 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
- 프로그램간 연결하는 다리
- ex) 구글 API
Library
- 응용프로그램 개발을 위해 필요한 기능(함수)을 모아 놓은 소프트웨어
- 톡립적 응용프로그램이 능동적으로 라이브러리를 사용한다
- You will call library when you need it
- ex) Apache commons, Guava, Lombok, jQuery
Framework
- 응용 프로그램이나 소프트웨어의 솔루션 개발을 수월하게 하기 위해 제공된 소프트웨어 환경
- 상호 협력하는 클래스와 인터페이스의 집합
- 응용프로그램이 수동적으로 프레임워크에 의해 사용된다
- You don't call framework. Framework calls your code
- ex) Spring Framework, Junit, Ruby on Rails
참고