# JavaScript interoperability

DevFeed: [JavaScript interoperability](<https://devfeed.tech/articles/javascript-interoperability-39205.md>)

Original publisher: [Read original article](<https://kt.academy/article/ak-js-interop>)

Published: 2023-12-18T00:15:00Z

Content type: tutorial

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [interoperability](<https://devfeed.tech/topics/interoperability.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [npm](<https://devfeed.tech/topics/npm.md>), [React](<https://devfeed.tech/topics/react.md>), [Website](<https://devfeed.tech/topics/website.md>)

Tags: [gradle](<https://devfeed.tech/tags/gradle.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [npm](<https://devfeed.tech/tags/npm.md>), [obsidian](<https://devfeed.tech/tags/obsidian.md>), [react](<https://devfeed.tech/tags/react.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

## AI overview

This tutorial explains how to move reusable code from Kotlin/JVM projects into a multiplatform module, build a package for JavaScript or TypeScript, and distribute it through npm. It discusses practical examples involving an Obsidian plugin, a web client, and a React application, along with trade-offs and Kotlin version considerations.

## Source excerpt

How to interoperate between Kotlin and JavaScript.