2011年05月04日

JavaでWebアプリのフレームワークも作ってます

今やWebアプリ向けのフレームワークと言えば、Javaも含めてたくさん出ています。
それはもうたくさん出ており、どれが一番いいかは難しいところです。
結局のところ、一番簡単か、一番最初に使った物がだいたい手に馴染みます。

Javaでもいろいろと出ております。でもJavaの場合はたいがい、
HTMLに対して何かしらの特別なタグを入れたり、HTMLから受け取った情報を格納するためのBeanを作成することが多いのが現状です。
Javascriptも何かしら組み込むことが多いです。たとえ、Javascriptが不要と言われていてもです。

最近の私は、出来る限りHTMLとCSS、JQueryとJQuery経由でAjaxをメインにしてブラウザ上で画面を動的に構築し、Java Webアプリサーバ上ではDBから取得した情報をJSONに変換してブラウザに送るだけみたいな役割分担で、簡単にアプリケーションを作っています。みなさんもだいたい近しい作り方になってきたと思います。もしくは、node.jsやRhinoでサーバでもJavascriptもありでしょう。

これでも個人的にはだいぶ簡単になってきたなぁとか思っていましたが、やっぱり面倒になってきました。
逆にJava Webアプリサーバ上で、Javascriptをブラウザに実行させちゃえというのが、今つくっているものです。
.NET Framework 4にもController.JavaScriptがありますが、これをさらにひどくしたやつだと考えていただければと思います。

正直なところ、実用性はありません。ぶっちゃけ実行させてみると、「うーーん、遅い」と思います。
当然セキュリティのところまでは実装にいたっておりませんので、ほいほいと攻撃できます。
そこら辺のチューンナップはおいおいやるとして、まだ基本実装を充実させているところです。
内部にJQueryを入れてあり、これ経由で実行させます。

サーバ上で、JQueryのSelector(JQueryのセレクタを生成してくれます)オブジェクトを生成してgetすると、ブラウザにJavascriptが送信されて、結果をブラウザ側にキャッシュしてくれます。
で、JQueryでgetした情報(JObjectに入ります)に色々とメソッドが用意されており、append("うさぎさん"); とメソッドを実行すれば、ブラウザに送られて、「うさぎさん」が画面に表示されます。
ついでにタグとか使うと、JQueryの$オブジェクトをキャッシュしてきてくれて、Java側でもそれを使えるJObjectがappendから返却されるので、さらにいろいろとできるようになっています。
(メソッドチェーンみたいな感じ)

ついでに言えば、JavaのクラスとHTMLが一対一で対応するようにしました。
よって、次の画面へ遷移する場合は、forward(new 次の画面のクラス()); みたいにします。
この時、次の画面クラスのコンストラクタとか、setterに色々と情報を前画面からセット出来ます。
HTMLは特別なタグも何も不要で、とりあえず操作したいタグにidを入れておくぐらいです。
別にJQueryなので、idでなくても良いのですけど。。。
SelectorにはJQueryのセレクタをひと通りいれたので、フィルタとかもメソッドがあります。
なので、HTMLには一切Javascriptを実装する必要はありません。

まぁ、こんな感じで作っております。だいたい簡単なチャットは作れるところまで来ました。
ログインしてないのにチャット画面に遷移するとログインにも移動してくれます。

企業のアプリ以前に研究用途にも使えませんが、VBの画面を作るような感じでアプリを作れる感じになってきました。
まぁ、妻は「なにこれ、超作るの簡単じゃん」と言ってくれました。嬉しい限りです。
そのうち公開するかもしれません。

まぁ、あまり興味ある人はいないとは思いますが。。。
posted by Kiruahさん at 14:38| Comment(0) | TrackBack(0) | 日記
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/44825615
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック