2014-02-19 40 views
2

我正在用Java編寫一個應用程序,我最終希望在Android設備上運行它(現在它在桌面上運行)。我最近一直在考慮添加腳本語言,但不知道要選什麼。如果我正在爲Android開發,什麼是好的腳本語言?

我的首選是Javascript/ECMAScript,因爲我已經很熟悉它了,但我找不到它的純java端口,我認爲這會使它很難編譯成Android可執行文件(至少我認爲所以我不知道Android是否/如何處理JNI)。

我也在想Lua,因爲純Java版似乎在MIT許可證下可用。我相信Minecraft將它用於腳本。

如果其他人知道我應該考慮的任何好的腳本語言或Javascript的乾淨端口,請讓我知道。

+0

Android處理JNI並在內部使用它。您只需確保您可以將本機部分構建爲ARM(以及針對某些設備的x86)Linux庫。請參閱https://developer.android.com/tools/sdk/ndk/index.html – zapl

回答

1

Rhino是一個純Java的JavaScript實現,它是co-bundled with JDK7。您可以將JavaScript編譯爲字節碼,或者從JavaScript源中即時編譯。

+0

儘管最新版本是核心語言級別的Java 7,但Android很遺憾未附帶「javax.script」包。它可能會手動包含它,但是再一次,Android甚至不使用標準字節碼。 – zapl

+2

的確,Dalvik不是JVM。但是,由於Rhino提供了JavaScript到Java的字節碼,並且Dalvik提供了Java字節碼到Dalvik字節碼,所以您應該能夠編寫JavaScript以在Android上運行。即時編譯可能更具挑戰性。但是隨着kitfox要求提供「純Java」腳本語言,犀牛跳了出來。 –

相關問題