플랫폼 라이브러리
플랫폼 라이브러리
운영체제의 네이티브 서비스에 접근할 수 있도록, Kotlin/Native 배포판에는 각 타깃에 맞는 사전 빌드된 라이브러리 묶음이 포함돼 있어요. 이걸 **플랫폼 라이브러리(platform libraries)**라고 불러요.
본문
플랫폼 라이브러리의 패키지는 기본적으로 사용할 수 있어요. 별도의 링크 옵션을 지정할 필요가 없죠. Kotlin/Native 컴파일러가 어떤 플랫폼 라이브러리에 접근하는지 자동으로 감지해서 필요한 것들을 연결해 줘요.
다만 컴파일러 배포판에 들어 있는 플랫폼 라이브러리는 네이티브 라이브러리에 대한 **래퍼 겸 바인딩(binding)**에 불과해요. 다시 말해 네이티브 라이브러리 자체(.so, .a, .dylib, .dll 등)는 여러분 로컬 머신에 직접 설치해 둬야 해요.
POSIX 바인딩
Kotlin은 Android와 iOS를 포함한 모든 UNIX·Windows 기반 타깃에 POSIX 플랫폼 라이브러리를 제공해요. 이 플랫폼 라이브러리들은 POSIX 표준을 따르는 플랫폼 구현에 대한 바인딩을 담고 있어요.
라이브러리를 사용하려면 프로젝트에 임포트하면 돼요.
import platform.posix.*
지원되는 각 플랫폼의 posix.def 파일 내용은 다음에서 살펴볼 수 있어요.
- iOS
- macOS
- tvOS
- watchOS
- Linux
- Windows (MinGW)
- Android
POSIX 플랫폼 라이브러리는 WebAssembly 타깃에서는 사용할 수 없어요.
널리 쓰이는 네이티브 라이브러리
Kotlin/Native는 OpenGL, zlib, Foundation처럼 여러 플랫폼에서 흔히 쓰이는 다양한 네이티브 라이브러리에 대한 바인딩을 제공해요.
Apple 플랫폼에서는 Objective-C API와의 상호 운용을 가능하게 하는 objc 라이브러리가 포함돼 있어요.
구성에 따라 Kotlin/Native 타깃에 사용할 수 있는 네이티브 라이브러리들은 컴파일러 배포판에서 확인할 수 있어요.
- 컴파일러 배포판이 담긴 압축 해제된 아카이브로 이동해요. 예를 들어
kotlin-native-prebuilt-macos-aarch64-2.1.0같은 디렉터리요. klib/platform디렉터리로 이동해요.- 해당 타깃에 맞는 폴더를 골라요.
.konan 폴더로 이동하는 방법은 다음과 같아요.
- 커맨드라인 도구에서 다음 경로로 이동해요:
~/.konan/%USERPROFILE%\.konan
그다음 Kotlin/Native 컴파일러 배포판(예: kotlin-native-prebuilt-macos-aarch64-2.1.0)을 열고, klib/platform 디렉터리로 이동한 뒤 해당 타깃 폴더를 선택하면 돼요.
다음 단계
Swift/Objective-C와의 상호 운용성에 대해 더 알아보세요.
더 알아보기
- Swift/Objective-C 상호 운용성
- Kotlin/Native 개요
- Kotlin Multiplatform 개요