|
JavaScript を書いていると、フォーム変数のバリデータルーチン(必須項目チェックetc.)とか、 HTMLテンプレートの展開ルーチン(テンプレート展開ライブラリの仕様・使用方法)など、 できれば1回で書いて済ませたいような部分を、クライアントサイドの JavaScript と サーバサイドの他言語(僕の場合はPerl)の両方で記述しなければならない場合があり、 それらを手で書いているとバグも出てくるし、面倒があります。 そこでサーバサイド JavaScript に興味があるのですが、まだ決定打は出ていない印象です。 JavaScript で書いたライブラリをクライアントサイドでもサーバサイドでも使えるようにしたい。 今日知ったのが Sarugau JS。サーバサイド JavaScript に対応したプレゼンテーション層用の フレームワークです。Pure Java の HTTP サーバ Jetty を利用しています。 http://www.sarugau.org/js/index.html HTML テンプレートをサーバサイド JavaScript で操作できる。 HTML テンプレートは DOM 木に展開されているので、getElementById() メソッドとか、 innetHTML プロパティなどの操作も可能。 importScript("/prototype.js", context); 毎回 HTML コード⇒ DOM 木に展開しているのかな? それだと重そうだけど、展開結果をキャッシュしてるかな? (追記:キャッシュしているそうです。これなら軽い) ウェブブラウザに届くのは、toString() した後の HTML コードです。 この importScript() 関数(←これは独自拡張関数でしょうか?)で JavaScript ライブラリ(サーバ内に置いたファイル)のインポートができます。 JavaScript には、言語としてライブラリ呼び出し機能がない点を克服。 prototype.js などのライブラリが使えるのは強い。 また、何より Java との親和性が高いのがポイントですね。 サーバサイド JavaScript から、Java のクラスを呼び出して使えます。 function getRss(url) { サーバ側でのみ利用するような複雑な処理は、Java で記述できるわけですね。 JavaScript ではバイナリデータの処理ができないけど、Java が使えれば確実。 また、Java ならデータベース関係とかでも、ライブラリが揃っていそう。 僕は普段は、Perl+JavaScript の組み合わせを使っているので、新鮮で面白い。 |
| << 前記事(2006/05/14) | トップへ | 後記事(2006/05/17)>> |
| タイトル (本文) | ブログ名/日時 |
|---|
| 内 容 | ニックネーム/日時 |
|---|
| << 前記事(2006/05/14) | トップへ | 後記事(2006/05/17)>> |