人気ブログランキング | 話題のタグを見る

ウェブアプリケーション

土日の二日を潰して、XAMPPを利用したウェブアプリケーションのサンプルを作った。

目標としたのは、クライアント部分と、通信部分と、データベース処理部分を独立させること。Ajaxを使って、日本語の文書を処理できるようにすることだ。サーバとクライアントの間のデータのやり取りはXMLの知識が全くないので、JSONにした。

クライアントのレイアウトは、HTMLとJavaScriptだけを使うようにし、PHPにはデータのやり取りだけを分担させるようにした。クライアントのレイアウトとデータの送受信を完全に分けたので、レイアウトの変更が非常に楽にできた。また、PHPもデータの送受信とデータベースとのインターフェースに専念させたので、レイアウトの変更を全く気にしないですんだ。

デバッグのときのエラーメッセージは、PHPの場合は、PHPからの出力をDOMでテキストエリアに表示させるようにしたら分かりやすかった。JavaScriptの場合は document.write を使ったら、勝手にWindowを開いて変数をダンプしてくれる。また、ファイアーフォックスのエラーコンソールも役に立った。

久しぶりにまとまったプログラミングをしたが、それで感じたのは、RubyとCのプログラムの経験がかなり役に立ったことだ。PHPは今回初めて使ったし、JavaScriptの経験もあまりないが、プログラムのほうは、Rubyを使っていたときの発想で作っていると自然に、すっきりしたものになっていく。また、Object思考のプログラムは参照を多用するが、Cのポインタの知識があったので、内部的に何が行われているのかが想像できた。

RubyとCをしっかり学べば、自然にいいプログラムを書くコツのようなものができるのではないだろうか。プログラム言語が思考のパターンを形作るのかもしれないという面白い経験をした。

作ったのは簡易QアンドAのデータベースで、解答部分を消したり出したりできるようにした。Ajaxを使いたかったので日本語は utf-8 を使うことにした。コマンドプロンプトから mysql を使うと、文字化けするが、ブラウザから使う分には OS が Vista のためか、入力の漢字変換も問題なくできる。また、日本語を使うためのMySQLの設定は全く必要なかった。検索は id からしかできないが、検索のプログラムは別に作ったほうが楽かもしれない。

クライアント部分は、HTMLとJavaScriptを使うと、びっくりするほど簡単に作ることができる。問題は通信の部分でそのあたりの知識が全くないのでまだ安定性にかけるようだ。例えば、テキストエリアに改行があると、データを取り出せなくなってしまう。データベースのほうはたいしたテーブルもないので、SQL が少し分かれば不満はない動作をしてくれる。

結局のところ、通信部分を担う汎用のモジュールがあれば、日曜プログラマでもデータベースをプライベートネットワークで使うプログラムなら、それほど、苦労せずに作れるのではないかと思った。

つまり、ブラウザの側から、JavaScriptのオブジェクトを送ると、サーバーの側で、PHPやPerlやRubyのオブジェクトにしてくれる、またその逆もやってくれる。通信の際の特殊文字のエスケープに関してもエンコードやデコードを引き受けてくれて、ユーザはそれを全く意識しないで使うことができるようなものだ。

XAMPPにそのようなパッケージが載っていたら、ある程度HTMLやスクリプトがかけるだけでずいぶん色々なことができるようになるのではないだろうか。

それでも、一度データベースのプログラムに挑戦してあきらめたのから考えたら、ずいぶんと楽になったものだと思う。いい時代になったものだ。
by tnomura9 | 2007-10-28 21:34 | XAMPP | Comments(0)
<< プログラムと思考 一番簡単なAjax >>