모바일 앱개발을 조금 알아가다 보면 ‘API’라는 단어가 심심치 않게 눈에 들어옵니다. 언뜻 이해는 되는데, 깊게 이야기하게는 뭔가 괜히 복잡하고 어려워 보입니다. 여러분도 같다면 이 글을 정독하세요. API의 개념이 정확히 무엇인지부터 어떤 종류가 있고, 실제 앱개발 실무에서는 어떤 API들이 어떻게 쓰이는지까지 쉽게 정리해 드립니다.
✍️ 이 글의 순서
• API의 개념과 구체적인 역할
• 대표적인 API 종류 4가지
• 어렵게 만든 걸 왜 배포할까?
• 자주 만나는 API 활용 사례 3가지
API는 ‘Application Programming Interface’의 약자로, 직역하자면, ‘앱들이 서로 대화하는 방법’이라고 할 수 있습니다. 앱과 앱, 또는 앱과 서버 사이의 소통을 가능하게 하는 중요한 연결고리 역할을 하죠.
쉬운 예로 날씨 앱을 들 수 있습니다. 여러분이 날씨 앱에서 ‘서울’을 검색하면, API는 이 요청을 서버에 전달합니다. 서버는 요청받은 ‘서울’의 날씨 데이터를 찾아 API를 통해 앱에게 응답합니다. 그러면 앱은 이 데이터를 우리가 쉽게 이해할 수 있는 형태, 즉 아이콘이나 그래프 등으로 변환하여 화면에 표시합니다.
이런 과정으로 우리는 복잡한 기술적 과정을 알 필요 없이 단순히 앱을 조작하는 것만으로도 원하는 정보를 쉽게 얻을 수 있습니다. 요약하자면, API는 복잡한 기술적 과정을 숨기고 사용자와 개발자 모두에게 편리한 인터페이스를 제공하는 기술을 의미합니다.
실제로 토스와 같은 금융 앱은 은행의 API를 이용해 사용자의 계좌 정보를 불러옵니다. 이렇게 API를 통해 다른 기관, 기업 서버의 데이터를 활용, 새로운 서비스로 조합해 제공할 수 있습니다.
API를 통해 다른 앱의 유용한 기능을 빌려 쓰기도 합니다. 온라인 쇼핑몰에서 카카오페이나 네이버페이로 결제할 수 있는 것도 API 덕분이죠. 쇼핑몰 앱이 결제 기능을 직접 만들지 않고, 결제 서비스의 API를 이용해 안전하고 편리한 결제 기능을 제공합니다.
클라우드 서비스나 웹 서비스도 쉽게 이용할 수 있도록 돕습니다. 예를 들어, 많은 기업들이 사용하는 아마존 웹 서비스(AWS)는 API를 통해 다양한 기능과 부가 서비스들을 제공하고 있죠. AWS를 통해 개발자들은 서버 관리와 데이터 저장, 인공지능 기능 등을 쉽게 자신의 앱에 추가할 수 있습니다.
Open API는 누구나 사용할 수 있도록 공개된 API입니다. 네이버나 카카오에서 제공하는 지도 API를 이용하면 앱에 지도 기능을 쉽게 추가할 수 있습니다. 혹은 기상청에서 제공하는 날씨 정보 API를 활용하면 실시간 날씨 데이터를 앱에 표시할 수 있죠.
이와 반대로 Internal API는 기업 내부에서만 사용하는 비공개 API입니다. 업무에서는 대형 온라인 쇼핑몰에서는 주문 처리나 재고 관리, 배송 추적 등 다양한 시스템 간의 통신을 Internal API로 처리하는 데 사용됩니다. 이를 통해 고객이 주문을 하면 자동으로 재고를 확인하고, 배송 정보가 업데이트되는 등의 작업이 효율적으로 이루어지고 있죠.
웹을 통해 데이터를 주고받는 API입니다. 실제로 음악 스트리밍 서비스인 스포티파이의 Web API를 사용하면 앱 내에서 음악 정보를 검색하거나 재생 목록을 만들 수 있습니다. 다른 예로 인스타그램의 Web API를 이용하면 다른 앱에서 인스타그램 사진을 표시하거나 포스팅이 가능해집니다.
특정 프로그래밍 언어나 플랫폼에서 제공하는 기능을 쉽게 사용할 수 있게 해주는 API인데요. 예를 들어 파이썬의 NumPy 라이브러리 API를 사용하면 복잡한 수학적 계산을 쉽게 수행할 수 있습니다. 또한 자바스크립트의 jQuery 라이브러리 API를 이용하면 웹 페이지의 요소를 쉽게 조작할 수 있죠.
Library API는 주로 앱 개발자가 자체적으로 활용하기 위해 사용하거나, 개발자들이 앱을 쉽게 구축하고 기능을 확장할 수 있도록 돕는 역할을 합니다.
소프트웨어가 하드웨어와 통신할 수 있게 해주는 API입니다. 만약 스마트폰의 카메라 API를 이용하면, 앱에서 카메라 기능을 사용할 수 있는 것이죠. 또한 블루투스 API를 통해 스마트워치와 스마트폰이 데이터를 주고받을 수도 있습니다.
위에서 알아본 다양한 종류의 API들이 서로 연결되어 우리가 일상적으로 사용하는 앱과 서비스를 만들어냅니다. 예를 들면 여행 앱 하나에서도 지도 API(Open API), 날씨 API(Web API), 예약 시스템(Internal API), 사진 촬영(Hardware API) 등 여러 종류의 API가 사용되어 복합적인 서비스를 제공합니다.
그런데 여기서 근본적인 질문이 떠오릅니다. 왜 기업은 힘들게 만든 기술을 API로 배포하는 걸까요? 반대로 모바일 앱개발을 하는 기업 입장에서는 자체적으로 기능을 구축하는 방법도 있을텐데, 굳이 API를 끌어다 쓰는 이유는 무엇일까요? 여기서 모바일 앱 개발에서 API를 제공하고 활용하는 이유에 대해 자세히 알아보겠습니다.
기업이 API를 제공하는 이유는 다양하지만, 핵심은 ‘사업 확장과 혁신’에 있습니다. 카카오톡이 로그인 API를 제공하면 다른 앱들과 연결되어 사용자 기반을 넓힐 수 있습니다. 네이버와 카카오가 지도 API를 제공하는 이유도 동일한데요. 이를 통해 API 사용료나 광고 수익 같은 새로운 수익원을 창출할 수도 있기 때문이죠.
더불어 API 제공은 ‘데이터 확보와 분석’에도 유용한 비즈니스입니다. 배달의민족이 결제 API를 제공하면, 사용자의 음식 주문 패턴과 다양한 소비 행태를 파악할 수 있게 되는데요. 이를 통해 서비스 개선과 새로운 비즈니스의 기회로 삼을 수 있죠. 또한 외부 개발자들을 활용하는 전략으로도 사용할 수 있습니다. 활용처가 다양한 API는 혁신적인 서비스 개발로 이어질 수도 있고, 개발자들 사이에서 평판도 좋아져 기업의 브랜드 가치도 자연스럽게 상승할 수 있죠.
기업이 API를 제공하는 것만큼이나, 다른 기업의 API를 활용하는 것도 중요합니다. 한마디로 정의하자면 바로 ‘효율’적이기 때문.
예를 들어 새로운 배달 앱을 만드는 스타트업이 있다고 가정해 보겠습니다. 이 앱은 카카오 지도 API를 이용해 음식점의 위치를 보여주고, 네이버 검색 API로 음식점 리뷰를 가져오고, 토스 결제 API로 주문 결제를 처리할 수 있습니다. 이렇게 API를 활용하면 개발에 필요한 시간과 비용을 크게 절감할 수 있습니다. 지도, 검색, 결제 시스템을 처음부터 만드는 것보다 이미 검증된 서비스를 빠르게 적용하는 것이 훨씬 효율적이죠.
게다가 각 분야의 전문 기업이 제공하는 API를 사용함으로써 더 안정적이고 고품질의 서비스를 제공할 수 있습니다. API의 활용은 새로운 아이디어 실현을 더 쉽게 만든다는 점에서도 긍정적인데요. 인공지능 챗봇 서비스를 만들고 싶을 때, OpenAI의 API를 활용하면 복잡한 인공지능 모델을 직접 개발할 필요 없이, API를 통해 최신 기술을 바로 적용할 수 있습니다.
1. ‘공공데이터 API’를 통한 사업자 정보 검증 사례가 대표적입니다. ‘숨고’는 회원가입 과정에서 공공데이터 포털의 ‘사업자등록정보 진위 확인 API’를 활용합니다. 사용자가 사업자등록번호를 입력하면 실시간으로 유효성을 검증하고, 휴/폐업 상태를 확인하여 활성 사업자만 가입을 허용하죠. 또 과세유형 정보를 자동으로 수집해 사용자의 입력을 최소화하게 해주는 배려(?)도 보여줍니다.
2. 다음으로, ‘네이버 검색 API’를 활용한 콘텐츠 보강 사례가 있습니다. 관광 정보 웹사이트에서는 네이버의 ‘블로그 검색 API’를 활용하여 관광지 소개 페이지 하단에 관련 블로그 포스팅을 자동으로 노출시킵니다. 이를 통해 다양한 사용자 경험을 제공하고 콘텐츠를 풍성하게 만들 수 있으며, 수동으로 콘텐츠를 관리해야 하는 부담도 줄일 수 있습니다.
3. ‘카카오 API’를 통한 마케팅 채널 확장 사례도 주목할 만합니다. 예를 들어, 카카오의 ‘톡 캘린더 메시지 API’를 활용하면 쇼핑 라이브나 프로모션 등의 일정을 사용자가 원터치로 자신의 캘린더에 등록할 수 있게 할 수 있습니다. 이는 푸시 알림에 대한 의존도를 줄이고 사용자 참여율을 높이는 동시에 서버 부하도 분산시킬 수 있는 일거양득의 방법입니다.
API 활용으로 합리적인 앱개발을 실현할 수 있는 건 사실이지만, 주의해야 할 점들도 적지 않습니다. 인터넷상 대부분의 정보에서는 API의 장점을 소개하지만, 이면에 사용 시 주의사항이나 활용으로 인해 부과되는 추가 과업들에 대해서는 안내하지 않는다는 점이 다소 아쉬운 점인데요. 그래서 모바일 앱개발만큼은 책임감 있고 믿을 만한 외주 업체를 만나는 일이 중요합니다. 바로 그 일을 위시켓이 돕고 있죠.
위시켓에는 1만 6천여 IT기업과 11만 명 이상의 프리랜서가 연결되어 있습니다. 단 한 번의 프로젝트 등록만으로 거의 모든 개발자들에게 여러분의 프로젝트를 알릴 수 있습니다. 이어 수많은 견적서들을 동시에 받아볼 수 있습니다. 프로젝트 등록과 견적서 검토 과정에서의 어려움은 1:1로 배정된 위시켓 매니저가 여러분의 입장에서 세밀하게 가이드해 드립니다.
모바일 앱개발을 앞두고 있다면 ‘위시켓’을 염두에 두시길 바랍니다. 미리 위시켓에서 어떤 도움을 받을 수 있는지 면밀히 확인해 보시고, 주로 어떤 프로젝트들이 진행되고 있는지, 또 우리와 비슷한 유형의 프로젝트들의 과정과 결과는 어땠는지도 확인해 두면 여러모로 도움이 될 겁니다. 아래 링크를 참고하세요.
🔖 함께 보면 도움되는 글
앱개발 비용 2배 차이? 네이티브앱vs크로스플랫폼 핵심 요약