[API] 드림코딩 - API 개념 정리 및 유용한 사이트들

Web/공통|2022. 8. 20. 12:55

1. API의 역사

Application Programming Interfaces

1-1. 1964년 탄생/초창기

  • 36-but 컴퓨터 시스템을 사용할 무렵에는 Hardware Independance(하드웨어 독립성)을 위해 맣이 사용됨
    • ex) 서로 다른 하드웨어 부품마다 개발자가 일일이 프로그램을 작성하기보단, HAL(Hardware Abstraction Layer)이라는 하드웨어 추상화 계층을 통해 한 번만 display라는 함수를 이용하면 각기 다른 모니터에 출력을 하거나 각기 다른 부품에 작성을 하는 일들을 쉽게 처리해줌
    • → API의 시초

1-2. 1980년대 중반

  • Mac OS와 Window의 등장
  • 각가의 OS에서 동작하는 어플리케이션을 만들기 위해선, 운영체제에서 제공하는 API를 이용해야 함
    • EX) Mac OS는 Cocoa API, Windows는 Windows API를 이용

1-3. 요즘의 API

  • 유저들의 다양한 기기에서 서버에 있는 데이터를 읽고 쓰기 위해선 서버에서 제공하는 Web APIs를 이용해야 함
  • 한마디로, 서버에서 제공하는 Web API를 통해서 서버에 있는 데이터를 읽어오거나 업데이트 할 수 있음

2. 넓은 의미의 API

이제는 Web API뿐만 아니라 여러 곳에서 API라는 용어가 쓰임

2-1. Frameworks나 Libraries에서의 API

  • Frameworks/Libraries에서 우리가 이용할 수 있는 클래스나 함수들을 API라고 부름
    • ex) fileAPIs, DOMAPIs, LocationAPIs, contextAPIs 등

2-2. 프로젝트 내부에서 API

  • 프로젝트 내부에서 쓰여지고 있는 클래스나 모듈이 있다면
    • ex) Calculator라는 클래스에 add와 mulitply 함수를 지정한 후 다른 클래스에서 add와 multiply 함수를 사용한다면 그 또한 프로젝트 내부의 API를 사용하고 있는 것!

→ 이처럼 API는 다양한 부분에서 사용되는 단어!

  • 내부의 구현 사항을 잘 숨겨둔 채로 외부에서 사용하는 사람이 필요한 것만 노출해 둔 것을 인터페이서, 즉 API라고 부름!

3. 유용한 Open API

  • Open API
    • 회사 내부에서 사용하는 Web API를 외부의 다른 개발자가 이용할 수 있도록 공개적으로 오픈한 것
    • 이런 Open API를 통해서 많은 개발자들이 독창적이고 재밌는 어플리케이션을 만들 수 있음
    • 궁극적으로 회사, 서비스 커뮤니티에 많은 기여를 하기 때문에 많은 회사에서 Open API를 공개하고 있음!

3-1. 포트폴리오에 유용한 Open API들

  1. 카카오 API
    1. 지도, 검색 등 다양한 카카오 관련 기능을 넣고 싶다면..!
  1. 네이버 API
    1. 카카오와 마찬가지!
  1. 다양한 증권사들의 Open API들
    1. 증권에 관련된 어플리케이션을 만들고 싶다면!
    2. 공공데이터에 관련해서 다양한 데이터를 받아와 실용성 높은 어플리케이션을 만들어 볼 수도 있음
  1. 공공데이터포털
    1. 정부에서 제공하는 다양한 공공데이터들을 확인할 수 있음!

'Web > 공통' 카테고리의 다른 글

[Openvidu] openvidu-react 함수형 컴포넌트  (0) 2023.05.24
[REFACTORING] 리팩토링의 정의와 사용하는 이유  (0) 2023.05.23
Cookies  (0) 2022.09.08

댓글()