- 2007-12-31 (月) 2:37
- コンピュータ

色々と種類があるんだなぁ。僕の経験値は以下。
- HTML
- CSS
- JavaScript
- DHTML隆盛の頃に少しだけ
- PHP
- できものを眺めた程度
ウェブプログラミングなんてほとんどやったことない。昨日本屋で Ajaxの解説書を読んでいたら、やっぱりやってみたくなったので、 早速購入し、さらに様々に調査をすると色々とウェブを作る手段が あることが分かってきた。
Ajax
JSがここまでなると思ってなかった。昔は全部クロスブラウザまで 面倒見ないといけなかったから、それに苦労してほとんど プログラムなんか出来なかった。それがライブラリという形で 様々なものが出現して、プログラミングの障壁を格段に 下げている。
基本的には、JSのべた書き。ソースコード丸見えのスクリプト言語と 言った所。利点としては、HTMLのソースにちょっと付け足すだけで 様々にプログラムできるということ。基本的にそれだけなので、 HTMLのレイアウトやサーバアプリとの連携は全く別の領域。 でも、それがいいのかもしれない。LAMPにしてもそれぞれの アプリは独立してるからこそここまで流行ったんだと思う。
つまり、AjaxというのはあくまでHTMLファイルに直接乗っかる プログラムなので、HTMLを吐き出す言語ならAjaxをすることが できるということ。これから出すRuby on RailsやGoogel Web Toolkit などは、どれもAjaxを扱える。HTMLを送るときにそこに Ajaxのコードが乗っていればいいわけだ。
Ajaxライブラリ
Ajaxのライブラリは基本的にただのJSファイル。なので、 サーバに置くだけでよい。定義された形で関数などを 呼び出すと、簡単に色々なことができるというわけだ。 特にクロスブラウザをしてくれるので、こちらは何も気にせず プログラムに集中できる。
ライブラリとして、僕が触れてみようと思ったのはとりあえず 「jQuery」。小さいライブラリだが、プラグインで様々に 拡張ができるのが魅力。
Ruby on Rails
Rubyは見たことないけど、RailsというやつはRubyを使って ウェブアプリを作るためのパッケージみたいなものらしい。 サーバアプリも入れてくれるので、これをサーバに入れれば すぐにDBサーバなどと連携したプログラムができる。 サーバサイドをまるごと作れるというのが強みかな。
とは言え、まとまりすぎているのも事実で、柔軟性に欠けるような 気もするがどうなんだろう。もちろん、所詮最後にやりとりするのは HTMLなので、Ajaxには対応できる。
Google Web Toolkit
GWTはGoogleが開発しているAjaxの開発キット。仕組みは Javaで書いたコードをJSやHTMLに変換することでプログラムをする。 つまり開発側はあくまでJavaを書くに過ぎない。翻訳だね。 同時に、GUIなどもセットになっている。サーバサイドはまた別で 書かないといけないのかな。
Smarty
こちらはPHPを活かした仕組み。PHPはHTMLに組み込めるサーバサイド プログラムだが、ベタででかいのを書くとPHPタグの中でHTMLタグをprintする 様な形になってしまうので、はっきり言ってソースが汚いし、 レイアウトが分かりにくい。
そこで、レイアウトをテンプレートの様に分離してしまったのがこの Smartyというものらしい。テンプレートのHTMLの中に、PHPで 書き換えて欲しいものを埋め込んでおくと、別に作ったPHPファイルが 勝手に処理して書き換えてくれる。こうすることで、レイアウトと プログラムアーキテクチャを分離できるということがいい。 もちろんテンプレートはHTMLなのでAjaxもできるだろう。
感想
こうやって調べてみて、最もローレベルにAjaxをやるなら、やっぱりJSの直書きだろう。 HTML+CSS+JSでクライアントを組み立て、PHPなど+DBでサーバのレスポンスを 組み立てるという感じだろうか。最も仕組みを理解して作れるのは魅力だが、規模が大きくなると 厳しい。
GWTはクライアント側をJavaで書ける。UIを若干高度に扱える気がする。 HTMLに直で触ることはあまりないようでレイアウトはJavaで行う。 SmartyはレイアウトがHTMLを書く感覚でできてそうだ。それ以上を求めると、普通に ウェブデザインのノウハウが必要なんだろう。どちらもサーバサイドは別で作ることになる。
Railsは上のやつを全部ひっくるめて作れる感じなんだろう。DBとの連携もAjaxも 全部Rubyという一つの言語で、しかも一つの枠組みの中で書けるというのは確かにいい。 レイアウトに相当する部分もrhtmlファイルにHTMLの様に書けばいいだけの様だ。 まさに、ウェブサイトをまとめて作るといった感じだ。
こうしてみてみると、DB使ったウェブサイト作るならやっぱりフレームワークを 使ってしまった方が簡単そうだ。仕組みとしてJSなどを理解しておくのは大事だけど、 早く簡単に作ってしまうためには、まかせられる部分はフレームワークに渡してしまった方が よさそうだ。Rubyに限らず、様々な言語でフレームワークが出ているが、RoRが 勢いがあるのは事実だな。
結論
というわけで、ウェブプログラミングを試すという意味で、フレームワークの習得を やってみましょう。ただ、どの言語にするかが問題だ。Ruby on Rails、PythonのTurboGears、 PHPのsymfonyなどなど。しかも言語の中でもフレームワークがいっぱい。どうしたものか。
また、同時にjQueryをいじくることもやる。これは実際に見た目を操作したりする時に 便利だろうし、フレームワークをどれにしたとしても使えるだろうから。
これを研究に活かせるといいんだろうが…。
参考サイト
- Ajaxを勉強しよう
- あるSEのつぶやき: Ajaxライブラリまとめ
- GWTとYahoo!のAPIを使って画像検索アプリ! - @IT
- [ThinkIT] 第1回:Railsが注目されている理由 (1/3)
- Ruby on Rails チュートリアル 「Webアプリケーション開発方法」
- zuzara : PHP5のフレームワーク、Symfonyの24チュートリアルを実践してみることにした
関連する記事
- Newer: あけました、おめでとうございました
- Older: 苦しくなるとお金を使うようになる
Comments:2
- やまぐち 08-01-03 (木) 18:07
-
最近はなんやかんやでJSPもいいんでないの?と思うわけですよ.
- riywo 08-01-03 (木) 18:56
-
JSP知らなかったですが、いいですねぇ。HTML組み込みって PHPだけかと思ってました。
Javaの動くサーバを準備することさえできればこれが一番馴染めそうです。 レンタルだと高いのしかないでしょうが、自鯖なら問題なしですねw
Trackbacks:0
- Trackback URL for this entry
- http://blog.riywo.com/2007/12/31/023713/trackback
- Listed below are links to weblogs that reference
- ウェブプログラミング from As a Futurist...



