愛車:マツダアテンザ
Webを中心とした、ビジネス&テクノロジーに関する思いつき
by F-shin
[ このサイトについて ] [ F-shinについて ] [ トップ ]
author:えふしん
photo_20.jpg
藤川真一について


人の良いジョンカビラと言われます。
AMN sponsor rolls
モバツイッター
Google Friend Connect
Sinap Christmas Project
F's Garage関連
このカテゴリ[Web系]の最新30件
リアルとネットの融合を進めるために。 twitterのタイムラインは一期一会で良い 【本日20:00より】「WebSig New New分科会」をセミッターで放映しますー。 絵文字標準化の話。 「広告はお金を稼ぐためのものと勘違いしていませんか?」 WebSig年末イベント、忘年会のお誘い 通信事業者がTV局になる日 SNSの広告効果と、電子かんばん カラメルの携帯版をリニューアルした ミクコレの売上 Twitterが生き残るために、を読んだ google mapsの逆ジオコーディング使い辛っ! ロリポップ 7周年でファミコン(本物)プレゼントキャンペーン! 「ユーザーはどの端末からケータイWebにアクセスしているか」をモバツイと比較してみた。 デジタルネイティブ度調査 50%ぐらいかな。残念。 日記:日はまた昇って、そして前に進む フラッシュバック はてブ2.0への期待 CUはメーリングリストコミュニティである件と、CUの使い方。 参考資料:はてブリニューアル発表会ログ サイトのデキを診断する5つの質問 コミュニティビジネスに大事なたった一つのこと ヨドバシリニューアルの件 定型業務と非定型業務 ツイッターのつぶやきってナンダ? ブログは必ずしも個人的に仲良くならなくても良い人の良い意見が聞ける楽しいメディア セミッターを使ったセミナーは、ラジオのパーソナリティとリスナーの関係に近いのかも 本日13:00からセミッターで、セマンイベント配信 その飽きたSNSとは、SNSではなくmixiのことですか? 今週末のWebSigに向けてセミッター調整 ヤスヒサさんとのネット広告系podcast
[このカテゴリをもっと見る]
thatsPing
Powered by
Movable Type

October 22, 2005

Ajaxな制御とかActiveXとの通信とか、やれダイアログの制御や、それらが連携するデータ登録プロセスのフロー制御、クライアントサイドのValidation、フォームに関するDHTMLのUI制御とか組み込むのを、もろもろ他の人に任せていたら、JavaScript (+ VBScript)が1000行を超えてるわ、DHTMLとして使うHTMLフォームのブロックが、ほとんど同じで微妙に状態が違うだけのHTMLが4つも書いてあるわ最悪。

うーん、割と気軽に複雑な設計をしちまったのかなぁと、ちょっと後悔しています。

まだ世の開発者の多くは、JavaScriptは全然得意ではないと思っています。というか、僕も偉そうなことを言える立場ではありませんが、むしろ不慣れではないでしょうか?

JavaなどOO言語で、言語仕様によるコード文法の強制が確立している言語なら、開発者が正しいコード記述にキャッチアップするのは難しくないハズなのですが、JavaScriptは、まず自由な記述ができます。いわゆる普通のJavaScriptは、Flashでいうなら、タイムライン上に直接ActionScriptを記述するようなスタイルと言えます。また、データを出力する基本的なアプローチも違っていて、HTML + JavaScriptをサーバサイドで組み立てるときは、「クライアントサイドは、ただの文字列処理」感覚でソースコードを作りがちなんですね。

開発者のくせに同じようなHTMLを4つも書いてしまって、何の疑問も思わないというのは、HTMLやJavaScriptをJavaと同じようなプログラムだと認識していない証拠です。JavaならMVCを遵守したがるのに、HTML + JavaScriptに出力する文字を独立させようと意識しないのはおかしい話です。サーバサイドのスタンスで物事を考えているんでしょう。

JSPからは、できる限りデータだけを構築すべきだと思います。JavaScriptのオブジェクトや配列だけを構成し、画面の構築はJavaScriptの仕事にするべきです。

HTMLとサーバサイド出力が密結合してしまっていると、いざリファクタリングしようにも、サーバサイドからの出力コードがあっちこっちに埋まっているのは非常にやりにくい。これでは今一度、組み直すぐらいの決断が必要になってしまいます。

GoodPic.ComさんのAjax時代の、サーバ<->クライアントで協調するMVCフレームワークを見て、このネタを書く気になったのですが、確かにクライアントサイド実装のテンプレートエンジンやデータロジックなど各部を自動化してくれるフレームワークを使って、強制的にMVCを切り離すことが重要だよなぁと思っています。

ただ、自分としては今はまだフレームワークに頼るほどではないけど、基本的なプログラミングの仕方は変わってほしいというのが、今、JavaScriptを書くエンジニアに意識してほしいことです。少々ベタでも良いから、OOなJavaScript記述を意識して、少しでも効率の良いコードを書くことを実践するようにしてほしい。

僕が強烈にほしいと思っているのは、参考にすべきJavaScriptのコードパターンをまとめた本です。単純に世の中に出回っているフレームワークのコードを読めば学べるとは思いつつ、それはそれとしてバイブルとすべき文法本がほしいところです。

僕もHTML + JavaScriptにおいて、UIとロジックの切り離しのコードは全然できていなかったりします。いろいろUI制御があると、直接、ロジック内から操作する方が楽ですから、油断するとすぐUIに依存したスクリプトを書いてしまいがちだったりします。

しかし、Ajax時代にその10行を楽すると、結局、1000行に繋がってしまうということがよくわかりました。でもAjax時代のJavaScript記述の意識も持っていない開発者に口頭だけでOO的JavaScript記述を意識させるのは難しいと思っていて、ちょっと面倒でも効率よく、ソースコードをまとめる意識がもてるようになって、オライリーよりも読みやすい「ちゃんとしたJavaScriptを書けるようになる本」をどこかの出版社で作ってもらえませんでしょうかねぇ。

■同じカテゴリ[Web系]のエントリー
>>前の記事 mixi仕様変更UIとAjax
<<次の記事 SNSって何よ。私見的再考。
■このblogの書き込み最新3件
リアルとネットの融合を進めるために。 twitterのタイムラインは一期一会で良い 【本日20:00より】「WebSig New New分科会」をセミッターで放映しますー。