簡単にベクタグラフィックスを試せる言語
昔の PC は、BASIC 言語を使ってちょっとしたグラフィックス(線画とか円弧とか)を試せたものですが、最近は技術が進歩し過ぎて、かえって、この分野の敷居がとても高くなってしまったような気がします。
今でもきっと Visual Basic とか使えばグラフィックスできるのでしょうけど、最近の流行は、自分で書いたコードを誰にでも試してもらえるような、JavaScript や Ajax といった技術ではないかと思います。(インストールやランタイムライブラリを用意してまで、ちょっとしたオモチャのプログラムを動かしてくれる人はいないでしょう。)
同じような疑問を抱いている人がいるはずだと思い、ちょっと探してみました。まだ十分に探しきれているとは言いがたいのですが、こんなの見つけました。いずれもう少し調査してみようと思います。
- ブラウザ上で動く BASIC インタープリタ NG-BASIC
- http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/4ea1252d8bd0bb9a
- http://gwtwidgets.blogspot.com/
- http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm
><
結論
SVG (Firefox だと使える)や VML (IE だと使える)、canvas などを隠蔽して使える GWT API とか探してみたのですが、決定打になるような解法は見つかりませんでした。ベクタグラフィックスなどを使うようなアプリケーションが少ないのかなあ。Google Maps API などがベクタ(パス)の描画などをブラウザ間の差異からうまく隠蔽しているので、まったく解法がないわけではないと思うんですけどね。
こうなると、ブラウザ間で共通に使えて、現実的にそこそこ高速に動くものを考えると、Adobe Flash の ActionScript か、往年の Java Applet くらいしか見つかりませんでした。Flash はあまり好きじゃないので、ここは Java Applet を使う方向で検討してみます*1。いずれ、GWT API などで実現できるような時代も来るかな、と淡い期待です。
早速、昔購入した Java 2 本など引っ張り出してきました。凝った GUI とか書くつもりはさらさらないので、詳細には触らず、取り敢えずグラフィックスができれば OK というスタンスで行くことにしようと思います。描画要求を JavaScript から Java Applet に投げて描画する、とかいうことができれば、スクリプトプログラミングのお手軽さで、ブラウザ上にベクタグラフィックスが描けるかも知れません。
参考
Firefox からも、IE からも、strict HTML を守りながら Java Applet を埋め込む方法を探していたら、こんなのがありました。とってもトリッキーですが、なんとか動きました。(最近の IE では、対話的に動く Java Applet などは、デフォルトではユーザーイベントを受け付けられないようになっているんですね。セキュリティ上の問題なのかな。)
後記 (2008/01/08)
DojoX gfx が面白そうです。