クライアントとサーバの処理区分

ASP.NETが出る直前に、同僚と「クライアントとサーバの動作について理解していないと大変なことになるよね」と会話したことがあります。
かつてASPとDHTMLで組んでいたときは、サーバ側とクライアント側の処理を強く意識する必要がありました。でも、クライアントに出力する文字を構築するためのASPと、クライアントサイドでのみ生きるDHTMLという明快な区分けだったので然程辛くは無かった。
ASP.NETになりプログラム的にはクライアントとサーバの垣根を取り払ったような作りができるようになり、Windowsアプリケーションライクなイベントドリブン型になった。これはこれで一つの形として全く問題ないんだけど、やはり一歩先に出ようとしたときに大変。
ASP.NETだけをASP.NETだけの開発概念だけでやっていると、例えばメッセージボックスを表示する方法が全く思いつかない。これはFAQ的なものなので情報は検索すれば一発だが、もっと複雑にクライアント連携を要求するような処理となると検索キーすら想像も付かないという事態になる。
これは単にASP.NETの枠を超えるような仕様を求めなければ良いのだが、顧客はそうも言ってくれない場合もある。
そういう時の転ばぬ先の杖として、クライアントとサーバの処理区分についてしっかりと学習する必要を感じる。
特に顧客が直接触れるユーザインタフェースの実装となるDHTMLは、何ができて何ができないかをしっかりと学習しておくと何かと役に立つと思う。