API, Libaray, Framework

1. API


그림1
API란 Application Programming Interface로 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스입니다.

그림2
비유를 들어보면 API는 손님, 점원, 요리사 관계에서 점원과 같습니다.
점원이 가져다 준 메뉴판을 보면서 손님은 점원에게 주문을 하고, 요리사는 점원이 전달해준 주문을 받아서 요리를 다시 점원에게 줍니다. 점원은 음식을 손님에게 가져다 줍니다.
API는 프로그램들이 서로 상호작용하는 것을 도와주는 매개체 입니다.


2. Libarary


라이브러리란 응용 프로그램 개발을 위해 필요한 기능(함수)을 모아 놓은 소프트웨어 입니다.
라이브러리는 다른 라이브러리를 의존하지 않고 독립적입니다.
응용 프로그램은 능동적으로 라이브러리를 사용합니다.
즉,개발자가 전체적인 흐름을 갖고 있어 개발자가 원하는 시점에 사용할 수 있습니다.

3. Framework


프레임워크란 응용 프로그램이나 소프트웨어 솔루션 개발을 수월하기 위해 제공된 소프트웨어 환경 입니다.
쉽게 말하면, 프레임워크는 완성된 제품이 아닌 완성된 제품을 만들기 위해서 개발자를 도와주는 기반이 되는 역할을 하는 것입니다.
프레임은 뼈대나 기반구조를 뜻하는데 프레임워크는 프로그래밍을 진행할 때 필수적인 코드, 알고리즘 등과 같이 어느 정도의 구조를 제공해줍니다.
따라서 프레임워크를 사용하는 개발자는 이 프레임워크라는 뼈대 위에서 코드를 작성하여 프로그램을 개발합니다.
프레임 워크를 사용하는 개발자는 프레임워크가 제공하는 구조, 틀안에서 개발자가 코드를 작성하기 때문에 라이브러리와 달리 프레임워크가 전체적인 흐름의 제어 를 갖고 있습니다.



4. Libarary와 Framework의 차이


Framework 부분에서 설명했지만, 둘의 차이는 전체적인 흐름 제어 에 있습니다.
Framework가 제공하는 전체적인 구조 안에서 개발자가 코드를 작성하기에 전체적인 흐름은 Framework가 갖고 있지만, Libaray의 경우 개발자가 원하는 시점에 사용기에 개발자가 전체적인 흐름을 갖고 있습니다.
비유를 들어 쉽게 설명하자면, 프레임워크는 어떻게 만들라고 설명서가 주어진 장난감이고, 라이브러리는 설명서 없이 조립부품만 있는 장난감이라고 볼 수 있습니다.





API란? 비개발자가 알기 쉽게 설명해드립니다!]
[10분 테코톡] 🙆‍♀️티버의 API vs Library vs Framework]


© 2021. By Backtony