65

理論的には、Dalvikは、たとえば次のコンパイラで作成された仮想マシンのバイトコードを実行します。

  • AspectJ
  • ColdFusionColdFusion
  • Clojure
  • Groovy
  • JavaFXスクリプト
  • JRuby
  • Jython
  • Rhino
  • Scala

Java以外の言語で利用可能なDalvik用のバイトコードコンパイラの動作バージョンはすでにありますか?

4

8 に答える 8

62
  • 発売時にJavaは、配布可能なサードパーティのAndroidソフトウェアを構築するために公式にサポートされている唯一のプログラミング言語でした。

  • CAndroid Native Development Kit(Android NDK)。これにより、開発者はとを使用してAndroidソフトウェアコンポーネントを構築できますC++

  • Googleは、ネイティブコードのサポートを提供するだけでなく、人気のある動的スクリプト言語をサポートするようにAndroidを拡張しています。今月初め、Googleは Android Scripting Environment(ASE)をリリースしました。これにより、サードパーティの開発者は、、、、およびを使用して単純なAndroidアプリケーションを構築できperlます。ASEのアイデアと使用法については、このサンプルリンクを参照してください。JRubyPythonLUABeanShell

  • Scalaもサポートされています。Scalaの例については、これらの例link-1例link-2例link-3を参照してください。

  • ちょうど今、私はここで私が次のようにいくつかの有用な情報を見つけた1つの記事を参照しました:

    1. プログラミング言語はJavaですが、他の言語からのブリッジが存在し(C# .net - Mono, etc)ます。
    2. 、、、などLUAのスクリプト言語を実行できます。 PerlPythonBeanShell

  • Googleリリースの「シンプルな」Androidプログラミング言語の2番目の記事を読みました。この例については、これを参照してください

  • ちょうど今(2010年8月2日)「 Android用のフリンクプログラミング言語と計算ツール」に関する記事を読みました。このリンクを参照してくださいLink-1Link-2

  • 2010年8月4日に、私はについてを見つけましRenderScriptた。基本的に、これは高性能グラフィックプログラミング用のCのような言語であると言われており、Androidアプリケーションで効率的な視覚効果やアニメーションを簡単に作成するのに役立ちます。まだ完成していないのでまだリリースされていません。

于 2010-07-24T04:37:22.820 に答える
24

Scalaは非常にうまく機能します。

私はAndroidアプリケーションプロジェクトをScala(スクリーンショット付きの中国語で書かれたWebサイトソースコード@ GitHub)でプログラミングしており、環境をセットアップするのは非常に簡単です(IDEなしで、ビルドツールとしてSBTを使用)。

Android SDKのすべてのAPIにアクセスできるため、Javaで実行できることはすべて、Scalaでも実行できます。

このブログエントリをチェックして、ScalaとSBTを使用してAndroidアプリケーションを構築する方法を確認できます。

于 2010-01-03T12:57:48.123 に答える
7

Kawaは、Schemeの素敵な、しかしほとんど知られていないバリアントであり、長年静かに存在し、JVMとDalvikの両方でネイティブに実行されます。したがって、その出力には追加のVMは含まれず、明示的にインポートされたライブラリのみが含まれます。エンドプログラマーにとって、これは、Kawaのパフォーマンスと実行可能ファイルのサイズが標準のJavaとほぼ同じであることを意味します(ProGuardは必要ありません)。

Kawaには、すっきりとした構文を作成する多くのマクロ(Android APIに固有のものを含む)も含まれており(括弧を嫌うものではないと仮定)、Schemeの上に「promises」(遅延評価と先物)などのおいしいものを追加します。 1つに)。この言語は非常に堅牢で十分に文書化されており、Javaの初期の頃から積極的に維持され、進化してきました。

Javaアドベントカレンダーは、Kawaのメリットをいくつかの有益な例とリンクで要約しています。

于 2013-06-20T16:33:47.420 に答える
3

私はそれで遊んだことはありませんが、Scalaが機能することは知っています。

http://www.scala-lang.org/node/160

于 2010-01-03T11:40:53.030 に答える
3

Androidで動作するもう1つのJVM言語は、両方ともJetbrainsのKotlinAnkoです。

于 2015-06-09T14:28:18.237 に答える
1

Mercuryは、Javaバックエンドを使用してAndroidでも動作します。私は誰かが始めるのを助けるはずの簡単なアプリを書きました(他の例はまだほとんどありません)、そしてこの目的のためにもmercury-android-helper(現時点ではいくつかのコミットは短いですが)そしてどちらもProGuardを使用していませんそれでも、.apkサイズは衝撃的です。)

ここにある他の投稿はScala-on-Androidについて陽気ですが、Scalaフォーラムのポスターは、Dalvikの制限のいくつかを吹き飛ばすScalaの能力にもっと関心があり、それを使用する人々は、非本番コード用に予約していると言います。(ここでScalaの問題に関するいくつかの議論があります。)

MercuryがDalvikに独自の問題を抱えているかどうかはまだわかりませんが、当面はScalaからそれに切り替えました。

于 2011-12-05T08:16:24.173 に答える
0

DalvikがJIT(Just In Time)コンパイルをサポートするまで、動的に型付けされた言語は使用できません。実験的なEclairブランチの1つでJITサポートがあると思いますが、Androidではまだ正式に利用可能/サポートされていません。

于 2010-01-03T13:32:47.530 に答える
0

1)Angular + nativeScript

2)反応性

于 2019-06-24T08:58:25.990 に答える