2016-06-27 21 views
3

ブラウザで使用するためにKotlinにライブラリを実装しました。私はそれをJavascriptにコンパイルすると、Javaの標準ライブラリからの依存関係、例えばPriorityQueueのようなコレクションクラスが見つかりません。JavascriptにコンパイルするときにKotlin用Java標準ライブラリを使用する

これらのクラスを見つけてコンパイルするように納得させることはできますか、プリコンパイルされたJavascript-Java標準ライブラリがあるか、Kotlin標準ライブラリのみを使用する必要がありますか?

答えて

3

Kotlin標準ライブラリのみを使用する必要があります。 Kotlin - > jsコンパイラは、Javaライブラリ(または任意のjar)をjavascriptに変換する方法がありません。

私はKotlinの努力に精通していませんが、scala.jsコミュニティはjvmとWebブラウザの間の移行を容易にするためにscala.jsに多くの標準Javaライブラリ機能を移植しました。あなたが使いたい特定の機能のためにKotlinに似たようなことが起こる必要があります。

ただしkotlinからJavaScriptを参照することができますhttps://blog.jetbrains.com/kotlin/2014/12/javascript-interop/

2

あなたはJavaScriptにバイトコードをコンパイルしTeaVMを試すことができます。 kotlincを使って、Kotlinからバイトコードを取得し、TeaVMで実行してください。 Kotlin2JSのJS相互運用機能を使用することはできません(代わりに、TeaVM独自の方法でJavaScriptと通信できます)が、Javaと簡単に相互運用できます。 [JavaScriptに任意の Javaバイトコードをコンパイルするために、]

+0

興味深いですが、今のところkotlin stdlibを使用すれば十分です。たぶん私はこのアプローチに戻ってきます。 –

0

私はHIGHLYあなたはJTransc JVMツージャストについて、何も*プロジェクト([email protected])を見てみましょうお勧めします。

JTransc ProjectKotlinに向けた重いリーンを持っているように見えます(また、JavaとScalaの):

あなたのJava、KotlinとScalaのコードではJavaScriptに変換し、C++、D、C#、PHP、AS3、ダートそしてHaxeとそれをどこにでも運びます。また、あなたの好きな言語のJVMコードをライブラリとして使用してください。 Haxe(私の古いのお気に入り)を活用することでLibGDXbackend含む

JTransc Projectターゲット多くの言語やフレームワーク、。

JTranscの著者、Soywiz()は、天才IMHO(Eres un crack、señor!)です。 (私自身の言葉で*)

軽度免責事項:私はJTranscプロジェクトの作者に関連付けられない方法でいます。

関連する問題