Hi, I’m somewhat new to Kotlin programming and so far it’s becoming my favorite language. I was browsing some Kotlin projects when I found Komac, which recently switched to the Multiplatform target from only having the JVM target.
As far as I know, JVM can also run on all platforms without the use of minGW except for iOS but I don’t have a developer certificate or incentive to work beyond CMD scripts so far, so is there an advantage for Kotlin Multiplatform?

  • gerbilOFdoom@beehaw.org
    link
    fedilink
    arrow-up
    5
    ·
    1 year ago

    JVM can run on any platform that supports Java, as you’re building Kotlin directly into Java bytecode.

    Multiplatform is for building native applications while using a single backend logic. You’ll have to write separate handlers for everything unique to the platform, according to documentation.

  • Dankenstein@beehaw.org
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    Kotlin Multiplatform is just a system that allows code to be shared between target platforms.

    JVM is a target platform, meaning that once your application is compiled, it can run in a JVM.

    Kotlin/Native is another target platform, meaning that once the application is compiled, it runs natively rather than through something like a VM.

    Kotlin Multiplatform is not a target platform, it just makes code sharing easier.

    • Hauke@feddit.de
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      1 year ago

      Another important target platform is JS. If you target browsers using the JS target, Kotlin lets you build web apps. There already is pretty good support for major JS functions out of the box and if not, you can always include native JS code using special calls.