2011年5月29日日曜日

"9leap" Game Programming Camp @仙台参戦記:#2

"9leap" Game Programming Camp@仙台の日がせまってきた。

今回、準備は何もしていない。

一応、JavaScriptの経験はある。開発もしている。しかし、ぼくが使っているのは、JavaScriptというよりはjQueryだ。

ぼくは、ずっとJavaScriptは邪悪だと思っていた。

JavaScriptが登場した頃、画面に現在時刻を表示したり、えらくセンスのない視覚効果をページに追加するために使われていた。それは、どちらかと言えば、必要ないものだ。

あるいは、フォームの入力値が適正かどうかを検証したり、ショッピングサイトで金額を計算したりするのに使われていた。

これらはもちろんあった方がいい。しかし、JavaScriptでこれらを記述してHTMLに埋め込んでいくと、ものすごくHTMLの可読性が落ちる。また、JavaScriptでDOMの操作を書くのは、はっきり言って、面倒すぎる。

システムをシンプルにしたいなら、ユーザに多少の不便を強いても、サーバ側で全部処理し、JavaScriptは使わないに限る。JavaScriptはユーザの使い勝手を向上させるための必要悪だった。

更に、デバッグしようにも、alertを使って、小ウィンドウに値を表示するだけという、信じられないくらいローテクな開発環境しかなかった。

おまけに、ブラウザによって、JavaScriptエンジンの挙動が異なり、開発はとても気がめいる。

しかしそれは過去の話だ。

FireBug、SafariのWebインスペクタに、Chromeのデベロッパーツール。JavaScriptが動的に追加したDOMの様子も確認できれば、普通のデバッガもついている。

各ブラウザ搭載のJavaScriptエンジンも、信じられないくらい高速化した。

そして、jQueryライブラリ。JavaScriptで書くと面倒なDOM操作、アニメーション、Ajaxが信じられないくらい美しく、簡単に書ける。おまけに、ブラウザ間の差異も吸収してくれる。

今や、JavaScriptというよりは、jQueryを使ってプログラムを書かない理由は何もないのだ。

そして、HTML5とCSS3だ。これらは、JavaScriptの使用が前提となっている。

今、Webで何かをはじめようとするなら、HTML5、CSS3、JavaScriptを使うべきだ。

しかし、JavaScriptは、一見、CやJavaに似ているが、かなり設計思想は異なっている。JavaScriptの本を読んでみるといい。CやJavaしか知らないプログラマには、見慣れない単語が出てくる。実は、JavaScriptは、関数型言語で、独特な変数のスコープ、関数の引数に関数を指定できたり、関数の戻り値に関数を指定できたりする(Cでも関数ポインタを使えば同じようなことはできるが)。

ぼくは、はっきり言って、C、Java、PHPのプログラマで、まだ生JavaScriptはうまく使いこなせていない。果たして大丈夫なのか?

そのとき、清水社長のこの記事を読んだ。

グッバイIVS 日本最強プレゼンバトル体験記

いろいろな意味でふっきれた。

続く

0 件のコメント: