[API, 라이브러리, 프레임워크, IDE] 용어 비교

wooje·2023년 9월 3일
1
post-thumbnail

평소에 노션에 필기한 내용들은 #TodayILearned 해시태그를 붙여 여기 벨로그에 공유하려고 합니다...! 구글이라는 우주에 우주쓰레기마냥 흩어져 있는 개념들을 처리하는 용도로 쓰세요 ゝ。∂)

  • 중요하다고 느낀 부분은 ⭐별⭐, 📌핀📌 이모티콘, 밑줄로 표시했고
  • 혼동될 만한 개념이나 용어들은 vs. 표시,
  • 명령어나 폴더/파일명은 하이라이트로 표시했으니

참고해 주세요!
또 노트정리 포스팅은 우주쓰레기가 다 정리되는 그 날까지 꾸준히 업로드할 예정이니 많은 관심 부탁드려용


API (Application Programming Interface)

  • 프로그램이나 서비스 간에 데이터를 교환하고 기능을 공유하기 위한 인터페이스, 또 소프트웨어 컴포넌트들이 상호작용하는 방법을 정의한 규약이다.
    • 나무위키) API는 흔히 function, method 또는 operation 등으로 다양하게 불리는 '소프트웨어 컴포넌트'의 기능, 입력, 출력, 그리고 이에 사용되는 자료형으로 표현된다. API 자체는 어디까지나 사양(specification)만을 정의하기 때문에 구현(Implementation)과는 독립적이다. 앞서 언급했다시피 이를 실제로 구현한 것은 '라이브러리(library)'라고 부른다.
  • ⭐ 구성 요소로는 함수, 교환할 데이터 구조, 프로토콜/규약(데이터 전송 및 처리 방법)
  • ⭐ 예) 페이스북 로그인 API는 개발자가 자신의 웹사이트에서 페이스북 로그인을 허용할 수 있도록 지원한다. 개발자는 페이스북 로그인 API에 대한 권한을 요청하고 API에서 제공하는 함수 및 프로토콜을 사용하여 사용자의 페이스북 계정과 프로필 정보에 접근할 수 있다.
  • 서로 다른 소프트웨어, 서비스, 어플리케이션 간 상호작용을 가능하게 하며, 개발자는 API 호출을 통해 외부 서비스에 접근하고 기능을 사용할 수 있다.
  • 일반적으로 서버에서 호스팅되고, 개발자는 네트워크를 통해 API에 접근한다.
  • 오픈 소스는 누구나 제한 없이 쓸 수 있는 소스 코드 혹은 소프트웨어로, 열람, 수정, 복제, 재배포가 자유롭다.

Library

  • 미리 작성된 코드 조각들의 모음으로, 개발자가 특정 작업을 수행하기 위해 필요한 코드를 작성하는데 도움이 된다.
  • 라이브러리는 여러 데이터 구조, 알고리즘, 편리한 함수 등을 포함한다.
  • 예. 라이브러리 jQuery는 html 문서 탐색, 이벤트 처리, 애니메이션 효과, Ajax 상호 작용 및 DOM 조작 등 다양한 웹 개발 작업을 단순화하는 데 사용 되는 함수들을 제공한다. (일부 API를 포함함)
  • 예. React
  • 주로 로컬 시스템에 설치 되거나 프로젝트에 포함되어 실행된다.

  • 프레임워크는 어플리케이션 개발 시 필수적인 코드, 알고리즘, DB 커넥션 등의 기능들을 위한 뼈대를 제공한다.
  • ⭐ 사용자는 프레임워크가 정해준 방식대로 클래스, 메소드들을 구현하면 된다.
  • 예. Spring, Django, Flask, Android
  • 프레임워크는 라이브러리를 포함한다. 또 프레임워크는 제어 흐름이 프레임워크에게 있는 반면에(제어의 역전: 개발자가 해왔던 일을 프로그램, 즉 프레임워크가 대신 해준다는 의미), 라이브러리는 제어 흐름이 개발자에게 있다.
  • IDE(Integrated Development Environment): 프로그램을 개발하는 데 필요한 소스 코드 작성 및 편집, 컴파일, 디버깅 등 모든 작업을 한번에 할 수 있는 통합 개발 환경
    • 예. Visual Studio, Eclipse, IntelliJ IDEA


Epilogue

질문과 피드백은 언제나 환영입니다. 부족하거나 틀린 부분은 편하게 말씀해주시면 감사하겠습니다!

profile
마법학교 수석이 되고 싶은 평범한 대학생입니다 🪄

0개의 댓글