프레임워크, 라이브러리, API의 차이는 무엇인가요?
Framework
정의 : 응용 프로그램이나 소프트웨어의 개발을 편리하게 하기 위해 제공된 소프트웨어 환경
프레임워크에 의존하여 개발해야 하고, 프레임워크가 정의한 규칙을 준수해야한다.
특징
상호헙력하는 클래스와 인터페이스의 집합
응용 프로그램이 수동적으로 프레임워크에 의해 사용된다.
Library
정의 : 응용 프로그램 개발을 위해 필요한 기능(함수)들을 모아놓은 소프트웨어
자주 사용하는 로직들을 재사용하기 편리하도록 만들어 놓은 코드의 집합이다.
라이브러리는 단일 파일로 구성된 코드의 집합인 모듈의 집합이다.
특징
다른 라이브러리들과 독립성을 가진다.
응용 프로그램이 능동적으로 라이브러리를 사용할 수 있다.
API(Application Programming Interface)
정의 : 응용 프로그램에서 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
응용 프로그램을 만드는데 필요한 연결장치, 매개체라고 할 수 있다.
여러 큰 기업들에서 제공하는 OpenAPI를 활용하여 필요한 기능을 편리하게 사용할 수 있다.
특징
구현과 독립적으로 사양만 정의되어 있다.
API에 따라 접근 권한이 필요할 수 있다.
라이브러리 vs API
구현 로직의 유무에 따라 갈린다.
API : 컴포넌트를 사용하는 규약 및 호출을 위한 수단으로, 구현 로직이 필요하지 않는다.
라이브러리 : 컴포넌트 자체로, 구현 로직이 존재한다.
라이브러리는 도구 자체라고 볼 수 있고, API는 도구를 달라고 요청하는 것이라고 볼 수 있다.
라이브러리 vs 프레임워크
가장 큰 차이는 응용 프로그램의 흐름 주도권을 누가 가지고 있느냐이다.
라이브러리 : 개발자가 라이브러리를 호출하여 사용하여 컨트롤한다.
프레임워크 : 개발자가 프레임워크 규칙에 따라 코딩을 하면, 프레임워크가 내 코드를 호출해 컨트롤한다.
참고
Last updated