최근 바뀜
통계
임의의 문서로
도움말
문서
토론
원본 보기
역사 보기
로그인
소프트웨어 개발 도구 문서 원본 보기
내위키
←
소프트웨어 개발 도구
이동:
둘러보기
,
검색
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
Software Development Kit. 줄여서 SDK라고 쓰며, 주로 이 이름으로 많이 쓰인다. 소프트웨어 개발에 필요한 [[컴파일러]]<ref>[[컴파일러]]로 중간 파일을 만드는 경우에는 링커가 추가로 필요하다.</ref> 또는 [[인터프리터]], 라이브러리, [[디버거]]와 같이 소프트웨어 개발에 필요한 각종 소프트웨어와 문서 자료를 한데 묶어서 한꺼번에 설치할 수 있도록 한 것. 소프트웨어를 실행시키기 위해 가상머신과 같은 런타임 플랫폼을 필요로 하는 경우에는 이것도 포함된다. 개발 환경과 실행 환경이 다를 경우에는 두 환경을 연결하는 드라이버나 에뮬레이터도 제공한다. 예를 들어 모바일 기기용 SDK는 앱 개발은 데스크톱 컴퓨터에서 하지만 개발한 소프트웨어는 모바일 기기에서 돌려야 하므로 디버깅이나 테스트를 하려며 컴퓨터에 기기를 연결해서 실행시키거나 에뮬레이터를 띄워서 실행시켜야 한다. 그밖에도 다음과 같은 도구들도 포함될 수 있다.<ref>[https://www.redhat.com/ko/topics/cloud-native-apps/what-is-SDK "SDK란?"], Red Hat, 2020년 6월 10일.</ref> * 설명서 * 테스트 및 분석 도구 * 편집기 (또는 [[통합 개발 환경]]) * 네트워크 프로토콜 * [[프레임워크]] 만약 완전한 소프트웨어를 개발할 수 있는 라이브러리나 문서는 들어 있지만 실행이나 빌드 도구는 없다면 이는 SDK보다는 [[프레임워크]]에 가깝다. 예를 들어 스프링 프레임워크는 [[자바]] [[컴파일러]]를 포함하고 있지 않으며 [[장고 프레임워크]]는 [[파이썬]] [[인터프리터]]를 포함하고 있지 않다.<ref>[[장고 프레임워크]]는 [[파이썬]]과 함께 제공되는 패키지 관리 프로그램인 pip으로 설치한다.</ref><ref>웹 프레임워크는 대부분은 빌드 도구를 포함하고 있지 않으므로 SDK가 아닌 [[프레임워크]]로 제공된다. [[Flutter]] 웹 프레임워크처럼 개발은 [[Dart]] 언어로 하고 이를 컴파일해서 [[HTML]]+[[CSS]]+[[자바스크립트]]로 변환해야 하는 경우라면 SDK로 제공한다.</ref> [[API]]하고도 비교되는데, [[API]]는 응용소프트웨어 개발에 필요한 프로그래밍의 인터페이스만을 제공한다. 예를 들어 [[윈도우]] [[API]]라면 [[윈도우]] 운영체제에서 굴러가는 응용프로그램을 만들기 위한 [[인터페이스]], 즉 윈도우가 제공하는 어떤 기능을 불러다 쓰려면 어떤 함수를 불러야 하고 전달해야 할 매개변수는 뭐고 반환값이나 오류값은 무엇인지를 정해 놓은 일종의 규약이라 할 수 있다. 실제로 소프트웨어를 개발할 때에는 덜렁 [[API]]만 있으면 부족하고 소프트웨어 빌드에 필요한 도구를 포함한 SDK를 제공하는 게 보통이다. 다만 [[REST]]와 같은 웹 [[API]]라면 규약을 정의하는 문서만 있으면 땡. 따라서 SDK는 [[API]] 또는 [[프레임워크]], 아니면 둘 다 포함하고 있다. 어떤 운영체제나 플랫폼 위에서 돌아가는, 혹은 어떤 서비스를 이용하는 소프트웨어를 개발하기 위해서는 적어도 둘 중 하나는 필요하기 때문. {{각주}}
이 문서에서 사용한 틀:
틀:각주
(
원본 보기
)
소프트웨어 개발 도구
문서로 돌아갑니다.
도구
여기를 가리키는 문서
가리키는 글의 최근 바뀜
특수 문서 목록
문서 정보