2010年4月11日日曜日

「webアプリケーション」は、ネイティブアプリに比べると、色々面倒

情報漏洩やらの懸念から、
企業では、従業員個人単位での単体アプリケーションの運用を辞めて
シン(thin)クライアント化やら、web化やらに進みつつ有ります。
3年ぐらい前から?

web化については、従業員PCに入れるのはブラウザだけで済むので、
「情報管理統括部」としては、大幅に気楽だとは思いますが、
作る方は、むしろ手間が掛かったりします。

#ソリューションの本質は、「苦労」の箇所を「変える」事なので
#開発稼業は、ある程度それを覚悟してやってる訳ではありますが。

例えは、「登録をしたい」と言えば、
基本的に、

  • 追加
  • 検索
  • 修正
  • 削除
  • (終いには)変更履歴、

の4〜5機能の実装を含んでいます。
「アンタ、「登録」としか言わなかったじゃないか!」
とゴネても無駄です。結局作ることになります。

webベースでこれらの実装をするのは、実はかなりコスト(手間)が掛かります。

  • 従業員データは、dbに入れるでしょう。
  • 編集画面は、htmlで書いて、ブラウザに送ります。
  • ブラウザ側で、人間がFORMを埋めて、submitして、サーバに送ります。
  • 空欄チェック、全角半角、英数字、メイルアドレス書式等
  • サーバからチェック結果を戻す。
  • サーバは、dbに格納する。

上記、3段階で、全て、入力項目の管理をしなければなりません。
それ自体は、単体アプリでも必要ですが。

webベースで勝手が違うのは、
ブラウザとサーバの2ヶ所で処理する事です。
しかもその間の通信方法は「HTTPでなければならない」。

入力に不備が有ります、と画面に出すだけで結構苦労します。
サーバ側の実装はPHPだったりJavaだったり、
ブラウザ側はHTMLで、とか言語も違ったりします。

加えて、編集+新規+削除 それぞれで
似て非なる実装を何回か繰り返さなければなりません。

更に、これを「○○管理」全て、繰り返す訳です。

余程の工夫をしないと、工数削減は出来ない、と言うのは
そろそろお解り頂けるでしょうか。

やっつけ仕事で、コピペしても良いのですが、
実装量は確実に増えます。バグりやすくもなります。

筆者が言うまでもなく、
これをどうにかしようという動きも当然ありまして
とっくの昔から、地球規模で進んでいるわけで、
それぞれの言語で、幾つかのフレームワークが産まれています。

しかし「それを持ってくればOK」、で済めばプログラマ要りません。
クライアントの「担当者」がやってみれば良いです。
#本当にそれで済んじゃえば、商売あがったり、な訳ですが。

グーグルが始めた「ajax」は、実はその「どうにか」の一つでもあります。
ブラウザjavascript側に、大部分の処理を移譲することで、
ブラウザとサーバの通信回数をゴッソリ減らせるわけです。

ですので、
ごくたまーに「IE6で、しかもjavascript禁止」だと、
血の気が引きます。ザザーっと。

8年前のテクノロジーに付き合わなければならなくなります。
2010年現在で、改めてIE6互換環境を用意するのにもかなり骨が折れます。
正規で入手する方法は、既にありません。
正直、割増料金が欲しいぐらいです。

マイクロソフト本人が「IE6よりIE7の方が安心」って言ってるんだから
いい加減入れ替えましょうよ。「IT推進部」の皆さん。

自分で「より快適」とか言っちゃだめでしょう。