프레임워크, 라이브러리, API
Contents
API (Application Programming Interface), 라이브러리 (Library), 프레임워크 (Framework)는 모두 소프트웨어 개발에서 사용되는 용어이다.
API
API는 두 개 이상의 소프트웨어 컴포넌트 사이에서 상호 작용할 수 있도록 정의된 인터페이스를 말한다. 이를 사용하여 다른 소프트웨어 개발자들이 특정 서비스 또는 기능을 사용할 수 있다.
특징
- 다른 프로그램이나 서비스와 연결해 주는 다리 역할
- 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
라이브러리
라이브러리는 개발자들이 자주 사용하는 코드 집합이다. 라이브러리는 여러 기능을 제공하며, 이를 사용하여 개발자들은 복잡한 기능을 더 쉽게 구현할 수 있다.
특징
- 개발하는데 필요한 것들을 모아 둔 일종의 저장소
- 필요할 때 호출해서 사용한다.
예시
- Lodash: 자바스크립트 유틸리티 라이브러리
- jQuery: 자바스크립트 DOM 조작 라이브러리
- React Transition Group: React 애니메이션 라이브러리
- Moment.js: 자바스크립트 날짜 라이브러리
- Chart.js: 자바스크립트 차트 라이브러리
- Axios: 자바스크립트 HTTP 클라이언트 라이브러리
- NumPy: 파이썬 수치 계산 라이브러리
- Pandas: 파이썬 데이터 분석 라이브러리
- Matplotlib: 파이썬 시각화 라이브러리
- BeautifulSoup: 파이썬 웹 스크래핑 라이브러리
프레임워크
프레임워크는 개발할 때에 빈번히 쓰여지는 범용 기능을 한꺼번에 제공해 개발 효율의 향상을 목표하는 소프트웨어 환경이다. 프레임워크는 일련의 규칙과 구조를 정의하고, 개발자가 애플리케이션을 작성할 때 이러한 규칙과 구조를 따르도록 한다. 프레임워크는 보통 여러 컴포넌트와 라이브러리를 포함하며, 개발자가 특정 기능을 구현하기 위해 이를 조합하여 사용한다.
특징
- 공통적인 개발환경을 제공한다.
- 개발할 수 있는 범위가 정해져 있다.
예시
- React: 자바스크립트 UI 프레임워크 (공식사이트에서는 라이브러리 라고 말함)
- Angular: 자바스크립트 프레임워크
- Vue.js: 자바스크립트 프론트엔드 프레임워크
- Django: 파이썬 백엔드 웹 프레임워크
- Ruby on Rails: 루비 웹 프레임워크
- Spring: 자바 백엔드 프레임워크
- Express.js: Node.js 웹 프레임워크
- Flask: 파이썬 백엔드 웹 프레임워크
- Laravel: PHP 웹 프레임워크
- ASP.NET: 마이크로소프트 웹 프레임워크