ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [쉬운 IT] API란 무엇일까?
    소프트레터 2023. 2. 12. 20:19
    반응형

    지난 포스팅에서 서버와 클라이언트가 소통하는 방식에 대해서 알아봤었죠. 클라가 서버에게  “화면에 쇼핑정보를 띄워줘”라거나, “로그인 시켜줘.”, “내 장바구니를 보여줘”와 같은 요청을 보내면 서버가 이 요청을 듣고 데이터를 전송해준다고 했어요. 이것이 바로 우리가 웹 브라우저에서 쇼핑, 정보 검색, 블로그 글쓰기 등 다양한 활동을 할 수 있는 기반이 됩니다. 혹시 여기에서 이야기하고 있는 서버와 클라의 개념이 이해가 안 되신다면 지난 포스팅을 참고해주세요. 

    https://softmate.tistory.com/193

     

    [쉬운 IT] 서버와 클라이언트란?

    IT분야에 아무리 관심이 없는 사람이라고 하더라도 ‘서버’나 ‘클라이언트’라는 단어는 한번쯤 들어본 적이 있을 겁니다. 서버는 디지털 환경과 밀접한 관계를 맺고 살아가는 우리들에게 꽤

    softmate.tistory.com

     

    📌 오늘 다룰 내용

    1.  API란?

    2. API와 백엔드, 프론트엔드 개발자의 관계

    3. 그렇다면 SDK는 무엇일까?

    4. 오픈 API 사용예시

    4. 오픈 API 사용의 단점

     


    ✅ API의 개념

     

    자, 그렇다면 오늘은 API에 대해서 이야기해보겠습니다. 서버에게 클라이언트의 요청이 들어왔을 때 서버 측에서는 이것이 쇼핑정보를 띄워달라는 것인지, 아니면 로그인을 시켜달라는 것인지, 그것도 아니면 회원가입을 시켜달라는 것인지 도무지 알 수가 없습니다. 여기에서 바로 API가 등장합니다. API는 Application Programming Interface의 줄임말로, 클라이언트의 요청을 구분할 수 있도록 해주는 체계입니다. 

     

    예시를 통해서 더 쉽게 설명해드리겠습니다. 서버 측에서 미리 출입구 A, B, C를 정해두고, A는 로그인 요청, B는 쇼핑 이미지 요청, C는 회원가입 요청을 처리하는 곳이라고 정해 두었다고 합시다. 그럼 클라는 정확한 곳에 요청을 보낼 수 있고 서버 또한 클라 측에서 원하는 데이터를 보내줄 수가 있게 됩니다.    

     

     

     

    ✅ API와 백엔드, 프론트엔드 개발자의 관계

     

    API는 서버 측에서 요청을 정확하게 받기 위해 정해놓은 체계입니다. 그렇다면 서버 개발자(백엔드 개발자)가 API를 개발하겠죠. 그리고 이렇게 만들어진 API는 사용자에게 눈으로 보이는 영역의 기능을 구축하는 프론트엔드 개발자가 사용하게 됩니다.

     

     

     

    ✅ 그렇다면 SDK는 뭘까?

     

    이번에는 API와 연관된 새로운 개념인 SDK에 대해 이야기해보려고 합니다. SDK는 Software Development Kit의 줄임말로, 소프트웨어 개발 도구입니다. 즉, 어떤 소프트웨어를 개발할 때 도움을 받을 수 있는 다른 소프트웨어를 의미하죠. SDK가 왜 필요한지에 대해서는 예시를 통해 알려드리겠습니다.  

     

    내가 택시 어플을 만드는 개발자라고 생각해봅시다. 택시 어플의 고객을 확보하고 비즈니스가 성장하려면 전국에 있는 기사님들의 위치 정보를 알아야 하고 지도도 정확해야 합니다. 즉, 전국 지도를 만드는 일과 기사님들 및 택시 회사와의 협력을 구축하는 일 모두를 동시에 진행해야 하는 거죠. 이는 너무 오래걸리고 힘든 작업입니다. 그리고 만약에 지도를 만드는 과정에서 다른 기업이 더 먼저 서비스를 선보인다면? 당연히 우리의 비즈니스는 물거품이 되겠죠. 이때 SDK를 이용하면 빠르게 앱을 개발할 수 있습니다. 우리의 택시 어플에 구글 맵의 SDK를 탑재하는 것이 바로 그 방법이에요.  이렇게 하면 구글이 제공하는 API를 통해 아무 상관없는 나의 앱에서도 구글 맵에 요청을 보내고 데이터를 받을 수 있습니다. 

     

     

    ✅ 붕어빵 가게를 찾는 어플에도 사용된 API

     

    얼마 전 붕어빵이 너무 먹고 싶었던 저는 새로 어플을 하나 다운받았는데요. ‘가슴속3천원’이라는 앱이었습니다. 내 주변의 붕어빵 가게의 위치와 리뷰를 지도를 통해서 제공하여 정말 편리했는데요. 이 앱에도 API가 사용되고 있었습니다. 네이버에서 제공하는 API를 통해 네이버지도와 요청을 주고 받는 방식으로 서비스를 제공하고 있었어요.

     

    붕세권 위치를 알려주는 앱. 네이버지도의 API가 쓰였다.

     

    위의 예시처럼 네이버는 오픈API라는 이름으로 다양한 API를 개발자들이 무료로 사용할 수 있게 풀어두고 있습니다. 여기서 “돈 받고 팔면 기업에 큰 이윤을 가져올 텐데 왜 무료로 제공하는 거지?”라는 의문점이 생길 수도 있어요. 하지만 API를 무료로 공개하면 좋은 확실한 이유가 있답니다. 바로 영향력의 확대예요. 무료로 API를 풀면 많은 개발자들이 이것을 이용해서 어플을 개발할 것이고, 그만큼 네이버의 영향력은 커지게 되죠. 네이버 지도를 원래 사용하지 않던 사람들도 어플을 통해 자연스럽게 네이버 지도를 이용하게 되는 효과가 발생합니다. 자본주의 사회에서 영향력은 곧 돈이기 때문에 많은 대기업들이 API를 무료로 공개하고 있습니다.

     

     

    오픈 API 사용의 단점

     

    물론 API를 내 어플에 가져와 그대로 사용하는 것이 긍정적인 영향만 주는 것은 아니에요. 아까 언급했듯이 API는 곧 소유 기업의 영향력 확대와 연결됩니다. API를 무료로 제공하던 그 회사가 만약 나와 똑같은 사업에도 발을 뻗는다면 어떻게 될까요? “이제부터 우리 API는 무료로 이용할 수 없어.”라고 한다든가, “너희 기업에는 API 제공 안할래.”라고 해버리면 순식간에 열심히 일궈온 비즈니스가 망해버릴 수도 있는 거예요. 그래서  처음에는 다른 기업의 SDK를 사용해 빠르게 서비스를 제공한 다음, 고객이 충분히 확보되고 나서 자체적으로 API를 개발하는 경우도 있어요.

     

    자체 지도 개발을 시작해 구글맵과의 독립을 선언한 우버

    우버 택시는 바로 이러한 케이스에 해당합니다. 처음에는 구글 지도의 API를 이용해 서비스를 제공하였으나, 이후 구글이 차량공유 사업에 진출하려는 모습이 보이자 자체적으로 지도를 개발하겠다고 선언하였죠. 구글에 대한 의존도를 줄이려는 사업 결정이었습니다.

     

     


    오늘은 API와 SDK에 대해서 알아봤습니다. 이제 앱에 깔린 SDK를 봐도 이게 어떤 원리로 작동하는지 확실히 알 수 있을 거라고 생각해요. 도움이 되셨기를 바라며 글을 마치겠습니다.

    *소프트메이트는 고객님의 비즈니스가 IT 전문가 없이도 원활히 운영될 수 있도록 언제나 친절하게 정보를 제공합니다. 

    고객 맞춤형 서버호스팅 서비스에 관심이 있으신 분들은 공식사이트에 방문해주시면 더 많은 정보를 보실 수 있습니다. 

    공식 사이트: https://www.softmate.kr/
    네이버쇼핑: https://smartstore.naver.com/softmate 

    반응형

    댓글

Designed by Tistory.