作ったの数日前(っていうかゴールデンウィークの最後のあたり引きこもってこれやってた)だけど、そういえばblogに書いてなかった
http://xtend.herokuapp.com/
https://github.com/xuwei-k/xtend.herokuapp.com
日本語でtweetくらいしかしてなかったのに、なぜか公式のtwitterに拾われたでござる((((;゚Д゚)))
このblog書いてる時点のversionでは、webブラウザ上からxtend のコードを書くと、無理やりAというclassにラップして、Javaコードに変換してる。
なぜラップしたかというと
- xtendはJavaと同じく、publicなclassは、"package名とclass名"を、"ディレクトリ構造とファイル名"に対応させないといけないらしい
- トップレベルのclass書けるようにするには、ユーザーにファイル名入力させる?
- ユーザー(というか自分が)ちょっとしたコード試すのに、いちいちファイル名入力してclass名と合わせるの面倒・・・
- じゃぁユーザーにファイル名入力させないとすると、こっち側で、ファイルからpackageの宣言とclass名の部分を読み取らないといけない
- それも面倒なので、とりあえず最初は、勝手にラップするversionで作った
という経緯
xtend は少なくとも現行のversionは内部class書けない(?)らしいので、トップレベルに書くのはメソッドかフィールドということになる。
で、その xtend のソースを送信する部分とJavaコードを受け取る部分は API を JQuery でたたいてる
もともと、ある程度 API だけ先につくって汎用的になってて、実は複数のxtendファイル送れるようになってる。けど、webのclientの実装がされてないので、そのうちやる気がでたら実装するかもしれない。