JavaはJavaScriptを実装します

WBOY
リリース: 2023-05-12 09:41:06
オリジナル
730 人が閲覧しました

最新の Web アプリケーションが台頭するにつれて、Web ページでより対話的なアプリケーションを作成する方法という問題が常に発生します。かつては JavaScript がこの問題に対する唯一の解決策でした。しかし、最新のブラウザが WebAssembly テクノロジをサポートし始めて以来、開発者は、高速で効率的な Web アプリケーションを作成するために C、Rust、Go などの低レベル プログラミング言語の使用を検討し始めています。ただし、これらの言語は JavaScript とは異なり、Web ページで使用するには WebAssembly 形式にコンパイルする必要があり、そのプロセスにはさまざまなツールやテクノロジを使用する必要があり、開発者によっては問題が発生する可能性があります。

Java は、効率性、セキュリティ、コードの読みやすさを兼ね備えているため、他のプログラミング言語にはない言語です。 Java コードは中間バイトコード ファイルにコンパイルされ、Web ブラウザを含む、Java 仮想マシン (JVM) をサポートする任意のプラットフォームで実行できます。したがって、Java を使用して JavaScript を実装することは良い選択かもしれません。この記事では、Java を使用して JavaScript を実装する方法とその使用例を紹介します。

Java は JavaScript を実装します

Java には JavaScript を実装するためのさまざまな方法があります。これらの方法には次のものが含まれます:

Java の ScriptEngine インターフェイスを使用する: Java は、このインターフェイスを使用して次のことができる ScriptEngine インターフェイスを提供します。 JavaScriptを実装します。このインターフェースは、Java アプリケーションが Java コードを通じて JavaScript コードを実行できるようにする一連のメソッドを定義します。 ScriptEngine を使用すると、JavaScript コードを読み取って実行するための Java コードを作成できます。

Rhino の使用: Rhino は、Mozilla プロジェクトの一部であるオープンソース JavaScript エンジンです。 Javaの標準ライブラリであり、org.mozilla.javascript.*をインポートすることで利用できます。

Nashorn の使用: Nashorn は、Java 8 で導入された JavaScript エンジンです。 Java 開発の一部であるため、パフォーマンスも他の JavaScript エンジンよりも優れています。

GraalVM の使用: GraalVM は、複数の言語をサポートする仮想マシンです。 Java、JavaScript、Ruby、Python などの言語をサポートしており、これらの言語間で相互運用できます。

これらはオプションの実装ですが、使いやすく、ほとんどの JavaScript 機能をサポートしているため、ScriptEngine と Rhino を使用するのが最も一般的です。

ScriptEngine の使用例

ScriptEngine を使用して JavaScript コードを実行する簡単な Java プログラムを作成してみましょう。まず、Java プログラムを作成して実行できるように、Java Development Kit (JDK) と Eclipse IDE がインストールされていることを確認します。

1. Eclipse で新しい Java プロジェクトを作成し、JavaScriptExample.java という新しいファイルを作成します。

2. JavaScriptExample.java ファイルで、javax.script.* をインポートします。

3. 次のコードを JavaScriptExample.java ファイルに追加します:

public class JavaScriptExample {
    public static void main(String[] args) {
        ScriptEngine engine = new ScriptEngineManager().getEngineByName("javascript");
        try {
            engine.eval("print('Hello, World!')");
        } catch (ScriptException e) {
            e.printStackTrace();
        }
    }
}
ログイン後にコピー

この例では、ScriptEngine オブジェクトを作成し、ScriptEngineManager クラスの getEngineByName() メソッドを使用して次のコードを指定します。 JavaScript エンジンを使用したいと考えています。次に、ScriptEngine の eval() メソッドを使用して、JavaScript の組み込み print() 関数を使用してコンソールに「Hello, World!」を出力する JavaScript 式を実行します。

4. JavaScriptExample.java ファイルを実行し、出力を確認します。

すべてが正常であれば、コンソールに「Hello, World!」が表示されるはずです。

Rhino の使用例

Rhino を使用して JavaScript を実装するプロセスは、ScriptEngine を使用するプロセスと似ています。 Eclipse で新しい Java プロジェクトを作成し、そのプロジェクトに Rhino ライブラリを追加する必要があります。次に、RhinoExample.java という名前の新しいファイルを作成し、次の手順に従います:

1. RhinoExample.java ファイルで、org.mozilla.javascript.* をインポートします。

2. 次のコードを RhinoExample.java ファイルに追加します:

public class RhinoExample {
    public static void main(String[] args) {
        Context context = Context.enter();
        try {
            Scriptable scope = context.initStandardObjects();
            String script = "var greeting = 'Hello, World!'; print(greeting);";
            context.evaluateString(scope, script, "RhinoExample", 1, null);
        } catch (JavaScriptException e) {
            e.printStackTrace();
        } finally {
            Context.exit();
        }
    }
}
ログイン後にコピー

この例では、Rhino が JavaScript コードを実行するときのコンテキストである Context オブジェクトを作成します。次に、標準の Scriptable オブジェクトを初期化しました。これは、Rhino が JavaScript オブジェクトを操作するときの基本オブジェクトです。次に、JavaScript 文字列を使用して JavaScript コード セグメントを定義します。挨拶変数の定義と print() 関数の使用に注意してください。最後に、コンテキストのevaluateString()メソッドを使用して、このコードセグメントを実行します。

3. RhinoExample.java ファイルを実行し、出力を観察します。

すべてが正常であれば、コンソールに「Hello, World!」と表示されるはずです。

結論

この記事では、Java を使用して JavaScript を実装する方法を検討し、ScriptEngine と Rhino を使用して JavaScript を実装する 2 つの例を示しました。どちらの例も Java 8 に基づいていますが、Java の JavaScript サポートは Java バージョンが更新されるにつれて改善され続けています。

Java の効率性、セキュリティ、コードの可読性を活用しながら、JavaScript を使用したい開発者にとって、Java に JavaScript を実装することは良い選択かもしれません。 Java の ScriptEngine、Rhino、Nashorn、GraalVM などのツールを使用すると、Web アプリケーションで優れた JavaScript コードを簡単に作成できます。

以上がJavaはJavaScriptを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート