- Published on
Kotlin Multiplatform이 iOS에서 치러 온 가장 큰 세금은 Objective-C 다리였습니다. Kotlin 코드가 Swift로 넘어가려면 반드시 Objective-C 헤더를 거쳐야 했고, 그 과정에서 Int?는 KotlinInt로 박싱되고, 제네릭은 클래스에만 남고, suspend 함수는 컴플리션 핸들러가 됐습니다. Swift export는 그 중간 다리를 없애고 Kotlin을 Swift로 직접 내보내는 기능이고, 2026년 6월 3일 나온 Kotlin 2.4.0에서 Experimental에서 Alpha로 승격되면서 suspend 함수가 Swift의 async로, Flow가 AsyncSequence로 나가기 시작했습니다. 하지만 JetBrains 자신의 정의에 따르면 Alpha는 "이게 프로덕션 레디가 되어야 하는지를 시험하는 중"이고 "가설이 틀리면 크게 바꾸거나 중단할 수 있다"는 뜻입니다. 이 글은 Objective-C 다리가 실제로 무엇을 부수는지, Swift export가 그중 무엇을 고쳤고 무엇을 아직 못 하는지(제네릭 소거, 크로스 언어 상속 불가, direct integration 전용), 그리고 지금 이걸 프로덕션에 넣으면 안 되는 이유를 1차 문서 기준으로 정리합니다.