소프트웨어

SDK란 무엇인가? SDK의 정의에 대해서

개발자_이훈규 2015. 8. 19. 16:18


( from http://stackoverflow.com/questions/8772746/difference-between-framework-vs-library-vs-ide-vs-api-vs-sdk-vs-toolkits )



SDK와 다른 것들이 차이점은?

 http://stackoverflow.com/questions/8772746/difference-between-framework-vs-library-vs-ide-vs-api-vs-sdk-vs-toolkits )


    위 페이지에서 살펴보면 6가지를 예로 들어서 설명하고 있다.

    1) IDE, 통합 개발 환경

    2) Library, 소스의 집합

    3) API, Library의 functions/method

    4) SDK, 부분 시스템에 맞는 코드를 사용하는데 도움이 되는 library

    5) toolkit, SDK와 비슷하지만 tools의 집합으로 이것을 사용해서 device나 system에 더 쉽게 접근할 수 있는 도구.

    6) framework, 많은 서비스가 제공되는 큰 Library





    SDK를 만들까? IDE를 만들까?

     http://stackoverflow.com/questions/8772746/difference-between-framework-vs-library-vs-ide-vs-api-vs-sdk-vs-toolkits )


    단순히 생각해보면 규모에서 본다면 SDK < IDE 로 통합개발 환경이 매우 크다.

    하지만 IDE중 Eclipse라는 프로그램을 확장시킨다면 IDE로 만드는 것도 하나의 방법이다.

    http://stackoverflow.com/questions/4410569/writing-custom-ide-on-top-of-eclipse -> http://www.ibm.com/developerworks/opensource/tutorials/os-ecl-commplgin1/)


    Eclipse에 SDK Android를 추가하는 블로그의 글이다.

    https://ertos12.wordpress.com/2012/07/11/custom-sdk-android-jar-%EC%A0%9C%EC%9E%91/


    Android SDK 에 user add-ons로 custom SDK를 설치하는 방법.

    http://www.kandroid.org/board/board.php?board=AndroidTechQnA&command=body&no=4721




    SDK를 만드는 순서?! from msdn

    ( https://msdn.microsoft.com/en-us/library/hh768146.aspx )


    위 글을 읽어보면 SDK에는 2가지 종류가 있다.


    Platform SDKs / Extension SDKs


    내가 생각하는 SDK는 Extension SDKs이다.




    openstack의 SDK를 만드는 과정

    https://wiki.openstack.org/wiki/SDK-Development )



    openstack에서 SDK project를 여러개 수행하였다.
    이 SDK의 모양을 모방하면 어느 정도 SDK의 구조가 잡힐 것 같다.