何年か前の話

XOOPS(http://xoopscube.jp/ )というソフトウェアは、ベースとしては、おそらく掲示板システムから
次第に拡張されていったと思いますが、最終的には画面をいくつかのブロックに分けて、
ブロックにユーザが自由に機能を配置するという仕組みになっています。
ユーザが管理画面から、あらかじめ用意された機能を画面上に自由に構成できるという考えは、
非常におもしろいと思いました。
それまでの機能のある動的なWeb画面は、デザイン面でも機能面でもほとんど自由度のない
固定された画面が主流でした。その時代は、機能をつくるだけで精一杯といったところでしょうか。
ハードのスペックもあまりよくなかったので、あまりいろいろとつけて重たくなってしまうことを避けて、
シンプルにしていたということもあります。
ネットワーク上でデータが共有できることが重要でそれ以外はあまり重要でなかったようにも思えます。
サイトの作りもあまり複雑ではなかったので、プログラムの作り方も各人各様いきあばったりで
だいたい用は足りていたのだと思います。
そういった中でも、非常に複雑な作りの画面もだんだん出ていましたが、力技だけで作られていたようです。
Webの画面がだんだん複雑化していくことは予想できました。
XOOPSの考え方は、単にユーザにとっての自由度の高さを目指したものであると思いますが、
Webアプリケーションのベースの仕組み、フレームワーク的考え方からすると、
機能を部品化して、自由に取り外しできる考え方は、夢のコンポーネントプログラミングの考え方につながります。
いままでに、プログラムを独立したコンポーネントに分け、組み合わせるだけで自由にシステム全体が出来上がる。
そういった技術は、いくらでも出てきましたが、すべて消えていきました。COMしかりEJBしかり。
消えていった理由は、コンポーネントの仕様が複雑すぎた、技術が新しくなってコンポーネントが合わなくなった。
大体この2つの理由です。
技術はいずれ廃れて消えていく。しかし、現在の複雑化するWeb画面構成を支える仕組みは、未だ現れていません。
Webの仕組みがもうすぐ、まったく違う技術に変わってしまうのであれば別ですが、
まだ当分の間は変わりそうもありません。
複雑化する画面を支える仕組み(フレームワーク)を作ろうと考えた始まりです。