4

その背後にある膨大なリソースにより、Javascript はアプリケーション、特に Web フロント エンドを持つアプリケーションに最適なスクリプト言語になりつつあるようです。フロントエンドとバックエンドの両方で拡張性を必要とするアプリケーションがあります。Javascript、または CoffeeScript のような薄いラッパーは、優れた未来志向の選択肢のようです。

Javascript をターゲットとして使用する際に私が抱えている問題は、既存のサーバー側ライブラリとの相互運用性です。V8 にはカスタム C++ コードが必要です。JDK/.NET クラス ライブラリの膨大なリソースと、API をこれらの言語に公開するコードを活用したいと考えています。

IronPython-CLR と Jython-JVM リンクのエレガンスと同様に、ユーザーが Javascript から JVM/CLR ライブラリを呼び出せるようにする強力な取り組みはありますか?

別の方法として、IronPython/Jython などを使用することもできますが、どちらのプロジェクトも Javascript に費やされるリソースがほんの一部しかないため、クライアント側の拡張性に関する話は非常に難しくなります。

同様の問題にうまく立ち向かった人はいますか?

4

3 に答える 3

1

JDK 6 (Rhino) に同梱されている Javascript インタープリターを使用してみましたか?

つまり、私に言わせれば、コア JDK を同梱することはかなり相互運用性があるということです。Javascript コンテキストから Java サービスにアクセスでき、Java 側から Javascript グローバル コンテキストにオブジェクトを導入することができます。Java インターフェイスの実装として Javascript コードを使用することも可能です (ScriptEngine を使用)。

もちろん、CLR との相互運用性はまったくありません。

于 2010-10-13T18:47:02.470 に答える
0

JavaScript コンパイラは、最初から MS CLI 実装で出荷され、1.6.0 以降の Sun Java 実装で出荷されています。

MS は効率的で最新であり、DLR を使用しているため、IronPython などの動的言語の他の実装と相互運用できます。

Sun's は、1998 年に放棄された Mozilla "Rhino" に基づいています。一貫性が必要な場合、またはオープン ソースが必要な場合は、IKVM を介して MS .net で Rhino を実行できます。

詳細については、次を参照してください。

.NET 用の Rhino JavaScript エンジンのポートはありますか?

Web ブラウザ戦争により、(C++ での) JS 実装は他のすべてのものよりも根本的に高速で最新のものになりました。Mozilla の TraceMonkey には Java バインディングがありません。しかし、Google の V8 (Chrome、Android; とにかく速い) はそうです。

多少の痛みに備えている場合:

http://code.google.com/p/jav8/

http://rbackhouse.blogspot.com/2011/03/using-google-v8-javascript-engine-in.html

または、MessagePack RPC を使用して node.js (Google V8) を呼び出すことができます。

于 2012-06-16T00:02:24.310 に答える