개발을 시작하는 이야기

신규 SDK를 테스트 해달라는데? 본문

사는 이야기/OU

신규 SDK를 테스트 해달라는데?

Teiresias 2022. 7. 20. 01:50

회사에서 신제품 개발에 사용할 업그레이드된 SDK를 테스트 해달라고 하는데 SDK는 뭐고 어떻게 사용하는지, 그리고 어떤것을 어떻게 테스트를 해봐야 하는건지 몰라서 몹시도 당황했다. 그래서 알아가기 위해 정리해봤다.

SDK가 뭘까?

 일단 SDK....그거 카카오맵을 사용하려고 했을때 메뉴얼에서 연결 하라고 해서 하긴 했는데... SDK는 소프트웨어 개발 키트(Software Development Kit)는 일반적으로 소프트웨어 기술자가 사용하여 특정한 소프트웨어 꾸러미, 프레임워크, 하드웨어 플랫폼, 운영 체제 등을 위한 응용프로그램 등을 만들 수 있게 해주는 개발 도구의 집합체이다.

SDK는 왜 필요할까?

 SDK가 없다면 기능을 처음부터 만들어야 한다. SDK에는 많은 것들이 미리 구축되어 있기 때문에 기능의 현재 시스템과의 호환 여부만 확인하면 보다 손쉽게 새 도구 생성 및 프로세스 진행이 가능해진다. 안드로이드 개발을 위해서 Java를 포함한 SDK, iOS 개발을 위한 Swift가 포함된 SDK(하지만 내가 받은 SDK는 Object-C로 되어있지....😭😭😭)가 필요하다. 또한, Google, Facebook, Kakao, Naver 같은 회사들은 분석 활동이나, 데이터 제공을 위한 SDK를 제공하는 경우도 있다.

 

 소프트웨어 개발 키트는 여러가지가 복합적으로 많이 있지만, 라이브러리 모양의 API가 하나 혹은 여러개 들어가 있는 간단한 구조로 되어있는 것도 있는데, 보통 그런것들은 특정 프로그래밍 언어에서만 접속할 수 있게 하거나, 특정 시스템에 접속할 수 있는 복잡한 하드웨어를 포함시키기 위한 것들이 대부분이다. (우리 SDK도 어쩌면...??)

SDK와 API는 뭐가 다를까?

 API는 Application Programming Interface의 약자로, 모듈화로 만들어진, 특정한 기능을 제어, 제공하는 인터페이스를 말한다. 우리가 사용하는 대부분의 어플리케이션은 API에 의존하여 사용한다. SDK는 위에서 말한것처럼 개발 도구의 집합체로, SDK가 풀패키지 여행이라고 한다면, API는 입장권 한장과 같다. API는 SDK의 일부가 될 수 있기 때문에 SDK가 API보다 더 큰 개념이라고 할 수 있다.

카카오맵 소개 페이지의 준비사항


일단은 구버전 SDK를 신규 SDK로 변경해서 빌드했을때 빌드는 일단 성공은 했다. 앱도 정상 동작은 하지만 issues가 약 100개 정도 추가로 발생했다. 기존 프로토콜에서 디플리케이트된 것들이 있는것 같은데 이제 하나씩 해결해 봐야 할일. 그리고 신규 SDK를 이용하는 구형 기기와, 신규 SDK를 사용하는 신형 기기의 프로토콜이 변경되어서 하나의 앱에서 사용한다고 하면, 어짜피 프로토콜을 분기하여 처리해야 하기 때문에 골머리를 앓을 예정이고, 골머리를 앓는 부분에서 포스팅할 내용이 있다면 포스팅 하겠다.