概して、Doppioは、プラグインなしでブラウザーでJavaコードを直接実行できるプロジェクトです。 ブラウザコンパイラとバイトコード逆アセンブラで構成されるJava仮想マシン(JVM)の実装が含まれています。 このプロジェクトはまだ開発中であり、開発で使用する前に生産性に懸命に取り組む必要があります。 しかし、今日ではサポートされています:
- 200個すべてのオペコード
- 64ビット長を含むJavaプリミティブ型の正確なエミュレーション
- ジェネリック
- Reflection APIのほとんど
- ファイルと標準入出力の操作
- String、Pattern、HashMapなどの主要なJDKライブラリ
デモはChromeで最適に動作するように見えますが、ローカルストレージと型付きアレイをサポートするブラウザであれば問題なく動作するはずです。
しかし、なぜJavaなのでしょうか?
「しかし、なぜブラウザ用のJavaを書く必要があるのか?」 -Ruby(JRuby)、Python(Jython)、JavaScript(Rhino)、およびScala、Clojureなどの新しい言語。
この観点から、ブラウザーJVMを使用して、多くの言語や既存のプログラムを手動で翻訳することなくブラウザーで直接操作できます。 ただし、これが可能になるまで、多くの最適化作業が残っています。 Doppioはバイトコードをオンザフライで解釈するようになりましたが、作成者は、よりコンパイルされたアプローチへの移行を望んでいることを思い出させます。 EmscriptenがJavaScriptでLLVMバイトコードをコンパイルするように、DoppioはJVMコードに対しても同じことをしたいと考えています。それは非常に強力なユーティリティになります。
Doppioプロジェクトに関する情報はここにあります。文書化された例またはGitHubのページを参照してください。 もちろん、 デモを試してください。