- Widget
-
Ein Widget ist eine Komponente eines grafischen Fenstersystems. Das Widget besteht zum einen aus dem Fenster, einem sichtbaren Bereich, der Maus- und/oder Tastaturereignisse empfängt, und zum anderen aus dem nicht sichtbaren Objekt, das den Zustand der Komponente speichert und über bestimmte Zeichenoperationen den sichtbaren Bereich verändern kann. Widgets sind immer in ein bestimmtes Fenstersystem eingebunden und nutzen dieses zur Interaktion mit dem Anwender oder anderen Widgets des Fenstersystems.
Applets sind zwar ebenfalls in eine Umgebung eingebunden, verwenden jedoch im Gegensatz zum Widget nicht zwingend die vom Fenstersystem bereitgestellten Dienste und Fenster. Applets werden meist über eine – im Vergleich zur Schnittstelle des Fenstersystems – relativ grobe Plugin-Schnittstelle in das Wirtssystem eingebunden und haben meist ihre eigene Fenster- und Ereignisverwaltung.
Widgets und zum Teil auch Applets können nicht als eigenständige Anwendungsprogramme im Rahmen eines Betriebssystems betrieben werden. Sie benötigen eine Umgebung, die über eine Programmierschnittstelle Grundfunktionen und Ressourcen bereitstellt und somit die Möglichkeiten beschränkt. Programme für den Betrieb von Widgets werden als Widget-Engines bezeichnet.
Ursprung und Entwicklung
Widgets stammen ursprünglich aus dem Projekt Athena und bezeichneten ein mit einem Fenster assoziiertes Objekt, daraus resultiert das Kunstwort aus Wi(ndow) und (Ga)dget. Ein solches Windowobjekt konnte eigenständig auf Ereignisse der Tastatur und/oder Maus reagieren und sein Aussehen entsprechend anpassen.[1] Mit den ersten „worldwideweb-Browsern“ unter X11, einem Nachfolger von MIT Athena, gelangte dieser Begriff ins Internet und wird nunmehr für unterschiedliche Technologien verwendet.
Widgets werden mittlerweile von nahezu allen grafischen Benutzeroberflächen unterstützt und sogar benötigt, damit der volle Funktionsumfang der Umgebung zugänglich ist. So sind „gOS“ oder das angekündigte Google Chrome OS darauf angewiesen. Unter Mac OS X seit 2005 und seit 2007 bei Windows sind Widgets verbreitet, aber nahezu „funktionsirrelevant“. Mit SuperKaramba ist auch für KDE bereits seit 2003 ein Widget-Framework verfügbar. Der Begriff Widget erlangte 2003 durch das Programm Konfabulator eine weite Verbreitung.
Parallel zu den Widgets für einzelne Betriebssysteme entwickelten sich Widgets in Form von besonderen Webanwendungen. Viele solcher Anwendungen sind wenig komplex und fügen lediglich Informationen aus anderen Quellen ein, das wird Syndikation genannt. Inhalte von Portalen wie YouTube oder Sevenload werden mit Adobe Flash eingebunden oder Fotos eines Benutzers über die Anwendung Flickr. Diese Nutzung hat mit zur Verbreitung von User Generated Content und Web-2.0-Anwendungen beigetragen. Widgets zur Einbindung in Webseiten werden im Gegensatz zu anderen Widgets häufig nur als kleine Fragmente von HTML- und JavaScript-Code angeboten, die automatisch installiert werden können. Inzwischen verschwinden die Grenzen zwischen Widgets für den Desktop und Widgets im Web immer mehr, da mit entsprechenden Widget-Engines auch Web-Widgets auf dem Desktop eingesetzt werden können. Im Rahmen des W3C wird derzeit an einem Standard für Widgets gearbeitet.[2]
Widget-Engines
Widget-Engines sind grundsätzlich Software-Module. Sie stellen die Voraussetzung für die Nutzung von Widgets dar und geben die Schnittstellen für deren Einbindung. Widgetumgebungen können heute sehr vielfältig sein.
- Verfügbare Widget-Engines für Arbeitsumgebungen sind:
Name Hersteller Beschreibung Technische Informationen adesklets Sylvain Fourmanoit Eine leichtgewichtige Engine für X11 0.6.1(Eingestellt)
unixoide
GPLAveDesk Andreas Verhoeven Eine kostenlose Widget-Engine für Windows 1.4
Windows
DonationwareDashboard Apple Inc. Die in Mac OS X integrierte Widget-Engine 1.7
Mac OS X
ProprietärDesktopX Stardock Corporation Eine bekannte Engine der Firma Stardock 1.7
Windows
SharewaregDesklets Martin Grimme und Christian Meyer Erste funktionsfähige Engine für GNOME 0.36.3
unixoide
GPLGoogle Desktop Gadgets Google Inc. Widgets (dort als Gadgets bezeichnet) können unter Windows, Mac OS X und Linux auf den Desktop gebracht werden. 5.9.X
GNU/Linux, Mac OS X, Windows
ProprietärGoogle Gadgets for Linux Google Inc. Enthält, anders als Google Desktop, nur eine freie Widget-Engine. 0.11.2
GNU/Linux
Apache-LizenzMicrosoft Gadget Microsoft Corporation Können als Minianwendungen ab Windows Vista in die Windows Sidebar integriert werden. ?
Windows
ProprietärOpera Widgets Opera Software ASA Der Webbrowser stellt seit der Version 9 eine eigene Widget-Engine zur Verfügung. 10.50
GNU/Linux, Mac OS X, Windows, uvm.
ProprietärPlasmoids Das KDE-Projekt Die Standard Widget-Engine für KDE kann neben den nativen Widgets (genannt Plasmoids) auch eine Vielzahl anderer Widgets verschiedener Widget-Engines darstellen. 4.4.X
unixoide
GPLScreenlets Rico Pfaus (RYX), Helder Fraga (Whise), Natan Yellin (Aantn) Eine Dashbord-ähnliche Engine für GNOME 0.1.2
unixoide
GPLSerious Samurize Adam Coulthard & Lee Wilson Ein System-Beobachtungs-Programm 1.64.3
Windows
teilweise freiSuperKaramba Das KDE-Projekt Die erste offizielle Widget-Engine des KDE-Projektes, derzeit in Form eines Plasmoids für Plasma in KDE4 unterstützt. 4.4.X
unixoxide
GPLYahoo! Widgets Yahoo/ als Konfabulator von Arlo Rose und Ed Voas entwickelt. Früher Konfabulator – wurde ursprünglich für Mac OS X entwickelt und danach auf Windows portiert. 4.5
Mac OS X, Windows
GPL- Mittels DHTML, AJAX, Adobe Flash, Silverlight oder Java-Applets können derartige Anwendungen auch in Webseiten eingebunden werden. Verschiedene Anbieter bieten Plattformen zur Zusammenstellung von personalisierten Widgets an, etwa Netvibes, iGoogle, pageflakes, ContentSieve, allyve, Sportbrett oder Facebook.
- Auf mobilen Geräten wie PDAs und Smartphones werden Widgets häufig verwendet. Einige Hersteller geben Dokumentation für das Erstellen eigener Widgets heraus.
Einzelnachweise
Wikimedia Foundation.