Download - GopherJS + Nashorn
ネズミとサイと黒い三角の生物のはなし
2014/06/08(日)@天下一altJS武闘会
今日はなすこと
● 天下一altJS武闘会に参加したい● 見るだけ枠は空きがない
○ LTすれば参加できる
● GopherJSというものがある○ ついでに勉強しよう
● Java Day TokyoでNashornのセッションを見た○ ついでに勉強しよう
今日はなすこと
Golang
JavaScript
JavaFX
GopherJS
Nashorn
GopherJS
● Go言語のコードからJSのコードを吐き出す● go/astパッケージを使ってGo言語のコードを解
析している● Node.jsかブラウザで動かす前提で作られてい
る● groutineとchannelは....
○ 使えません!
Nashorn
● JavaのJavaScriptエンジン● JavaからJSのコードを実行できたり● JSからJavaのオブジェクトが使えたりする● JavaFXも使える
GopherJSでJSのオブジェクト使う
● プロパティのGet/Setvar obj js.Objectname := obj.Get(“name”).String()obj.Set(“age”, 28)
● 関数呼び出し
obj.Call(“say”, “hello”)● グローバルオブジェクト
js.Global
GopherJSを修正する
● Node.jsかブラウザで動くことを前提に作られている
● グローバルオブジェクトがGLOBALかwindowで設定される
Hello, GopherJSvar java = js.Global.Get("Java")func start(stage js.Object) { stage.Set("title", "Hello, GopherJS") WebView := java.Call("type", "javafx.scene.web.WebView") webview := WebView.New() url := “http://gopherjs.github.io/playground” webview.Call("getEngine").Call("load", url) Scene := java.Call("type", "javafx.scene.Scene") scene := Scene.New(webview, 1200, 800) stage.Call("setScene", scene) stage.Call("show")}func main() {js.Global.Set("start", start)}
Hello, GopherJS
JavaFX 3D
感想
● 面白かった● GopherJSでのグローバルオブジェクト扱いが
微妙● Goのコード中にjsとかJavaが出てくるのは気持
ち悪い● もうちょっとGopherJSのソースを読み込みたい
○ でも、もう使うことはないだろうな