非常に興味を持って、iOS 開発用の RoboVM をフォローしています。iOS で実行するときの JavaFX (または使用するテクノロジ) の制約を教えてもらえますか?
たとえば、Spring を使用できますか。RoboVM は事前コンパイラを使用し、Spring は実行時依存性注入であるため、これは決して不可能だと思います。誰かが詳しく説明できますか?
JPA やその他の Java EE テクノロジーはどうですか?
RoboVM は、Spring が依存性注入に使用するリフレクションなど、JVM に期待されるほとんどのことをサポートします。RoboGuiceのようなものは、RoboVM で正常に動作するはずです。
RoboVM でサポートされていない最も注目すべき機能は、ランタイム バイトコードの生成と読み込みです。バイトコード操作に依存するライブラリは、RoboVM では使用できません。
RoboVM に欠けているもう 1 つの点は、動的 JNI のサポートです。JNI は引き続きサポートされますが、通常の JVM のように実行時に動的にリンクするのではなく、コンパイル時にネイティブ コードを静的にリンクする必要があります。その理由は、通常の JNI は動的ライブラリに基づいていますが、iOS では動的ライブラリが許可されていないためです。
RoboVM のランタイム クラス ライブラリ ( java.*
、javax.*
など) は、Android のランタイム クラス ライブラリの非 UI 部分に基づいています。そのため、Android で動作し、Android UI クラスを使用しないテクノロジは、理論的には RoboVM でも動作するはずです。