ソフトウェアウィジェットとは、 1つまたは複数の異なるソフトウェアプラットフォーム向けに作成された、比較的シンプルで使いやすいソフトウェアアプリケーションまたはコンポーネントのことです。
デスクアクセサリやアプレットは、表計算ソフトやワープロソフトのような複雑なアプリケーションとは対照的に、シンプルで独立したユーザーインターフェースの一例です。これらのウィジェットは、ユーザーの注意を独占しない、一時的かつ補助的なアプリケーションの典型的な例と言えます。
一方、グラフィカル制御要素(GUI「ウィジェット」)は、再利用可能なモジュール型コンポーネントの一例であり、これらを組み合わせてより複雑なアプリケーションを構築することで、プログラマーはシンプルで小さなコンポーネントを組み合わせることによってユーザーインターフェースを構築できる。
この用語とコーディング手法は少なくとも1980年代から存在しており、多くの文脈で適用されてきた。[ 1 ]
グラフィカル制御要素(GUIウィジェット)は、コンピュータユーザーがソフトウェアアプリケーションを制御できるようにするグラフィカルユーザーインターフェース(GUI)の一部です。この文脈において、ウィジェットとは、チェックボックスなどの汎用的なGUI要素、その要素のインスタンス、または特定の機能やアプリケーション(ユーザーがコンピュータ画面の外観をカスタマイズするためのダイアログボックスなど)に使用される、カスタマイズされた要素の集合を指す場合があります。ウィジェットツールキットは、開発者がGUIウィジェットを再利用してユーザーインターフェースを構築するのに役立つプログラミングツールのセットです。
Glade Interface Designerなどのグラフィカルユーザーインターフェースビルダーは、 GUIの作成を容易にします。


デスクトップウィジェット(一般的には単にウィジェットと呼ばれる)は、デスクトップ環境向けのインタラクティブな仮想ツールであり、最新ニュース、現在の天気、時刻、カレンダー、辞書、地図プログラム、電卓、デスクトップメモ、フォトビューア、さらには言語翻訳など、単一目的のサービスをユーザーに提供する。ウィジェットはグラフィカルシェルを提供または拡張することができる。ウィジェットエンジンの例としては、以下のようなものがある。
当初、デスクアクセサリーは、一度に1つのメインアプリケーションしか実行できないオペレーティングシステムにおいて、ある程度のマルチタスク機能を提供するために開発されたが、真のマルチタスクOSが登場すると、これらは通常のアプリケーションに取って代わられた。
ほとんどのモバイルウィジェットは、デスクトップウィジェットに似ていますが、携帯電話用です。モバイルウィジェットは画面スペースの使用を最大限に活用でき、特にライブでデータ量の多いアプリケーションをデバイスの待機画面/ホーム画面に配置するのに役立ちます。Java MEベースのモバイルウィジェットエンジンは存在しますが、モバイルデバイスのホーム画面を制御するための標準ベースの Java API がないため、これらのエンジンが電話の上部にウィジェットを公開するのは困難です。
モバイルデバイス向けには、 AJAXベースのネイティブウィジェットプラットフォームもいくつか利用可能です。
モバイルウィジェットの普及が進んでいる理由は容易に理解できる。ウィジェットはオンラインの世界では便利なものだが、モバイルの世界ではほぼ必須と言えるだろう。その理由は、モバイルデバイスは小型で、インターフェースの操作が難しい場合が多いからだ。モバイル環境で大量の情報を読み解くのは、単なる面倒な作業ではなく、ほぼ不可能に近い。
Android は、2009 年 4 月 27 日にリリースされたAndroid 1.5 Cupcake以降、モバイル ウィジェットをネイティブにサポートしています。Androidオペレーティングシステムで最も人気のあるウィジェットには、DashClock、Google Keep、HD Widgets などがあります。[ 3 ]
iOSオペレーティングシステムはモバイルウィジェットもサポートしています。また、HarmonyOSも「サービスカード」と呼ばれるウィジェットをサポートしており、インストール不要のアプリやウィジェットも含まれています。
ウェブウィジェットとは、通常は専門知識を持たないウェブマスターがHTMLベースのウェブページにインストールして実行するポータブルアプリケーションであり、サイト訪問者にショッピング、広告、動画、またはサードパーティのウィジェット提供者からのその他のシンプルな機能を提供するものです。
ウェブブラウザはウィジェットエンジンのインフラストラクチャとしても利用できます。ウェブはウィジェットの配布に適した環境であり、新しいコードスニペットをインストールするためにユーザーによる明示的な操作を必要としません。
ウェブウィジェットは、インタラクティブ性とソーシャルネットワークを通じたバイラル拡散という利点から、マーケティングチャネルとしての可能性を秘めていると認識され、商業的な関心を集めています。最初に知られているウェブウィジェットは、1997年に登場したTrivia Blitzです。これは、Uproar.com(2000年から2001年にかけてオンラインゲーム業界をリードした企業)が提供していたゲームアプレットで、GeoCitiesの個人ページからCNNやTower Recordsまで、35,000以上のウェブサイトに掲載されていました。2001年にUproar.comがVivendi Universalに買収された際、このウィジェットは提供が終了しました。
2006 年 11 月 9 日、 W3Cの Web Application Formats Working Group は、Widgets 1.0 の最初の公開作業ドラフトをリリースしました。 [ 8 ]これは、ウィジェットのいくつかの側面を標準化することを目的としています。Operaブラウザは、この W3C ドラフト標準を採用した最初のクライアント側ウィジェット エンジンです。[ 9 ] Apache Wookie (Incubating) は、この W3C 標準を採用した最初のサーバー側ウィジェット エンジンです。Wookie は、ウィジェット インスタンスを管理し、Opera などのクライアント デバイスに提供されるだけでなく、Web アプリケーションに埋め込むことができるサーバーです。
テレビ向けにもウィジェットが利用可能になった。Yahoo !ウィジェットエンジンは、次世代テレビの構成要素として発表された。

ウィジェットエンジンとは、デスクトップウィジェットやウェブウィジェットが動作するソフトウェアプラットフォームのことです。ウィジェットエンジンのウィジェットモデルは、開発の容易さから魅力的です。これらのウィジェットのほとんどは、数枚の画像と10行から数百行程度のXML / JavaScript / VBScriptソースコードで作成できます。ウェブブラウザなどの単一のホストソフトウェアシステムが、読み込まれたすべてのウィジェットを実行します。これにより、リソースとコードを共有しながら、複数のデスクトップウィジェットを構築することが可能になります。
ウィジェットエンジンとウィジェットツールキットは混同しないでください。ツールキットはGUIプログラマが使用し、複数のウィジェット(再利用可能なコンポーネント)を組み合わせて単一のアプリケーションを構築します。ツールキット内のウィジェットは、単一の低レベルなインタラクションを提供し、ツールキット内の他のウィジェットと通信するように設計されています。一方、デスクトップウィジェットやWebウィジェットなどのウィジェットエンジンは、エンドユーザー向けです。デスクトップウィジェットとWebウィジェットは、独立したタスク指向のアプリケーションであり、それ自体で複数の関連するインタラクションを構成できます。