サーバサイドJavascript -Jaxer-

僕は日々のWeb開発業務にAptanaというIDE(統合開発環境)を利用しています。
Eclipse PDTや PHPEclipseも利用していましたが、やはりAjaxなどのWeb寄りな開発においては、Aptanaの右に出るものは無いように思われます。

また、Aptanaは、AjaxやRuby(on Rails)、PHPなどの開発言語に対応し、HTMLの編集もDreamweaverとまではいきませんが効率よく編集できます。

そんなAptanaに、「Jaxer」なる機能が追加されました。

jaxer.pngのサムネール画像

Jaxerとは何か
一言でいうと、Javascriptをサーバー側で実行できるようにするための、Apache2.x用プラグインのようです。今までのJavascriptは、クライアント(ブラウザ)側でJavascriptプログラムを解釈し実行していましたが、このJaxerサーバを利用することにより、それをサーバ側で実行させることができます。
いままでクライアント/サーバ側で別々の言語で記述していたものが、Javascript一つに集約されるのです。



何がうれしいのか
1.Ajaxが分かれば、サーバサイド言語(PHP, Javaなど)のスキルが不要

サーバサイドでJavascriptを動作させたいときは、以下のようなコードを記述します。
<script runat=”server”> 〜ここにJavascriptロジックを記述〜 </script>


2. サーバサイドでDOM操作が可能

JaxerのDOMの解釈には、Firefox3のエンジンが用いられているとのこと。


3. クライアント側からサーバサイドのJavascript関数を呼び出せる

クライアント側にあるfunctionはあくまでも代理(proxy)で、実体はサーバサイドにあるfunctionを呼び出すことができ、これまで行ってきたXmlHttpRequestやJSONなどは意識しなくともよい(すべてJaxerがおこなってくれる?)。


4. ファイル入出力、DBアクセス、メール送信などライブラリがそろっている

SQLite, MySQLへのDBアクセス、Webサービスへのリクエストなど、一通りのことは行えるようです。



懸念点
axer側で一旦DOMツリーを構築し、JavascriptによるDOM操作を行い、その結果をシリアライズするという行程を行う必要があるため、サーバ負荷増大が懸念されます。

以下の画像は、aptana.comより引用:
JaxerProcess_normal_large.png


最後に
これまでJavascriptとサーバサイド実装者は分業化されているイメージでしたが、Ajaxの流行とともにJavascripterの存在の重要性は益々大きくなっており、ついにサーバサイドにまで影響を及ぼしました。
僕はあまりJavascriptは得意ではないのですが、これをきっかけに再勉強したいと思います。
僕たちエンジニアにとって、また一つ実装手段が増えましたね!(良いのか悪いのか。。)

サーバサイドJavascript -Jaxer-へのコメント数: 5

  • コメント:山崎

    全部JavaScriptでやろうというアイディアは、FirecatやAjajaなんてのもあります。
    全部日本発プロジェクトです。

  • コメント:Masayuki

    コメントありがとうございます! 以前からそういった試みはあったのですね。
    ただ、Firecat/Ajaja共に、本家プロジェクトページが見当たらなかったです。。

  • コメント:Yoshi

    こんにちは、金曜日はお世話になりました。
    エントリーを見てて、気になっていた(まったく手を出してなかった)Jaxerが何なのか少しわかりました。
    Ajax以来、Javascriptとはいえども、ロジックがどうしてもViewに出てしまうのが気になっています。
    RJSなどは逆にJavascriptを書かないで、サーバサイドでRubyで書いたデータ操作をJavascriptに翻訳するような感じのものと理解してます。気になりつつ手が出し切れない技術が多すぎますw

  • コメント:Masayuki

    Yoshiさん
    コメントありがとうございます!
    確かに手が出し切れない技術が多いですよね。。かくいう僕もRuby(on Rails)をいつかマスターしようと思いつつ、時間が過ぎてくばかり。
    Yoshiさんのモチベーションを見習わなくては。

  • コメント:Yoshi

    いやいや、私の場合、モチベーションではなくて、フラストレーションの影響が大きいのが問題で…w

コメントを投稿する