Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
122<br />
IT ProfessIonal<br />
Web-Programmierung<br />
Beispiel 2: Bild auswählen und anzeigen<br />
Eine anspruchsvolle Anwendung<br />
leicht umgesetzt: Der Nutzer kann ein<br />
Bild <strong>von</strong> einem anderen Web-Dienst<br />
auswählen, das dann in der aktuellen<br />
App angezeigt wird. Basis ist wie beim<br />
Beispiel 1 ein offizielles Beispiel der<br />
Web-Intents-Entwickler (http://examples.webintents.org/intents/pick/index.<br />
html). Das folgende Listing finden Sie<br />
auf der Heft-DVD.<br />
<br />
Web Intents, Beispiel 2<br />
<br />
<br />
<br />
attachEventListener(window, “load”, function() {<br />
var pickImage = document.getElementById(“pickImage”);<br />
attachEventListener(pickImage, “click”, function() {<br />
var intent = new Intent(<br />
“http://webintents.org/pick”,<br />
“image/*”);<br />
window.navigator.startActivity(intent, intentResponse);<br />
return false; });<br />
var intentResponse = function (intentData) {<br />
var output = document.getElementById(“output”);<br />
output.src = intentData.data;<br />
focus(); }; }, false);<br />
<br />
<br />
Web Intents, Beispiel 2<br />
<br />
Bild <strong>von</strong> einem Cloud-Dienst auswählen und anzeigen.<br />
Bild auswählen!<br />
Hier erscheint das gewählte Bild:<br />
<br />
Die süße<br />
Miezekatze<br />
kommt<br />
vom einem<br />
anderen<br />
Web-Dienst.<br />
Service(s) aufrufen<br />
Web-Applikationen fragen eine Aktion mit<br />
vorgegebenen Parametern ab, woraufhin die<br />
Web-Intents-API den bzw. die passenden<br />
Service(s) zur Verfügung stellt. Ein Beispiel:<br />
var intent = new Intent(„http://<br />
webintents.org/share“, „text/uri-list“,<br />
„http://www.pc-magazin.de“);<br />
window.navigator.startActivity(intent);<br />
Der Variablen intent wird in diesem Fall die<br />
Website-URL des <strong>PC</strong> <strong>Magazin</strong>s zugewiesen.<br />
Der type (zweiter Parameter) wird als Text/<br />
Webadresse definiert, und mit share (erster<br />
Parameter) wird die Aktion zum Teilen des<br />
Links angesprochen. Die zweite Code-Zeile<br />
startet schließlich die Ausführung des Codes.<br />
Das vollständige Beispiel finden Sie im Kasten<br />
„Beispiel 1“ auf der vorigen Seite sowie<br />
auf der Heft-DVD – gemeinsam mit dem zweiten<br />
Beispiel aus diesem Artikel.<br />
Nutzbare Intents<br />
Die Web-Intents-Entwickler stellen eine Reihe<br />
<strong>von</strong> Standard-Funktionen für den Datenaustausch<br />
bereit. Das System erlaubt es aber<br />
auch, eigene Intents zu definieren. Für die<br />
meisten Entwickler sollten die Standard-Intents<br />
anfangs ausreichend sein:<br />
discover: Identifizieren <strong>von</strong> externen APIs und<br />
Services.<br />
share: Teilen <strong>von</strong> Daten zwischen Web-Services<br />
bzw. Apps.<br />
edit und view: Daten aus einem Service editieren<br />
und mit einer anderen Applikation betrachten.<br />
pick: Abrufen <strong>von</strong> Daten aus einer Web-App,<br />
um sie in der eigenen Anwendung zu nutzen.<br />
subscribe: Daten einer Web-Anwendung<br />
„abonnieren“.<br />
save: Speichert Daten innerhalb einer Applikation.<br />
Service registrieren<br />
Anbieter <strong>von</strong> Web-Services registrieren ihre<br />
Anwendungen nach einem recht einfachen<br />
Schema. Sie legen fest, welche Funktionalitäten<br />
angeboten werden und was mit den<br />
<strong>von</strong> der Web-Applikation empfangenen Daten<br />
geschehen soll. Der dazugehörige Code sieht<br />
so aus:<br />
<br />
Der Parameter action wird zwingend benötigt.<br />
Ein Verb – der so genannte Intent – beschreibt<br />
die angeforderte bzw. auszuführende<br />
Aktion. Mögliche Angaben sind discover,<br />
share, edit, view, pick, subscribe und save.<br />
Zur Bedeutung der einzelnen Intents lesen<br />
Sie bitte den Abschnitt „Nutzbare Intents“.<br />
Der Parameter type ist optional und erlaubt<br />
die Filterung <strong>von</strong> Daten. Und auch der Parameter<br />
href ist optional: Wenn eine URL<br />
angegeben wird, zeigt sie auf die auszuführende<br />
Aktion, sobald ein Nutzer den Service<br />
auswählt. Wenn keine href-Angabe erfolgt,<br />
wird die aktuelle Webseite verwendet. Hier<br />
nun ein vollständiges Beispiel für eine Service-Registrierung:<br />
<br />
Dieser Code registriert einen Dienst, mit dem<br />
Bilder geteilt werden können. Wählt der Nutzer<br />
den Service aus, erfolgt eine Weiterleitung<br />
auf die Seite „share.html“.<br />
Weitere Infos<br />
Auf der offiziellen Website www.webintents.<br />
org finden Sie eine kurze Dokumentation<br />
sowie weitere Beispiele für mögliche Web-<br />
Intents-Anwendungen. Die FAQ beantworten<br />
die häufigsten Fragen zur neuen Technologie<br />
und ihren Einsatzmöglichkeiten. Web-<br />
Intents-Erfinder Paul Kinlan bietet unter<br />
www.webintents.com eine „20-Sekunden-<br />
Anleitung“ für Entwickler. James Hawkins,<br />
Software-Ingenieur bei Google, liefert im<br />
Chromium-Blog ein interessantes Beispiel<br />
für Web Intents: http://blog.chromium.<br />
org/2011/08/connecting-web-apps-withweb-intents.html.<br />
Auf seiner eigenen Entwickler-Website<br />
vermittelt Paul Kinlan einen<br />
umfassenden Überblick zu Web Intents:<br />
http://paul.kinlan.me.<br />
whs<br />
<strong>PC</strong> <strong>Magazin</strong> 1/2012 www.pc-magazin.de