Rhino
JavaScript
JVM上で実行されるインタプリタです。のサーバーサイドプログラミングに役立ったと思いますJavaScript
。今、私たちは持っていNode.js
ます。それで、私Rhino
はまだ関連があるかどうか、そしてそれが何のために役立つのか疑問に思います。
3 に答える
これは、JVMでJavascriptを実行する手段を提供するだけです。そのため、Java言語よりもJVM上で別の実装を選択できます(JRuby、Scala、Groovyなどと同様の方法で)。完全なソリューションをJavascriptで記述したり、Java(またはその他のJVM言語)と組み合わせたりすることができます。
これは、「サーバー側」またはそのような展開の選択に固有のものではないことに注意してください。
個人的な経験から言えば、私はこれを使用して、Antデプロイメントで簡単なスクリプトを提供し、私が作成したJavaアプリケーション/ツールセットを使用する顧客にすぐに使用できる簡単なスクリプト言語を提供しました。
Rhino はHttpUnit ライブラリでも使用されます。これは、Web サイトをテストするために、単体テストで Web ブラウザーをエミュレートするために使用できます。ライブラリに JavaScript のサポートを提供します。
Java で記述された MMORPG サーバーのスクリプト言語として、Rhino で Javascript を使用しています。これにより、サーバーの Java 部分に触れることなく、NPC スクリプト、アイテム使用スクリプト、イベント トリガー、およびその他のサーバー側のインタラクティブ機能を Javascript で実装できます。
これらの機能を Javascript で実装すると、それらの構文の記述と読み取りがはるかに簡単になります。特に、スクリプト エンジンに送信する前に、サーバーの Java 部分がスクリプト ソースコードに簡単なボイラープレート コードを自動的に追加できるようにしたためです。これにより、JavaScript 構文がさらに簡素化されます。
また、エンジンとコンテンツをより明確に分離することもできます。
また、実行中のサーバーで任意の Javascript コードを実行できる Javascript 管理シェルも追加しました。これは非常に有用なテストおよびデバッグ ツールであることが証明されており、後で非常に強力な管理ツールになることを期待しています。
もちろん、ゲーム開発でスクリプト言語として頻繁に使用される Lua など、他のスクリプト言語を使用することもできます。しかし、Rhino はすぐに使用できるので、サードパーティの依存関係を追加する必要はありません。また、私のクライアントは HTML5/Javascript アプリケーションなので、プロジェクトにはまだ別のプログラミング言語がありません。クライアントとサーバーのコンテンツは両方とも JS を使用していますが、それらの間でコードが共有されていないことに注意してください。これらは文字通りシステム アーキテクチャの反対側にあり、いくつかの間接的なレイヤーを介して相互にやり取りするため、共有する理由はありません。コード。