Firefox使いがWebアプリ書くならFirebugが便利、みたいなのをちょこちょこ見掛けていたが、そこまで劇的に変わるんかなー、とか思って放置してた。デバッガってそんなには使わないし。プロファイラは超大好きだが。VSEEはそこが困る。買えってことだろうけど、開発しやすくした方がWindowsの防衛にもいいんじゃないすかね。
で、原始的に開発していたが、どうも表示が崩れるバグに遭遇して、原因を探るのがかなり大変そうなので、試しにFirebugを入れてみた。
控えめに言っても、想像の五倍くらいは上だった。何だこれスゲー。
リクエスト、レスポンス、それぞれのGET/POSTパラメータ、JSONならデータ構造、DOMやスクリプトやCSSの構造、レスポンスからレンダリング終了までのイベント進行のグラフィカルなタイムライン、クライアントサイドのプロファイラ、と何でもかんでもあった。しかもCSSやHTMLはその場で属性を編集できて、リアルタイムに反映される。
何つーかまあ、時代なんだろーなー。素晴らしいけど、進化が早すぎてきついな。
ただし、表示が崩れるバグはDOCTYPEスイッチだったので、Firebugでは見付かりません。
そんな訳で、サーバ側はPython一本でコーディングもデバッグもプロファイルもほぼ従来通りのスタイル、クライアント側はjQueryにプラグイン載せてコーディングしつつFirebugでデバッグとプロファイル、と。
まあ、割と楽しいかも。
つーかPythonも予想より遙かに楽しい。内包表記やイテレータに慣れた辺りから一気に。
元々はPerlの感覚をベースにしてたから、mapとかgrepとか書きたい時が結構あって、map()やfilter()にlambdaを組み合わせたりしてた訳だが、内包表記で全部片付くのな。まあ、ワンライナー化しないようにはしたいが。
イテレータも嬉しい。どうしてもリスト処理はオーバーヘッドが気になるし。そういえば変数の代入でも重いコピーが基本的に発生しないから、エイリアスとか関数切り分けとかが地味に楽かも。Javaとかも似た感じなのかね。
本気出すなら、boost.pythonで簡単にC++モジュールも作れるらしい。本当なら素晴らしいですなあ。試してないから分からんですなあ。
まあ、そこまで本気出すべきアプリを作る機会は当分無いかもしれんけど。ゲームとか、大きな往来が予想されるサービスとかなら、パフォーマンスは大事だろうけど。そりゃ作りたいっちゃ作りたいけど。