Juli 14 2008

Programmierung eines Widgets mit der Netvibes Api

0  kommentare

Einführung

Ein Widget ist ein Computerprogramm, das nicht als eigenständige Anwendung betrieben wird, sondern in eine grafische Benutzeroberfläche oder Webseite eingebunden ist. Widgets stellen Dienste oder auch nur Informationen zur Verfügung. Sie benötigen eine Umgebung, die dem Widget Grundfunktionen und Ressourcen bereitstellt und seine Möglichkeiten beschränkt. Programme, die speziell dem Betrieb von Widgets dienen, werden auch als WidgetEngine bezeichnet. 

Der Begriff „Widget“ erlangte 2003 durch das Programm Konfabulator weite Verbreitung, das 2005 von Yahoo gekauft wurde. Populär wurde das Konzept durch die Einführung der Version 10.4 (April 2005), des Betriebssystems Mac OS X, durch Apple. Das Betriebsystem wurde mit dem Programm Dashboard ausgliefert, einer Widget Engine für in HTML, CSS und JavaScript entwickelte Widgets. Das im Januar 2007 erschienene Betriebsystem Windows Vista der Firma Microsoft enthält ebenfalls eine Widget Engine. 

Parallel zur Entwicklung von Widgets für einzelne Betriebssysteme entwickelten sich Widgets in Form von Webanwendungen. Viele dieser Widgets bieten keine komplexen Funktionen, sondern blenden lediglich Informationen aus anderen Quellen ein (Syndikation). Beispiele dafür sind die Einbindung von Inhalten von Portalen wie YouTube oder Flickr. Diese Arten von Widgets haben mit zur Verbreitung von User Generated Content und Web 2.0-Anwendungen beigetragen.

Es gibt momentan keinen einheitlichen Standard für Widgets. Daher muss für jede Plattform eine eigene Implementierung erstellt werden, was einen erheblichen Mehraufwand bedeutet. Eine Alternative sind Dienstleister die ein Widget für verschiedene Plattformen automatisch zur Verfügung stellen wie zum Beispiel der Anbieter Netvibes . Das Internetstandardisierungsgremium W3C arbeitet jedoch an einem einheitlichen Standard für Widgets (W3C). Es bleibt abzuwarten in wie weit sich dieser durchsetzen wird. 

Widgets stellen ein Hilfsmittel dar, um Informationen von verschiedenen Quellen auf einer Webseite zu aggregieren. Damit sind sie ein logischer Nachfolger der Portlet Technolgie mit dem Unterschied, dass die Aggregation clientseitig erfolgt und nicht serverseitig.

Im Zuge des Web 2.0 wird die Integration von Inhalten immer wichtiger. Daher haben wir für Journizer ein Widget entwickelt. Dabei wurde die Netvibes API gewählt, um das Widget möglichst vielen Plattformen zur Verfügung zu stellen. 

Aufbau des Journizer Widgets 

Im Moment unterstützt Netvibes außer seiner eigenen Plattform iGoogle, Apple Dashboard, Opera, Windows Vista und Windows Live. Technisch stützt sich ein Netvibeswidget auf XML und Javscript. Die Kommunikation zwischen den Komponenten ist in folgender Abbildung dargestellt. 

  1. Journizer hat das Journizer Widget auf der Netvibes Plattform veröffentlicht. Dazu wird eine URL bereitgestellt die das Grundgerüst des Widgets liefert.
  2. Der Nutzer installiert das Journizer Widget auf einer unterstützten Widget-
    Plattform, zum Beispiel Apple Dashboard.
  3. Das Widget lädt seine Inhalte über Netvibes vom Journizer Server.

Das Widget besteht aus einer XML Datei die das Grundgerüst bildet sowie Javascriptlogik die für das Nachladen von den Inhalten zuständig ist. Das Widget soll den aktuellen Status eines Journizers darstellen. Dies beinhaltet den Namen, die Mission und seinen Aufenthaltsort. Letzteres wird zusätzlich durch eine Weltkarte visualisiert dargestellt. Den kompletten Inhalt lädt das Widget als HTML Fragment über Netvibes von Journizer Server. Das ganze sieht dann folgendermassen aus:

style=”width:250px;margin-left:auto; margin-right:auto;”> Loading the Journizer widget

Auf meiner Journizer Seite gibt es die Links zur Installation des Widgets auf Verschiedenen Plattformen.

Zusammenfassung

Die Widgettechnologie stellt einen wichtigen Schritt zur Integration verschiedener Inhalte auf einer Webseite dar. Durch entsprechende APIs, wie die der Netvibes Plattform, ist es relativ einfach Widgets für verschiedene Plattformen zur Verfügung zu stellen. Es bleibt abzuwarten in wie fern sich ein einheitlicher Standard durchsetzen wird.

Veröffentlicht in Softwareentwicklung am 14. Juli 2008

Über Jens Jäger.

Meine Mission ist es, den Unternehmens-Impact, meiner Kunden durch agile Softwareprojekte zu steigern:

  • Digitale Transformation ankurbeln.
  • Routineaufgaben automatisieren.
  • Freiraum für Innovation schaffen.

Das könnte dich auch interessieren

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert. Infos zum Datenschutz.


Dein Kommentar *

{"email":"E-Mail Adresse ungültig","url":"Website address invalid","required":"Das Feld wird benötigt"}

Du möchtest mit mir zusammenarbeiten? 

Werde ein Teil unseres Teams: