우버, 엘프, 포켓몬고의 기술적 공통점

구글 지도 Google Maps와 같은 서비스를 직접 만들려면 어떻게 해야 할까? 지구상에 있는 도로, 건물, 도시, 해안선은 모조리 촬영하고 측량하기 위해 수많은 인력과 차량을 파견해야 할 것이다. 실제로 구글은 그렇게 하고 있다. 어디 그뿐인가? 회전, 확대 축소, 길 찾기 기능도 개발해야 한다. 한마디로 굉장히 어려운 일이다. 천하의 애플도 애플 지도 Apple Maps가 구글 지도보다 급이 덜어진다고 욕을 먹을 정도다.

© hjkp, 출처 Unsplash

우버 Uber, 포켓몬고 Pokemon Go, 엘프 Yelp는 각각 차를 탈 수 있는 곳, 포켓몬을 찾을 수 있는 곳, 근처 식당의 위치를 알려주기 우해 지도를 표시해야 한다. 그렇다고 천문학적인 돈과 시간을 들려서 자체 지도를 만들려고 하면 아마 본전도 못 건질 것이다.

그러면 어떻게 해야 할까? 사용해 본 사람이라면 이미 해법을 알고 있을 것이다. 앱에 구글 지도를 탑재하는 것이다. 맛집을 찾을 때? 엘프는 구글 지도에서 현재 위치를 중앙에 두고 근처 식당을 핀으로 표시한다. 차를 타고 시내로 나가고 싶을 때? 우버는 구글 지도로 목적지까지 경로를 표시하고 예상 소요 시간을 보여준다.

© kobuagency, 출처 Unsplash

이게 가능한 이유를 구글이 타사 앱에서 구글 지도를 표시할 수 있는 짤막한 코드를 제고하기 때문이다. 그뿐만 아니라 지도에 아이콘을 표시하고, 목적지까지 가는 길을 계산하고, 과속 단속 구간을 찾는 코드까지 준비되어 있다. 비용도 저렴하고 무료다. 짧은 코드만 넣으면 구글이 수년간 갈고닦은 기술을 가져다 쓸 수 있다니 개발자들에게는 횡재나 다름없다. 이미 존재하는 기술을 새로 만든다고 고생할 필요가 없는 것이다.!

이렇게 다른 앱의 기능이나 데이터를 가져다 쓸 수 있게 해주는 코드를 응용프로그램 프로그래밍 인터페이스 application programming interface, 줄여서 API라고 부른다.

© jstrippa, 출처 Unsplash

#우버, 엘프, 포켓몬고의 기술적 공통점