共通して「なんらかの機能をもった部品」という意味で使われています。Window」のMotifライブラリでボタンやメニューなどの部品の呼び方で使われていた記憶があります。Magic3のコンポーネント部品である「ウィジェット」は、それぞれがブラウザ上で独立的に動作する単体のミニアプリケーションのように考えられます。Webサイトにアクセスしたときのブラウザの画面を、機能のまとまり単位で矩形に区切った領域が、それぞれ独立したアプリケーション的に動作するという考えがMagic3の「ウィジェット」の概念です。Magic3の「ウィジェット」は、Webブラウザ上で見ると単なる画面上の矩形領域のHTMLです。ブラウザ上での視覚的な矩形領域と、その領域に関するサーバ側での処理が完全に1つのコンポーネント部品としてパッケージ化されています。「ウィジェット」は、特定の矩形領域についての、クライアント側とサーバ側の両方の処理を含んだコンポーネント部品です。Webブラウザからのアクセスで、その画面作成に必要なウィジェットがすべて順番に起動されていきます。画面は個々の領域のウィジェットの出力を連結した結果として返ります。「ウィジェット」は画面上に存在している場合のみ、Webサイトの機能として動作します。視覚的に画面上にウィジェットを載せることによって、Webサイトにそのアプリケーション機能を追加でき、はずすことによってアプリケーション機能を取り除くといった画面管理機能を用意することによって、Webアプリケーションの機能の組み込み状況が視覚的にリアルに把握できるようになります。この作業は、テンプレート?にウィジェットを配置する方法で行います。(画面の作り方?)個別の「ウィジェット」のサーバ側では、自領域に対するHTMLの生成処理を行います。サーバ側では、DBとのデータのやり取りしたり、任意の処理をPHPプログラムで行い、HTMLを生成します。この範囲にはJavascriptも含めることができるので、Ajaxを使ってウィジェット独自にサーバと通信を行うこともできます。このようにMagic3の「ウィジェット」は、画面の矩形領域を描画するのに必要なリソースやプログラムである、HTML、Javascript、PHP、CSSなどで構成され、独立したアプリケーションとして動作する部品となっています。ウィジェットはユニークなウィジェットID?で識別されます。ファイルシステムから見た場合、それぞれの「ウィジェット」に必要なファイルは単一のディレクトリ以下にすべて格納され、ディレクトリ名がウィジェットID?になります。(ディレクトリ構成)このウィジェットディレクトリはディレクトリごとZIP圧縮して、単一ファイルとして配布可能です。ウィジェット配布パッケージは、Javaで言うところのJARやWARファイルのようなパッケージモジュールです。配布パッケージはMagic3上であれば、どのサイトでもそのまま動作します。個々のウィジェットの出力の集まりで画面が作成されます。画面生成については、画面の生成方法?を参考にしてください。ウィジェットは、画面の1部分としての起動だけでなく、単独でも起動可能なので、単独で呼び出してRSSやXMLデータを取得するという使い方も可能です。ウィジェットは、Magic3上で動作する一般機能だけでなく、管理機能(ウィジェット-管理機能?)やインストーラなどすべての機能がウィジェット化されていて、これらも入れ替え可能な部品となっています。Magic3を構成する要素は、システムの土台部品であるフレームワーク?とデザイン部品であるテンプレート?と機能部品であるウィジェット部品の3種類です。これらを動的に自由に組み合わせることで、Magic3のサイトは非常に柔軟性の高いWebアプリケーションとなります。†ウィジェットは「ポジションブロック?」のある位置ではあればどこにでも、場所に依存せず配置できる仕組みになっています。1つのページ?上に配置できるウィジェットの数に制限はありません。メイン形式のウィジェットは、1つのページに付き1つだけ配置可能です。†ウィジェット作成基準?ウィジェットの仕様は非常にシンプルです。この単純な仕様こそがMagic3の柔軟な汎用性を生み出します。