Erweitern von "Windows 8"-Anwendungen in die Cloud mit SkyDrive

Die Entwicklung von Windows 8

Einblicke in die Arbeit des Windows-Entwicklerteams

Erweitern von "Windows 8"-Anwendungen in die Cloud mit SkyDrive

Rate This
  • Comments 0

Ausgehend vom letzten Beitrag zur Anmeldung bei Windows 8 mit einer Windows Live ID möchten wir hier auf die Verwendung von SkyDrive mit Anwendungen im Metro-Stil unter Windows 8 eingehen. Die Anwendungen verwenden SkyDrive bis zu einem bestimmten Grad automatisch für das Roaming der Einstellungen und der Anwendungen selbst, und Entwicklern steht die lang ersehnte Möglichkeit zur Verfügung, den Kunden Ihrer Anwendungen Datenroaming zwischen unterschiedlichen Geräten zu bieten. SkyDrive bietet hierfür die perfekte Lösung, da jede Windows Live ID über ein kostenloses, cloudbasiertes Laufwerk verfügt. In diesem Beitrag wird beschrieben, wie Entwickler Anwendungen im Metro-Stil erstellen können, die den Speicherplatz von SkyDrive intern nutzen. Dies ist der erste einer Reihe von Beiträgen, die Codebeispiele enthalten werden. Dieser Beitrag wurde von Mike Torres, dem Gruppenprogrammmanager des SkyDrive Devices and Roaming-Teams verfasst. – Steven

Heutzutage verwenden fast alle Benutzer mehrere Geräte, speichern wichtige Dateien jedoch noch immer auf einem einzigen PC oder einem Speichergerät, auf das sie von ihren anderen Geräten aus nicht zugreifen können. Diese Dateien sind einem Speicherort fest zugeordnet – einem Desktop-PC, einem Laptop oder einem USB-Stick. Wenn der Zugriff auf diesen Speicherort nicht möglich ist, kann auch nicht auf Dokumente oder Fotos zugegriffen werden. Und nicht nur der Zugriff auf die Dateien ist schwierig oder sogar unmöglich, auch die Freigabe für Benutzer in einem anderen Netzwerk kann sehr kompliziert sein.

Doch nun ermöglicht die Cloud den einfachen Zugriff auf Inhalte von praktisch überall aus. Dateien werden an einem zentralen Ort gespeichert und können über jedes Gerät mit Internetzugang abgerufen werden. Auch das Freigeben von Fotos und die Zusammenarbeit an Dokumenten in Echtzeit wird durch die Cloud entscheidend vereinfacht. Dennoch hat sich die Verwendung der Cloud zum Zugriff auf Inhalte bei der Mehrzahl der Benutzer noch nicht durchgesetzt.

Während der Eröffnungskeynote auf der //build/-Konferenz hat Chris Jones erläutert, dass jeder Windows 8-Kunde ein SkyDrive erhält: eine einzelne Cloud für jedermann, in der wichtige Dateien eines Benutzers an einem zentralen Ort für sofortigen Zugriff und unmittelbare Freigabe zur Verfügung stehen. Außerdem fanden auf der Konferenz Vorträge dazu statt, wie Windows 8-Entwickler Ihre Anwendungen mit Live Connect und dem Live SDK cloudfähig gestalten können. So können Anwendungen im Metro-Stil die Live-Cloud verwenden, um das einmalige Anmelden mit der Windows Live ID und den Zugriff auf persönliche Daten wie Dokumente, Fotos und Videos auf SkyDrive mit der Genehmigung des Benutzers zu gestatten.

Wenn Sie eine Anwendung im Metro-Stil für Windows 8 entwickeln möchten, erfahren Sie in diesem Beitrag, wie Sie das einmalige Anmelden und den Zugriff auf Benutzerdaten bei SkyDrive ermöglichen, um Ihre Anwendung zu personalisieren – selbstverständlich mit der Genehmigung des Benutzers.

Herstellen einer Verbindung zwischen einer Anwendungen und der Live-Cloud

Entwickler stoßen beim Erstellen fortschrittlicher Anwendungen mit jeder Plattform immer wieder auf zwei Arten von Problemen:

  • Anmelden und Registrieren von Benutzern: Sich bei Websites und Anwendungen anmelden zu müssen ist zwar unbeliebt, Entwickler wissen jedoch, dass eine Anmeldung das Engagement und die Loyalität der Benutzer für ihre Anwendungen steigert. Die Anmeldung ermöglicht die Personalisierung der Anwendung und das Speichern der persönlichen Einstellungen.
  • Einfaches Übertragen von Benutzerinhalten auf Anwendungen: Selbst anscheinend sehr einfache Aufgaben, wie den Benutzer ein Profilbild festlegen zu lassen, können sehr kompliziert sein, wenn Sie bedenken, dass Benutzer ihre Fotos auf unterschiedlichen Geräten und in der Cloud speichern.

In Windows 8 haben wir diese Probleme für unsere eigenen Foto- und E-Mail-Anwendungen gelöst, und Sie können die gleiche Plattform und Technologie für Ihre Anwendungen im Metro-Stil nutzen. Im Einzelnen wurden die oben beschriebenen Herausforderungen folgendermaßen bewältigt:

  1. Bei der cloudbasierten Identität des Benutzers handelt es sich nun um einen Grundeingabetyp des Betriebssystems, der Anwendungen und Websites nach der Genehmigung des Benutzers allgemein für das einmalige Anmelden zur Verfügung steht. Das heißt, dass Ihre Anwendung den Anmeldestatus eines Benutzers und dessen ID übernehmen kann, und Sie sich daher keine Gedanken über einen separaten Anmeldevorgang machen müssen. Dies ist besonders für den zweiten Punkt entscheidend.
  2. Wir verwenden branchenübliche Protokolle wie OAuth zur Authentifizierung und Autorisierung, um den Zugriff auf Inhalte des Benutzers in der Live-Cloud zu ermöglichen, JSON für die Rückgabe von Daten beim Zugriff auf SkyDrive und Hotmail sowie XMPP für die Interoperabilität mit Windows Live Messenger. Zusätzlich bieten wir das Live SDK für Windows 8 Developer Preview, um die Entwicklung mit WinRT und Integration in Visual Studio 11 Express zu vereinfachen.

Nach dem ersten Herstellen einer Verbindung zwischen einer Anwendung über die Windows Live ID steht dem Benutzer dauerhaft die einmalige Anmeldung von jedem Windows 8-PC aus zur Verfügung, bei dem sich dieser mit einer Windows Live ID angemeldet hat. Dies gilt auch für Ihre Website, auf der Kunden über dieselbe einmalige Anmeldung verfügen, wie wenn sie auf ihrem PC mit Windows Live ID oder auf einer anderen beliebigen Website angemeldet sind, die Windows Live ID unterstützt, wie z. B. Hotmail oder SkyDrive.

Die einfachste Möglichkeit zur Verwendung der einmaligen Anmeldung mit der Windows Live ID und der Integration von SkyDrive-Inhalten in Anwendungen im Metro-Stil bietet das Live SDK.

Dies bedeutet nicht, dass die Anwendung einen dieser Dienste verwenden muss – dies bleibt vollständig dem Entwickler überlassen. Es ist nicht erforderlich, dass Anwendungen für Windows 8 die Anmeldung per Live ID oder einen bestimmten Cloudspeicherplatz verwenden. Hierbei handelt es sich lediglich um Dienste, die Anwendungsentwicklern zur Verfügung stehen.

Verwenden des Live SDKs in Ihrer Anwendung

Wenn dies nicht bereits erfolgt ist, müssen Sie zunächst die Windows 8 Developer Preview und die Live SDK Developer Preview auf Ihrem PC installieren. Dabei wird auch Microsoft Visual Studio 11 Express für Windows Developer Preview installiert. Anschließend müssen Sie die Anwendungsverwaltungswebsite für Windows Push Notifications und Live Connect aufrufen, um Ihre Metro-Anwendung für den Zugriff auf die Live-Cloud zu konfigurieren. Befolgen Sie hierzu die Schritte auf der Website für die Registrierung Ihrer Anwendung für Live Connect.

Nach dem Konfigurieren Ihrer Anwendung für Live Connect müssen Sie einen Verweis auf das Live SDK hinzufügen. Das Live SDK steht für die Entwicklung in C#, JavaScript und VB bereit. Sie können es zu Ihrem Projekt hinzufügen, indem sie mit der rechten Maustaste auf das Projekt klicken, [Add Reference] (Verweis hinzufügen), in der Liste [Extension SDKs] (Erweiterungs-SDKs) und anschließend den unten dargestellten Eintrag für das Live SDK auswählen:

Bei einer JavaScript-Anwendung müssen Sie folgenden Skriptverweis zu "Default.html" hinzufügen:

    <script src="ms-wwa:///LiveSDKHTML.5.0/js/wl.js" 

></script>

In C# müssen Sie folgenden Verweis hinzufügen, um das Live SDK in Ihrem Code zu nutzen:

 using Microsoft.Live;

In VB muss lediglich dies hinzugefügt werden:

 Imports Microsoft.Live

Dies ist ein gutes Beispiel dafür, wie Sie die Programmiersprache Ihrer Wahl zum Erstellen von Anwendungen im Metro-Stil für Windows 8 verwenden können.

Verwenden der Windows Live ID in Ihrer Anwendung im Metro-Stil

Sie müssen der Anwendung eine Anmeldeschaltfläche hinzufügen, um das einmalige Anmelden (SSO, Single Sign On) in Ihrer Anwendung zu verwenden. Wenn der Benutzer auf die Anmeldeschaltfläche klickt, wird er automatisch angemeldet, sofern er auf seinem PC mit einer Windows Live ID angemeldet ist. Andernfalls wird der Benutzer aufgefordert, sich anzumelden und anschließend den Zugriff der Anwendung auf Daten, wie z. B. SkyDrive-Fotos, zu genehmigen. Der gesamte Ablauf erfolgt automatisch, indem Sie einfach eine Anmeldeschaltfläche hinzufügen. Beachten Sie, dass Benutzer der Anmeldung bei der Anwendung weiterhin zustimmen müssen und nicht automatisch angemeldet werden. Dies war eine der entscheidenden Überlegungen bei diesem Entwurf.

Im Folgenden finden Sie ein HTML-Beispiel für die Anmeldeschaltfläche (beachten Sie, dass es sich hierbei nur um ein DIV handelt, das konfiguriert werden muss).

 <div id="signinbutton" style="width: 251px; margin-left: auto; margin-top: 

40%; height: 64px; top: 0px;"></div>

Nachdem Sie die Anmeldeschaltfläche der Seite hinzugefügt haben, müssen Sie diese verknüpfen. Das HTML-Beispiel stellt lediglich Platz auf der Seite zur Verfügung. Außerdem muss die Anmeldeschaltfläche mit den Bereichen für die Anwendung konfiguriert werden. Ein Bereich legt fest, auf welche Inhalte die Anwendung zugreifen kann und bei welchen Inhalten der Benutzer zustimmen muss. Um auf SkyDrive-Daten zuzugreifen, muss die Anwendung diese beiden Bereiche verwenden:

  • wl.signin – Dieser Bereich ermöglicht die automatische Anmeldung bei der Anwendung.
  • wl.skydrive – Dieser Bereicht ermöglicht das Lesen der SkyDrive-Alben und -Fotos des Benutzers (Hinweis: Die Anmeldung muss wl.skydrive_update verwenden, wenn Inhalte auf SkyDrive hochgeladen werden sollen).

Im Folgenden finden Sie ein JavaScript-Codebeispiel für die Initialisierung. Im Beispiel wird vorausgesetzt, dass Sie bereits eine Anmeldeschaltfläche mit der ID "signinbutton" auf der Seite erstellt haben:

function init() {
WL.init();

WL.ui({
name: "signin",
element: "signinbutton",
scope: ["wl.signin", "wl.skydrive"],
});
}

Dies ist ein JavaScript-Codebeispiel für die Anmeldung:

WL.Event.subscribe("auth.login", onLoginComplete);

function onLoginComplete() {
var session = WL.getSession();
if (!session.error) {
signedInUser();
}
}

Wenn der Benutzer auf die Anmeldeschaltfläche klickt, wird er aufgefordert, den Datenzugriff durch die Anwendung zu genehmigen. Wie bereits angemerkt, gilt das einmalige Anmelden, wenn der Benutzer an seinem PC mit einer Windows Live ID angemeldet ist. In diesem Fall muss sich der Benutzer nicht erneut anmelden. Stattdessen wird der Benutzer unmittelbar auf diesen Genehmigungsbildschirm weitergeleitet.

Zugreifen auf SkyDrive-Inhalte über Ihre Anwendung

Sobald der Benutzer dem Datenzugriff durch die Anwendung zugestimmt hat, werden OAuth 2.0-Zugriffstoken an die Anwendung zurückgegeben, die für RESTful API-Abfragen an die Live-Cloud verwendet werden können. Im Folgenden finden Sie ein JavaScript-Codebeispiel, das den Zugriff auf ein Foto ermöglicht:

function downloadPicture(folderId) {

var path = folderId + "/files"

// Submit request
WL.api({ path: path, method: "GET" }, onEnumerateFolderComplete)

};

Mit einigen der obigen Abfragen können SkyDrive-Inhalte wie PowerPoint-Folien, Videos, Excel-Arbeitsblätter oder Bilder, wie im folgenden dargestellt, in eine Anwendung integriert werden.

Wie Sie sehen, erfordert die Integration der einmaligen Anmeldung sowie von Benutzerdaten, die auf SkyDrive gespeichert wurden, mit dem Live SDK nur wenige Codezeilen. Ihre Anwendung wird persönlicher und kann die in der Cloud gespeicherten Fotos und Dokumente in vollem Umfang nutzen. Der vollständige Quellcode der in diesem Betrag verwendeten Beispielanwendung kann hier heruntergeladen werden.

Weitere Informationen zur Verwendung des Live SDKs für das einmalige Anmelden bei Anwendungen und die Nutzung von SkyDrive-APIs erhalten Sie in den Vorträgen von Dare Obasanjo Power your app with Live services und Steve Gordon The complete developer’s guide to the SkyDrive API von der BUILD-Konferenz. Außerdem können Sie sich auch auf http://dev.live.com informieren und die Live SDK Developer Preview herunterladen. Viel Spaß beim Erstellen von Anwendungen!

Mike Torres

  • Loading...
Leave a Comment
  • Please add 4 and 7 and type the answer here:
  • Post