[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들
- 카카오 API
- 지도, 검색 등 다양한 카카오 관련 기능을 넣고 싶다면..!
- 네이버 API
- 카카오와 마찬가지!
- 다양한 증권사들의 Open API들
- 증권에 관련된 어플리케이션을 만들고 싶다면!
- 공공데이터에 관련해서 다양한 데이터를 받아와 실용성 높은 어플리케이션을 만들어 볼 수도 있음
- 공공데이터포털
- 정부에서 제공하는 다양한 공공데이터들을 확인할 수 있음!
'Web > 공통' 카테고리의 다른 글
[Openvidu] openvidu-react 함수형 컴포넌트 (0) | 2023.05.24 |
---|---|
[REFACTORING] 리팩토링의 정의와 사용하는 이유 (0) | 2023.05.23 |
Cookies (0) | 2022.09.08 |
댓글()