op.gg나 미세미세 등 오픈API를 이용한 앱/웹어플리케이션이 많은 인기를 끌며 기업으로 성장하는 경우가 많아졌습니다.
하지만 이 API들은 흔히 실무에서 쓰는 API와는 호출하는 법부터 조금 다릅니다.
실무에서는 백엔드개발자들이 인증/권한 등을 다 처리해주면, 저같은 프론트엔드나 퍼블리셔는
jQuery ajax나 es6의 fetch를 사용하여 데이터를 가져온뒤, 화면 구성만 하면되죠. (물론 예외도 많습니다.)
그럼 오픈API를 쓸땐 어떨까요? 일단 인증부터가 문제가 됩니다. 대부분의 API제공업체에서는 KEY를 발급하여
해당 KEY값을 활용하여 데이터를 요청해야만 허용이 되죠.
'그냥 KEY값만 파라미터로 넘겨서 사용하면 되지않아?' 라고 생각하겠지만 클라이언트단에서
API를 호출해버릴경우 KEY값이 그대로 노출되기때문에 KEY값+도메인이름으로 허용해주는(네이버,다음 지도 등) 곳이
아니라면 대부분 클라이언트단에서의 API요청은 거부됩니다.
그럼 백엔드에 대한 지식이없는 프론트엔드/퍼블리셔는 백엔드에 대한 지식없이 서버측에서 API를 호출 할 수 있을까요?
1.Firebase Function 활용
장점
1. 개인용도로 사용할 경우 과금이 없음
2. 난이도가 낮음
3. 필요시 데이터베이스 등 파이어베이스에 제공하는 다른 기능과 연동이 쉬움
단점
1. 타사API(구글 API는 무료요금으로가능) 호출시 블레이즈요금제를 써야하므로 사용자가 많을경우 예상치 못한 과금이 될 수있음
2. Fireabse Function에서 타사 API를 호출한뒤, 호스팅에서 다시 Firebase Function에 데이터를 요청하므로 이중호출구조가 되서 속도가 약간느림
2.Heroku 활용(비슷한서비스라면 상관없음)
장점
1. Nodejs에 대한 기반 지식이 있다면, Firebase처럼 이중호출할 필요가 없음.
2. 개인용도라면 무료 사용가능
3. NodeJS가 아닌 PHP,JSP도 가능
단점
1. Nodejs에 대한 기반 지식 필요
2. 무료로 사용시 접속이없으면 슬립모드로 들어가기 때문에 첫접속 시간이 느림(편법을쓰면 슬립모드를 들어가지 않게 할 수있음)
3. 데이터베이스나 다른 서비스와의 연결이 어려움
저는 NodeJS에 대한 기반 지식도 그리 많지 않고, API의 데이터를 데이터베이스와 연동해야 할 일도 있기 때문에
Firebase로 프로젝트를 시작했습니다.
다음엔 Firebase 설정 및 Firebase Fucntions를 활용해 타사 API를 호출하는 예제를 포스트하겠습니다.
'Front-End > Javascript' 카테고리의 다른 글
[Firebase] Firebase를 이용한 API 호출 - 3 (2) | 2019.06.30 |
---|---|
[Firebase] Firebase를 이용한 API 호출 - 2 (0) | 2019.06.18 |
[React]내 멋대로 만드는 Todolist-4(feat.Parcel) (0) | 2019.05.11 |
[React]내 멋대로 만드는 Todolist-3(feat.Parcel) (0) | 2019.05.03 |
[React]내 멋대로 만드는 Todolist-2(feat.Parcel) (0) | 2019.04.25 |
댓글