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


モバツイの中の人
マインドスコープ(株)社長
人の良いジョンカビラと言われます。
AMN sponsor rolls
モバツイの2つのスマートフォン
アンドロイドアプリ!
アンドロイドアプリ モバツイtouch
全てのスマートフォンブラウザと、Nintendo3DSで! HTML5版Webアプリ「モバツイsmart」
本を書きました!
100万人から教わったウェブサービスの極意 ~「モバツイ」開発1268日の知恵と視点
Google Friend Connect
このカテゴリ[Web系]の最新30件
インターネットの可能性を信じて〜本を書きました。 ネットショップに20万円は高いという感覚は割と普通の感覚だと思う。 ソーシャルメディアの生かし方 インターネットは芸術だ ECサイトはGoolge検索エンジンのプラットフォームに乗ってることを自覚せよ Ubuntu 8.0.4でTwitter apiのSSL通信ができなくなった人向けのメモ インターネットを支える仮想共同体 twitterとfacebookのレイヤーは違う 文脈が共有できていないフロー型コミュニケーションの問題点 身も蓋もなくなるインターネット フェイスブックページっで起きるかなぁ?!って思ってること。 非公式RTじゃないとできないこと。公式RTが目指したもの。 ツイッターのつぶやき価値 ネットコミュニケーションは万人の手段ではない AWS東京リージョンとtwitter apiの関係 Facebookがインターネットになると困る デジタルネイティブではない30代のつぶやき ネチケットとアーキテクチャという法律のあいだに。 相撲の八百長問題に見られる、ITによるフローのストックという構図 Webエンジニアスキルの勘所 ツイッター面白いね WebSig一日学校で考えてたこと ソーシャルメディアについてのメモ User Streamの先にあるtwitter Web Creation Awardsにノミネートされました。 携帯Webのクッキー利用について調べてみたメモ【update】 twitterドラマと今後のツイッター デジハリの杉山学長賞をいただきました。 日経電子版を流行らせる一つの思いつき 商品の良さとリンクは、140文字で伝えなさい
[このカテゴリをもっと見る]
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件
インターネットの可能性を信じて〜本を書きました。 バルスのツイート機能に関する謝罪を書いたら沢山反応があった件 モバツイの広告の取り組みについて、発表資料の共有