Created: Updated:

SDK로 보완하기

API 제공자들이 자주 받는 질문 중 하나는, 코드 라이브러리와 소프트웨어 개발 키트(SDK)를 제공해야 하는지 여부이다.

만약 API가 좋은 설계 원칙을 따르고, 스스로 일관성을 가지며, 표준 기반에 따르고, 잘 문서화되어 있다면, 개발자들은 클라이언트 SDK 없이도 진행할 수 있다. 잘 문서화된 코드 샘플은 중요한 리소스이기도 하다.

그 반면, UI를 만드는 데 많은 도메인 지식이 필요한 시나리오는 어떨까요? Twitter API와 같이 매우 간단한 도메인을 가진 API를 기반으로 UI와 앱을 만들 때에도 개발자에게 어려운 문제가 될 수 있습니다.

이러한 도메인 지식 장벽을 극복하기 위해 API를 변경해서는 안 됩니다. 대신 코드 라이브러리와 소프트웨어 개발 키트(SDK)로 API를 보완할 수 있습니다.

이 방법으로, API 디자인을 부담스럽게 만들지 않습니다. 종종 필요한 것의 대부분은 클라이언트 측에서 처리되며, 해당 부담을 SDK로 이전할 수 있습니다.

SDK는 플랫폼별 코드를 제공하여 개발자가 API 작업을 호출하는 데 사용하는 앱에 통합할 수 있으므로 API를 깨끗하게 유지할 수 있습니다.

API를 SDK로 보완해야 하는 다른 이유는 다음과 같습니다:

특정 플랫폼에서 채택 속도를 높일 필요가 있을 때 (예: iPhone의 Objective C SDK).
많은 경험을 가진 개발자들도 Objective C+를 처음 사용하는 경우가 있으므로 SDK가 도움이 될 수 있습니다.

API와 작업하기 위해 필요한 통합 작업을 간소화 - 핵심 사용 사례가 복잡하거나 클라이언트 측 처리를 보완해야 하는 경우.

SDK는 모든 서비스의 성능을 저하시킬 수 있는 나쁜 또는 비효율적인 코드를 줄이는 데 도움이 될 수 있습니다.

개발자 리소스로서 - 좋은 SDK는 좋은 소스 코드 예제와 문서를 작성하는 강제 기능입니다. Yahoo!와 Paypal이 좋은 예입니다.

Yahoo! http://developer.yahoo.com/social/sdk/
Paypal https://cms.paypal.com/us/cgi-bin/?cmd=_rendercontent&content_ID=developer/library_download_sdks

특정 커뮤니티에 API를 마케팅하는 경우 - SDK를 기존 개발자 커뮤니티의 샘플 또는 플러그인 페이지에 업로드합니다.

댓글남기기