Silverlight verfügt über eine Teilmenge der Funktionalität aus dem .Net-Framework. Dazu zählt auch die weitegehende aber nicht komplette Unterstützung von WPF (Windows Presentation Foundation). Anfänglich wurde Silverlight auch als WPF/E für Windows Presentation Foundation Everywhere bezeichnet.
Benutzeroberflächen und Animationen für WPF und Silverlight werden meist mit einer XML-basierten Sprache namens XAML beschrieben. XAML (eXtensible Application Markup Language) ähnelt entfernt der von Adobe in Flex genutzten Beschreibungssprache MXML (in Flash gibt es bisher keine vergleichbare deklarative Sprache) und dem in der Mozilla Foundation beliebten XUL (XML User Interface Language). Die XAML-Elemente stehen für Bestandteile aus dem .Net-Framework und können so auch imperativ in einer der .Net-Sprachen Programmiert werden. Eine deklarative Sprache wie XAML lässt sich aber meist einfacher Lesen und visuell Bearbeiten als vergleichbarer Programmcode in Visual Basic oder Visual C#. XAML wird direkt vom Compiler in Code für die Laufzeitumgebung verwandelt oder ggf. erst zur Laufzeit interpretiert.
Als Werkzeuge für die Gestaltung und Erstellung von XAML bietet sich das Illustrationswerkzeug Expression Design an. Für Animationen, den visuellen Entwurf von Benutzeroberflächen und kleinere Arbeiten direkt im XAML-Code kommt Expression Blend zum Einsatz. Die Codebearbeitung gelingt dank Codehilfen und Autovervollständigung (IntelliSense) am einfachsten mit Visual Studio, dem jedoch leider ein visueller Editor fehlt. Sehr hilfreich ist hier, dass sich Blend und Visual Studio das gleiche Projektformat teilen und es sich so zur gleichen Zeit an den gleichen Projekten und sogar den gleichen Dokumenten arbeiten lässt: Design und Animation erfolgen dann in Blend und die Programmierung in Visual Studio.
Aber auch ohne Microsoft steht der Gestaltung von XAML nichts im Wege. Einige Fremdanbieter haben bereits passende Produkte im Portfolio, wobei die meisten leider noch auf WPF ausgelegt und nicht für Silverlight optimiert sind. Hier ist eine unvollständige Liste; Eine umfangreichere Sammlung hat Mike Swanson in seinem Blog zusammengetragen.
Moin Sascha!
Schonmal drüber nachgedacht einen tiefergehenden Vergleich aufzustellen, bzw. mal über einen gestolpert? Ich hab bisher nur die sehr oberflächlichen Artikel gesehen. Interessant wäre ja für welche Bereiche, bzw. mit welchen Zielen Du jetzt mit dem Silverlight KnowHow eine Plattform Entscheidung treffen würdest!
Grüße Jan-Hendrik
Hallo Jan-Hendrik,
ich überlege schon seit einiger Zeit, wie man diese Werkzeuge gut vergleichen könnte, da mir die im Netz befindlichen Gegenüberstellungen meist zu einseitig und teilweise auch zu wenig differenziert sind.
Nach meiner Erfahrung durch Beratungsgespräche und Workshops, sind ohnehin weniger die Feature-Listen als vielmehr der Workflow, die verfügbaren Entwicklerressourcen, strategische Partnerschaften sowie die zu erwartende Unterstützung durch die Hersteller am Ende Ausschlaggebend. Wobei es hier in erster Linie um Enterprise-Kunden und weniger um massentaugliche Inhalte geht – beim letzteren ist ja noch (!) die Verbreitung der Abspielumgebung ein K.O.-Kriterium. Sonst sollte das unbedingt jeweils beim Kunden hinsichtlich dessen Voraussetzungen und Anforderungen evaluiert werden!
Beste Grüße,
Sascha.