API vs Library vs Framework

코딩아재·2021년 11월 16일
0

안녕하세요!
오늘 부터 유투브 우아한Tech에서 10분 테크톡에 있는 내용들을 정리하고자 합니다.

출처: 우아한Tech


API(Application Programming Interface)

정의
응용 프로그램에서 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스
쉽게 얘기하면 프로그램 간 사이에 연결시켜 주는 다리 같은 역할

API의 특징

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

노마드코더 API 정리

다른 서버로 부터 손쉽게 데이터를 가져올 수 있는 수단이다.
오직 데이터만 기지고 온다.
API를 제공하는 웹사이트를 통해 데이터를 얻을 수가 있는데, 우리가 가져올 것은 데이터 뿐이다. 디자인이나 다른 것은 필요하지 않다.
그러니까 이런 API는 특정 웹사이트로부터 데이터를 얻거나 컴퓨터(machines)끼리 소통하기 위해 고안된것이다.
그게 우리가 API에 아무디자인이 필요없는 이유이다.
출처: 노마드코더


Library

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

Library 특징

  • 독립성을 가진다
  • 응용 프로그램이 능동적으로 라이브러리를 사용한다.
    (개발자가 작성한 프로그램이 필요할때 라이브러리를 호출해서 사용한다.)
  • Apache Commens, Guava, Lomabok, JQuery등이 있다.

Framework

정의
응용 프로그램이나 소프트웨어의 솔루션 개발을 수월하게 하기 위해 제공된 소프트웨어 환경. 개발자는 이런 틀 위에서 자기가 원하는 코드를 작성하면 된다.

프레임워크를 쓸때와 안쓸때를 비교.

프레임워크 O
level 2: Spring 프레임워크 기반으로 웹 애플리케이션을 개발하는 과정

  • 해당 요청을 처리할 컨트롤러 생성
  • 컨트롤러에 비즈니스 로직 생성

프레임워크 X
level 3: Java를 이용해 웹 서버, 프레임워크를 개발하는 과정

  • Socket, InputStream, OutStream, Request 생성
  • 해장 요청을 처리할 컨트롤러 생성
  • 컨트롤러에 비즈니스 로직 생성

프레임워크가 없을때 해야 할 일이 많다.

Framework의 특징.

  • 상호협력하는 클래스와 인터페이스의 집합이다.
  • 응용 프로그램이 수동적으로 프레임워크에 의해 사용된다.
    (개발자가 작성한 비즈니스 로직을 프레임워크가 호출한다.)
  • Spring Framework, Junit, Ruby on Rails 등이 있다.

API vs Library vs Framework 의 차이

Library와 API의 차이점은 구현 로직의 유무이다.

Library와 Framework의 차이점은 응용 프로그램의 흐름 주도권을 누가 가지고 있느냐 이다.

profile
코딩하는 아재입니다.

0개의 댓글

관련 채용 정보