결론부터 말하자면 가능하다.
코틀린이 JVM 위에서만 돌아간다고 알고있는 분들도 있지만, JVM은 코틀린의 타겟중 하나일 뿐이다.
코틀린은 AOS(Kotlin JVM), IOS에서도(Kotlin Native), 웹브라우저에서도(Kotlin.js) 에서도 돌아간다.
IOS 개발이 가능한 Kotlin Native는 JVM 위에서 돌아가지 않는다. Swift와 마찬가지로 LLVM을 통해 컴파일된다.
게다가 Kotlin Native는 Cocoa Touch frameworks 를 사용할 수 있다고 한다.
즉, Kotlin으로 IOS 개발이 가능하다.
하지만 이 말은 Kotlin으로 멀티플랫폼 개발을 할 수 있다는 뜻이 되진 않는다.
Flutter 같은 멀티플랫폼이 되려면, 코드를 한번만 쓰고 AOS와 IOS 에서 사용할 수 있어야한다.
이를 위해서는 KMM(Kotlin Multiplatform Mobile) 이라는 것을 써야한다.
kotlinlang.org/docs/mobile/setup.htmlkotlinlang.org/docs/mobile/home.html
이게 가능한 이유는 코틀린이 JVM을 벗어나 다른 여러 환경에서도 사용할 수 있기 때문이다.
아직은 알파단계이고, 안정화되려면 시간이 걸리겠지만 기대해 볼만 한 것같다.