Contents

프레임워크, 라이브러리, API

API (Application Programming Interface), 라이브러리 (Library), 프레임워크 (Framework)는 모두 소프트웨어 개발에서 사용되는 용어이다.

API

API는 두 개 이상의 소프트웨어 컴포넌트 사이에서 상호 작용할 수 있도록 정의된 인터페이스를 말한다. 이를 사용하여 다른 소프트웨어 개발자들이 특정 서비스 또는 기능을 사용할 수 있다.

특징

  1. 다른 프로그램이나 서비스와 연결해 주는 다리 역할
  2. API를 조합해서 원하는 프로그램을 만들 수도 있다.

예시

  • Twitter API: 트위터에서 제공하는 API
  • Google Maps API: 구글에서 제공하는 지도 API
  • YouTube API: 유튜브에서 제공하는 API
  • OpenWeather API: 날씨 정보 API
  • GitHub API: 깃허브에서 제공하는 API
  • Kakao API: 카카오에서 제공하는 API
  • Stripe API: 결제 API
  • Twilio API: SMS 및 음성 API
  • AWS API Gateway: 아마존 웹 서비스에서 제공하는 API 관리 서비스
  • Google Cloud Vision API: 구글에서 제공하는 이미지 분석 API

라이브러리

라이브러리는 개발자들이 자주 사용하는 코드 집합이다. 라이브러리는 여러 기능을 제공하며, 이를 사용하여 개발자들은 복잡한 기능을 더 쉽게 구현할 수 있다.

특징

  1. 개발하는데 필요한 것들을 모아 둔 일종의 저장소
  2. 필요할 때 호출해서 사용한다.

예시

  • Lodash: 자바스크립트 유틸리티 라이브러리
  • jQuery: 자바스크립트 DOM 조작 라이브러리
  • React Transition Group: React 애니메이션 라이브러리
  • Moment.js: 자바스크립트 날짜 라이브러리
  • Chart.js: 자바스크립트 차트 라이브러리
  • Axios: 자바스크립트 HTTP 클라이언트 라이브러리
  • NumPy: 파이썬 수치 계산 라이브러리
  • Pandas: 파이썬 데이터 분석 라이브러리
  • Matplotlib: 파이썬 시각화 라이브러리
  • BeautifulSoup: 파이썬 웹 스크래핑 라이브러리

프레임워크

프레임워크는 개발할 때에 빈번히 쓰여지는 범용 기능을 한꺼번에 제공해 개발 효율의 향상을 목표하는 소프트웨어 환경이다. 프레임워크는 일련의 규칙과 구조를 정의하고, 개발자가 애플리케이션을 작성할 때 이러한 규칙과 구조를 따르도록 한다. 프레임워크는 보통 여러 컴포넌트와 라이브러리를 포함하며, 개발자가 특정 기능을 구현하기 위해 이를 조합하여 사용한다.

특징

  1. 공통적인 개발환경을 제공한다.
  2. 개발할 수 있는 범위가 정해져 있다.

예시

  • React: 자바스크립트 UI 프레임워크 (공식사이트에서는 라이브러리 라고 말함)
  • Angular: 자바스크립트 프레임워크
  • Vue.js: 자바스크립트 프론트엔드 프레임워크
  • Django: 파이썬 백엔드 웹 프레임워크
  • Ruby on Rails: 루비 웹 프레임워크
  • Spring: 자바 백엔드 프레임워크
  • Express.js: Node.js 웹 프레임워크
  • Flask: 파이썬 백엔드 웹 프레임워크
  • Laravel: PHP 웹 프레임워크
  • ASP.NET: 마이크로소프트 웹 프레임워크

참고

https://www.youtube.com/watch?v=_j4u4ftWwhQ

https://velog.io/@bcl0206/API-vs-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%ED%92%80%EB%A6%AC%EC%A7%80-%EC%95%8A%EB%8A%94-%EB%AF%B8%EC%8A%A4%ED%84%B0%EB%A6%AC%EC%97%90-%EA%B4%80%ED%95%98%EC%97%AC