Post

chapter 1. Framework와의 차이점(API, 라이브러리).md

chapter 1. Framework와의 차이점(API, 라이브러리).md

참고자료

1절. 개념 비교

API(Application Programming Interface)

  • 두 개 이상의 Software Component 사이에서 상호작용할 수 있도록 정의된 Interface
  • 일반적으로 Method, Protocol, Class로 구성
  • 다른 소프트웨어 개발자들이 이를 통해 특정 서비스 또는 기능 구현 가능

라이브러리(Library)

  • 개발자들이 자주 사용하는 코드 집합
  • 여러 기능 제공
  • 복잡한 기능을 더 쉽게 구현 가능
  • 여러 개발자가 공유하여 사용할 수 있는 소프트웨어 코드 집합

Framework

  • 개발자들이 Application 개발 시 사용되는 구조 제공
  • 일련의 규칙과 구조 정의
  • 개발자가 Application 작성 시 규칙과 구조를 따라야 함
  • 여러 컴포넌트와 라이브러리 포함
  • 특정 기능 구현을 위해 조합하여 사용

정리

API라이브러리Framework
Software Component 간의 인터페이스 정의개발자들이 자주 사용하는 코드 집합Application 개발 시 사용되는 구조 제공

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 APISMS 및 음성 API
AWS API Gateway아마존 웹 서비스에서 제공하는 API 관리 서비스
Google Cloud Vision API구글에서 제공하는 이미지 분석 API

라이브러리 예시

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

Framework 예시

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

3절. 패키지와 모듈

모듈(Module)

  • 소프트웨어의 작은 부분
  • 특정 기능을 수행하는 코드 집합
  • 파일 하나에 작성 가능
  • 다른 모듈에서 재사용 가능
  • 라이브러리 or Framework는 모듈들의 집합으로 구성

패키지

  • 관련된 모듈들을 그룹핑하는 방법
  • 소프트웨어에서는 기능별로 모듈을 작성하고 모듈들을 관련된 패키지에 포함
  • 패키지 사용 시 모듈들을 조직적으로 관리 가능
  • 다른 개발자들과의 코드 공유에 용이
This post is licensed under CC BY 4.0 by the author.