Android

내가 몰라서 정리하는 SDK, JDK, API 개념

gangmini 2022. 3. 15. 18:40
반응형

[안드로이드 앱개발자 시각에 특화된 설명]

 

💡 SDK (Software Development Kit)

개발자가 응용 프로그램을 만들 수 있게 해주는 개발 도구 꾸러미

(API, IDE, 문서, 라이브러리, 코드 샘플 및 기타 유틸리티가 포함)

 

어떤 응용 프로그램을 만들지에 따라 다른 SDK를 다운로드 받음

-> 안드로이드 앱개발을 위해서는 Java를 포함한 SDK(주로 JDK)

-> ios 개발을 위해서는 Swift를 포함한 SDK

-> MS Window 개발을 위해서는 .NET을 포함한 .NET Framework SDK 가 필요

** 개발자가 직접 자신의 응용 프로그램에 맞는 SDK를 개발하기도 하는듯

 

💡 JDK (Java Development Kit)

자바 개발에 사용되는 SDK (안드로이드 앱 개발 또한 JAVA를 사용하기 때문에 JDK 사용)

 

💡 API (Application Programming Interface)

운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있도록 만든 인터페이스

안드로이드 앱개발에서는 안드로이드 OS를 사용하는 단말기/JAVA가 제공하는 기능을 제어할 수 있도록 인터페이스가 만들어진다. OS도 업데이트가 되기 때문에 버전에 따라 API 버전도 달라짐 

 

**쉬운 설명

내가 앱개발을 하면 그 코드와 기능들을 결국 OS의 제어를 받게 된다.

그런데 내가 내 맘대로 우후죽순 코드를 짜면 과연 제어가 될까?

아니다. OS가 내 코드를 제어할 수 있도록 거기에 맞게 코드를 작성해야 한다.

그러기 위해서는 규약(약속)이 필요한데 그 규약을 인터페이스 라고 하고, 응용 프로그램을 개발할 때 지켜야 하는 규약을 API (application programming interface) 라고 한다.

 

[참고]

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sung_mk1919&logNo=221635667345 

 

SDK, JDK, API란? (링크)

*SDK, JDK, API란? SDK (Software Development Kit) 일반적으로 소프트웨어 기술자가 사용...

blog.naver.com

https://medium.com/@logishudson0218/jdk-sdk-ndk-3b095101c040

 

JDK, SDK, NDK

각각의 차이점에 대해

medium.com

 

 

 

반응형