• API


 - 정의
  • Application Programming Interface
  • 응용 프로그램에서 운영 체제나 프로그래밍 언어가 제공하는 기능을
    제어할 수 있게 만든 인터페이스

 - 특징
  • 구현과 독립적으로 사양만 정의되어 있다
  • API에 따라 접근 권한이 필요할 수 있다
  • Java API, 여러 기업들의 Open API...

• Library


 - 정의
  • 응용 프로그램 개발을 위해 필요한 기능(함수)을 모아 놓은 소프트웨어

 - 특징
  • 독립성을 가진다
  • 응용 프로그램이 능동적으로 라이브러리를 사용한다
  • Apache Commons, Guava, Lombok, jQuery...

• Framework


 - 정의
  • 응용 프로그램이나 소프트웨어의 솔루션 개발을 수월하게 하기 위해
    제공된 소프트웨어 환경

 - 특징
  • 상호협력하는 클래스와 인터페이스의 집합이다
  • 응용 프로그램이 수동적으로 프레임워크에 의해 사용된다
  • Spring Framework, Junit, Ruby on Rails...

• 차이점


Library vs API Library vs Framework
- 구현 로직의 유무 - 응용 프로그램의 흐름 주도권을 누가 가지고 있느냐


출처 : 우아한Tech(10분 테코톡)

댓글남기기