GWT JsInterop を利用した AltJS としての Java
従来Javaで実装されていたGoogle Closure CompilerがJavaScript(Node.js module)で提供されるようになった、という話題が先日ありました。
上記のエントリのコメントを読むと、GWTで変換しているのだ、ということが書かれていて驚きました。
GWTはGWTの中で完結させてしまうのが想定された用法であり、JavaScriptから呼び出したりはできないものだと思い込んでいたためです。
そこでリポジトリを覗いてみたところ、JsInterop機能が利用されていることに気付きました。
もうすぐリリースされるGWTバージョン2.8.0から正式機能として利用できるもの…ということは知っていたのですが、具体的に何をするのものなのかは考えたり調べたりしたことがありませんでした。
というわけで今回どんなものなのかハローワールドプログラムを作ってみました。
Javaで書いたクラスがこちら、これを呼び出しているJavaScriptがこちらです。
gwt-maven-plugin で雛形を作って、あとはgitの履歴に有るとおりです。
「JavaができるんならJavaScriptもいけるでしょ?」が現実になるわけですね…!