SDK(Software Develop Kit) 개념
안녕하세요. 이번에는 SDK에 대한 설명을 드리도록 하겠습니다. 저번 API 설명에 이어서 SDK가 API와 비교해 무엇이 다른지에 대해서 설명 드리겠습니다.
저번에 서버에서 API문서를 클라이언트에서 넘겨준 다음에 그 문서를 기준으로 클라이언트와 서버가 통신을 합니다. 다만 통신을 하기 위한 절차가 번거롭다고 했고 그래서 나온것이 SDK라고 하였습니다.
클라이언트에서 SDK를 사용한다면 해당 SDK에서 지원하는 언어로 사용할수 있습니다. 예로 JAVA, JavaScript, Go 등등 해당 언어로 된 SDK가 있으면 사용할수 있습니다. 그리고 API통신 규약과 상관 없이 SDK에서 요구하는 조건만 충족되면 바로 서버쪽으로 요청을 보낼수 있습니다. 반대로 응답을 받는 경우도 API처럼 JSON타입으로 받을수 있지만 SDK에서 응답을 분석후 적절히 처리해서 클라이언트에 나타낼수 있습니다.
하지만 단점도 있는데 SDK는 모든 API의 구현이 어렵습니다. 구현해야 할 양이 많아지기 때문입니다. 다른 언어와의 호환성도 고려해야 해서 작업량이 많아집니다. 속도가 API에 비해 상대적으로 느려집니다. 이미 SDK에서 한번 처리하고 요청을 하는 것과 API로 바로 요청하는것은 차이가 있습니다.
댓글
댓글 쓰기