Silverlight
Silverlight-Architektur

In diesem Thema werden die wesentliche Architektur und die Komponenten von Microsoft Silverlight beschrieben. Silverlight ist nicht nur eine ansprechende Leinwand zum Anzeigen umfangreicher und interaktiver Web- und Medieninhalte. Es ist außerdem eine leistungsstarke und dennoch einfache Plattform zur Entwicklung portierbarer, plattformübergreifender vernetzter Anwendungen, die Daten und Dienste verschiedenster Quellen integrieren. Darüber hinaus können Sie mit Silverlight Benutzeroberflächen erstellen, die die Benutzerfreundlichkeit verglichen mit herkömmlichen Webanwendungen deutlich verbessern.

Obwohl Silverlight als clientseitige Laufzeitumgebung einfach und kompakt erscheint, sind in der Entwicklungsplattform von Silverlight zahlreiche Funktionen und komplexe Technologien integriert und stehen Entwicklern zur Verfügung. Um effektive Silverlight-basierte Anwendungen zu erstellen, benötigen Entwickler praktische Erfahrungen in der Plattformarchitektur.

HinweisHinweis:

Silverlight, Version 2 unterstützt zwei Programmiermodelle: die JavaScript-API für Silverlight und die verwaltete API für Silverlight. Die verwaltete API basiert auf einer Teilmenge von .NET Framework. Viele der Features in diesem Artikel werden nur von der verwalteten API unterstützt. Weitere Informationen finden Sie unter Anwendungs- und Programmiermodelle.

Dieses Thema enthält folgende Abschnitte.

Die Silverlight-Plattform

Die Silverlight-Plattform als Ganzes besteht aus zwei Hauptteilen sowie einer Installations- und Updatekomponente, wie in der folgenden Tabelle dargestellt.

Komponente

Beschreibung

Kernpräsentationsframework

Auf die Benutzeroberfläche und Benutzerinteraktion ausgerichtete Komponenten und Dienste. Dazu gehören Benutzereingaben, einfache Benutzeroberflächen-Steuerelemente für den Einsatz in Webanwendungen, Medienwiedergabe, Verwaltung digitaler Rechte, Datenbindung sowie Präsentationsfeatures wie Vektorgrafiken, Text, Animation und Bilder. Außerdem ist die Extensible Application Markup Language (XAML) zum Angeben von Layouts enthalten.

.NET Framework für Silverlight

Ein Teil von .NET Framework mit Komponenten und Bibliotheken. Dazu gehören Datenintegration, erweiterbare Windows-Steuerelemente, Netzwerkfunktionen, Basisklassenbibliotheken, Garbage Collection und Common Language Runtime (CLR).

Einige Teile von .NET Framework für Silverlight werden mit der Anwendung bereitgestellt. Diese "Silverlight-Bibliotheken" sind Assemblys, die nicht in der Silverlight-Laufzeit enthalten sind, sondern mit dem Silverlight-SDK ausgeliefert werden. Wenn Silverlight-Bibliotheken in Ihrer Anwendung verwendet werden, werden sie mit der Anwendung gepackt und in den Browser heruntergeladen. Dazu gehören neue Benutzeroberflächen-Steuerelemente, XLINQ, Syndication (RSS/Atom), XML-Serialisierung und Dynamic Language Runtime (DLR).

Installations- und Updateprogramm

Ein Installations- und Updatesteuerelement, das die Installation der Anwendung für Erstbenutzer vereinfacht und anschließend automatische Low-Impact-Updates zur Verfügung stellt.

Die folgende Abbildung enthält diese Komponenten der Silverlight-Architektur sowie verwandte Komponenten und Dienste.

Silverlight-Architektur

Silverlight-Architektur

Der in der Silverlight-Plattform enthaltene kombinierte Satz von Tools, Technologien und Diensten bietet einen besonderen Wert: Er macht es Entwicklern leichter, umfangreiche, interaktive und vernetzte Anwendungen zu erstellen. Obwohl derartige Anwendungen natürlich mit den heutigen Webtools und -technologien erstellt werden können, wird die Arbeit der Entwickler durch viele technische Schwierigkeiten erschwert. Dazu gehören inkompatible Plattformen, unterschiedliche Dateiformate und Protokolle sowie verschiedene Webbrowser, die Seiten unterschiedlich rendern und Skripts anders verarbeiten. Eine umfangreiche Webanwendung, die auf einem System und Browser problemlos ausgeführt wird, kann auf einem anderen System oder Browser ganz anders oder gar nicht laufen. Mit der Vielzahl von Tools, Protokollen und Technologien, die heute verfügbar sind, ist es ein riesiger und häufig zu kostenintensiver Aufwand, eine Anwendung zu entwickeln, die folgende Vorteile in sich vereint:

  • Die Fähigkeit, browser- und plattformübergreifend die gleiche Benutzerfreundlichkeit zu ermöglichen, sodass die Anwendung überall gleich aussieht und die gleiche Leistung zeigt.

  • Die Integration von Daten und Diensten verschiedener vernetzter Speicherorte in eine Anwendung unter Verwendung bekannter .NET Framework-Klassen und -Funktionen.

  • Eine überzeugende und barrierefreie Benutzeroberfläche mit umfangreicher Medienunterstützung.

  • Silverlight erleichtert Entwicklern das Erstellen solcher Anwendungen, da es viele der Inkompatibilitäten aktueller Technologien überwindet und innerhalb einer Plattform Tools zum Erstellen umfangreicher, plattformübergreifender und integrierter Anwendungen zur Verfügung stellt.

Kernpräsentationskomponenten

Die im vorhergehenden Abschnitt und der Abbildung dargestellten Kernpräsentationsfeatures der Silverlight-Plattform werden in der folgenden Tabelle beschrieben.

Feature

Beschreibung

Eingabe

Verarbeitet Eingaben von Hardwaregeräten wie Tastatur und Maus, Zeichnungs- oder anderen Eingabegeräten.

Benutzeroberflächenrendering

Rendert Vektor- und Bitmapgrafiken, Animationen und Text.

Medien

Ermöglicht die Wiedergabe und Verwaltung verschiedener Typen von Audio- und Videodateien, z. B. WMP- und MP3-Dateien.

Deep Zoom

Ermöglicht es Ihnen, hochauflösende Bilder zu vergrößern und darin zu schwenken.

Steuerelemente

Unterstützt erweiterbare Steuerelemente, die vom Benutzer durch Formate und Vorlagen angepasst werden können.

Layout

Aktiviert die dynamische Positionierung von Benutzeroberflächenelementen.

Datenbindung

Aktiviert das Verknüpfen von Datenobjekten und Benutzeroberflächenelementen.

DRM

Aktiviert die Verwaltung digitaler Rechte von Medien.

XAML

Stellt einen Parser für XAML-Markup bereit.

Entwickler können über XAML mit diesem Präsentationsframework interagieren, um Präsentationsdetails anzugeben. XAML ist der primäre Punkt der Interaktion zwischen .NET Framework und der Darstellungsschicht. Entwickler können die Darstellungsschicht programmgesteuert mit verwaltetem Code bearbeiten.

.NET Framework für Silverlight

In der folgenden Tabelle sind einige der Features von .NET Framework für Silverlight enthalten, die in der vorherigen Abbildung dargestellt wurden.

Feature

Beschreibung

Daten

Unterstützt LINQ (Language-Integrated Query)- und LINQ to XML-Features, die die Integration und die Arbeit mit Daten aus unterschiedlichen Quellen erleichtern. Unterstützt außerdem den Einsatz von XML und Serialisierungsklassen zum Verarbeiten von Daten.

Basisklassenbibliothek

Eine Gruppe von .NET Framework-Bibliotheken, die wesentliche Programmierfunktionen zur Verfügung stellen. Dazu gehören Zeichenfolgenbehandlung, reguläre Ausdrücke, Ein- und Ausgaben, Reflektion, Auflistungen und Globalisierung.

Windows Communication Foundation (WCF)

Stellt Features bereit, um den Zugriff auf Remotedienste und -daten zu vereinfachen. Dazu gehören ein Browserobjekt, ein HTTP-Anforderungs- und Antwortobjekt, Unterstützung für domänenübergreifende HTTP-Anforderungen, Unterstützung für RSS/Atom Syndication-Feeds sowie Unterstützung für JSON-, POX- und SOAP-Dienste.

CLR (Common Language Runtime)

Stellt Speicherverwaltung, automatische Speicherbereinigung, Typsicherheitsüberprüfung und Ausnahmebehandlung bereit.

WPF-Steuerelemente (Windows Presentation Foundation)

Stellt einen umfangreichen Satz von Steuerelementen bereit, einschließlich Button, Calendar, CheckBox, DataGrid, DatePicker, HyperlinkButton, ListBox, RadioButton und ScrollViewer.

DLR (Dynamic Language Runtime)

Unterstützt die dynamische Kompilierung und Ausführung von Skriptsprachen wie JavaScript und IronPython zur Programmierung von Silverlight-basierten Anwendungen. Schließt ein austauschbares Modell für die Unterstützung anderer Sprachen zur Verwendung mit Silverlight ein.

.NET Framework für Silverlight ist eine Teilmenge der Vollversion von .NET Framework. Es stellt die wesentlichen Aspekte einer robusten, objektorientierten Anwendungsentwicklung für Anwendungstypen (wie Internetanwendungen) zur Verfügung, für die diese Unterstützung bisher nicht verfügbar war.

Entwickler können mit der .NET Framework für Silverlight-Ebene interagieren, indem sie verwalteten Code mit C# und Visual Basic schreiben. .NET Framework-Entwickler können auch durch Erstellen in Visual Studio 2008 oder Microsoft Expression Blend auf die Präsentationsebene zugreifen.

Zusätzliche Silverlight-Programmierfeatures

Silverlight bietet einige zusätzliche Features, die Entwickler dabei unterstützen, umfangreiche und interaktive Anwendungen zu erstellen. Einige dieser Anwendungen werden in der folgenden Tabelle beschrieben.

Feature

Beschreibung

Isolierte Speicherung

Stellt für das Dateisystem des lokalen Computers sicheren Zugriff auf den Silverlight-Client bereit. Aktiviert lokales Speichern und Zwischenspeichern von Daten, die für einen bestimmten Benutzer isoliert werden.

Asynchrone Programmierung

Ein Hintergrundarbeitsthread führt Programmieraufgaben aus, während die Anwendung für Benutzerinteraktion freigegeben wird.

Dateiverwaltung

Stellt ein sicheres Dialogfeld Datei öffnen zur Verfügung, um den Prozess zur Erstellung sicherer Dateiuploads zu vereinfachen.

Interaktion von HTML und verwaltetem Code

Ermöglicht es .NET Framework-Programmierern, Benutzeroberflächenelemente im HTML-DOM einer Webseite direkt zu bearbeiten. Webentwickler können außerdem JavaScript verwenden, um verwalteten Code direkt aufzurufen und auf skriptfähige Objekte, Eigenschaften, Ereignisse und Methoden zuzugreifen.

Serialisierung

Unterstützt die Serialisierung von CLR-Typen zu JSON und XML.

Verpacken

Stellt die Application-Klasse und die Erstellungstools zum Erstellen von XAP-Paketen bereit. Das XAP-Paket enthält die Anwendung und den Einstiegspunkt, damit das Silverlight-Plug-In-Steuerelement ausgeführt wird.

XML-Bibliotheken

XmlReader-Klassen und XmlWriter-Klassen vereinfachen das Arbeiten mit XML-Daten von Webdiensten. Mit dem XLinq-Feature können Entwickler XML-Daten direkt innerhalb der .NET Framework-Programmiersprachen abfragen.

Verwandte Technologien und Tools

Die folgenden Microsoft-Anwendungen umfassen spezielle Features für die Silverlight-Entwicklung:

  • Microsoft Expression Blend. Mit diesem Tool kann die Präsentationsschicht einer Anwendung durch Bearbeiten der XAML-Canvas und -Steuerelemente, durch die Arbeit mit Grafiken und durch Programmieren der Präsentationsschicht mit einer dynamischen Sprache wie JavaScript erstellt und modifiziert werden.

  • Visual Studio 2008. Visual Studio stellt Produktivitätstools zum Entwickeln von Anwendungen mit verwaltetem Code bereit. Alle vorhandenen Features von Visual Studio sind für Silverlight verfügbar. Darüber hinaus umfasst diese Version von Visual Studio Silverlight-spezifische Features, einschließlich IntelliSense, Debuggen und Silverlight-Projektvorlagen, mit denen alle erforderlichen Dateien erstellt und verknüpft werden.

Da Silverlight-basierte Anwendungen in einer Laufzeitumgebung auf dem Clientcomputer ausgeführt werden, muss auf dem Server keine bestimmte Anwendung installiert sein. Die Arbeit der Entwickler, umfangreiche Anwendungen, die Dienste und Daten aus verschiedenen Quellen zusammenführen, auf dem Server zu erstellen, kann jedoch optimiert werden, wenn die folgenden Dienste und serverseitigen Anwendungen in die Silverlight-basierten Anwendungen integriert werden:

  • ASP.NET AJAX. Dazu gehört eine Reihe von Steuerelementen, Diensten und Bibliotheken zum Erstellen umfangreicher und interaktiver webbasierter Anwendungen.

  • Microsoft Windows Communication Foundation-Dienste (WCF)

  • Internetserver, einschließlich Microsoft Internetinformationsdienste (IIS) und Apache Webserver.

  • Internetbasierte Anwendungen und Dienste, einschließlich Microsoft ASP.NET, PHP, Windows Streaming Media-Diensten, Windows Live-Diensten und anderer offener Webdienste.

Siehe auch

Weitere Ressourcen

Tags :


Page view tracker