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

API (Application Programming Interface)

API는 소프트웨어나 애플리케이션 간의 상호작용을 가능하게 하는 일련의 규칙과 명세이다.

쉽게 말해, API는 한 소프트웨어가 다른 소프트웨어에게 자신의 기능을 어떻게 사용할 수 있는지 정의해 놓은 것이다.

API를 이용하면 개발자가 기능을 구현하지 않고도 원하는 기능을 제공하는 서비스를 이용할 수 있다.

 

API 장점

  • API를 이용하여 이미 구현된 기능을 쉽게 재사용할 수 있어 시간이 절약된다.
  • 표준화된 서비스를 제공하기 때문에 호환성을 높여준다.

API 사용예시

  • 구글이나 깃허브 같은 서비스의 API를 사용하여 웹서비스에 소셜 로그인 기능을 통합
  • 구글 맵스 API를 이용해 웹서비스에 지도 서비스 제공
  • 카카오페이, 네이버페이 등의 API를 통해 온라인 결제 기능을 통합 

라이브러리 (Library)

라이브러리는 특정 기능을 수행하는 코드의 집합이다.

코드들은 함수, 클래스, 변수 등으로 구성되어 있다.

라이브러리를 사용하여 특정 작업을 수행하는 데 필요한 코드를 재사용할 수 있다.

라이브러리는 단일 문제 해결을 위한 단일 도구이며 개발의 제어권이 개발자에게 있다.

라이브러리 장점

  • 개발기능을 단축시키고 복잡한 기능을 쉽게 구현할 수 있다.
  • 검증된 코드를 사용하기 때문에 오류의 가능성을 줄여준다.
  • 표준화된 코드 구조를 사용하기 때문에 코드의 유지보수가 편리하다.

라이브러리 예시

  • React를 이용하여 웹 프론트엔드 UI개발이 효율적으로 변함
  • 데이터 분석을 위한 라이브러리를 사용하여 대규모 데이터를 효율적으로 다룸
  • JAVA의 'Math' 라이브러리를 사용하여 수학적 연산을 수행

프레임워크 (Framework)

프레임워크는 특정 개발 작업을 위한 기본 구조를 제공한다.

프레임워크는 개발자가 일정한 규칙 또는 구조 내에서 코드를 작성하도록 한다.

프레임워크는 일반적으로 라이브러리를 포함하며, 애플리케이션의 기본 흐름과 구조를 정의한다.

프레임워크는 다수 문제 해결을 위한 도구 집합이며 개발의 제어권이 프레임워크에 있다.
이는 IoC (Inversion of Control, 제어권의 역전) 개발, 흐름 제어권이 개발자에서 프레임워크로 이동함을 의미한다.

프레임워크 장점

  • 프레임워크는 개발과정을 가속화하고 개발자가 더 빠르게 애플리케이션을 구축할 수 있도록 도와준다.
  • 일관된 코딩 표준과 아키텍쳐를 제공하여 유지보수가 편리해진다.

 

프레임워크 사용예시

  • Flutter나 React Native를 사용해 크로스 플랫폼 모바일 어플리케이션을 개발
  • Angular를 사용하여 모듈화된 웹 애플리케이을 효율적으로 개발

 

 

 

 

 

 

'.ect' 카테고리의 다른 글

시멘틱 버저닝 - package.json  (2) 2024.09.13
가비아에서 도메인 구매하기 + Vercel 프로젝트  (0) 2024.08.13
Markdown문서 개념과 작성법  (0) 2024.03.06