Express yourself

Die zweite Ausgabe von Microsofts Expression-Suite ist deutlich reifer geworden, räumt aber nicht alle Mängel der vorangegangenen aus.

Artikel erschienen in Swiss IT Magazine 2008/12

     

Ein Jahr nach der ersten Version bringt Microsoft bereits die zweite Ausgabe seines Design-Pakets Expression Studio auf den Markt. Die Suite richtet sich an Designer, die im Umfeld der Microsoft-Entwicklungsplattformen Benutzeroberflächen für Web-, Silverlight- und Windows-Anwendungen auf WPF-Basis kreieren. Das Paket setzt sich aus fünf Programmen zusammen: dem Webdesign-Werkzeug Web, dem XAML-Designtool Blend, dem Vektorgrafikprogramm Design, dem Video-Encoder Encode und dem Asset-Management-Tool Media.


Expression Web

Auch wenn man Expression Web seine Verwandtschaft zum seinerzeit unbeliebten FrontPage-Editor an einigen Stellen noch anmerkt, darf man dem neuen Webtool getrost attestieren, dass es fast alles sehr viel besser macht als sein Vorgänger. In der neuen Version 2 gilt das mehr denn je. Expression Web hilft bei der standardkonformen Umsetzung von Websites auf Basis von HTML, XHTML und CSS und bietet dazu unkompliziert zu bedienende Werkzeuge. Der Webentwickler kann wahlweise im Code- oder WYSIWYG-Editor oder in einer Split-Ansicht arbeiten, in der beide Editorvarianten synchron angezeigt werden.



Der enormen Popularität von PHP kann sich auch Microsoft nicht mehr verschliessen. So hat man auch in Redmond erkannt, dass man die Anwenderschar für das hauseigene Webtool kaum vergrössern kann, solange es nicht mit Support für die beliebte Scriptsprache ausgestattet wird. PHP-Unterstützung gehört denn auch zu den wichtigsten Neuerungen. So unterstützt der Codeeditor nicht nur Color-Coding für PHP, sondern bietet auch IntelliSense-Hilfen, die den Anwender bei der Auswahl von Funktionen, Parametern und globalen Variablen unterstützen. Support gibt es auch für die PHP-Includes, die in der Designansicht des Webeditors gerendert werden.




Neben der PHP-Erweiterung hat Microsoft auch seine hauseigene Web-Technologie ASP.NET weiter ausgebaut. So kann Expression Web 2 jetzt mit ASP.NET AJAX umgehen. AJAX-Controls wie UpdatePanel, ScriptManager oder UpdateProgress können per Drag&Drop auf der Oberfläche plaziert und über Dialoge konfiguriert werden. Ausserdem kommt Expression Web jetzt mit Custom Controls, die im BIN-Folder abgelegt wurden, sowie mit Controls von Drittanbietern klar. Ebenfalls über den BIN-Folder können die zusätzlichen AJAX-Bedienelemente des ASP.NET Control Toolkit eingebunden werden.



Unterstützt werden auch die beiden neuen Datenansichtsobjekte DataPager und ListView von ASP.NET 3.5. Codebehind, also das Hinterlegen von ASP.NET-Templates mit C#- oder VB-Code, wird allerdings nach wie vor nicht unterstützt. Hier ist immer noch Visual Studio gefragt. Immerhin verwendet der Webeditor dasselbe Projektformat wie Visual Studo 2005 und 2008, so dass man Projekte problemlos mit beiden Werkzeugen bearbeiten kann. Sehr praktisch ist, dass Expression Web 2 nun wie Visual Studio über einen integrierten Entwicklungs-Webserver (basierend auf Cassini) verfügt, mit dem sich PHP und ASP.NET-Anwendungen lokal austesten lassen.



Neu hinzugekommen ist eine praktische Import-Funktion für Photoshop-Dateien, die sich insbesondere für die Weiterverarbeitung von in Photoshop aufbereiteten Prototypen eignet. Noch vor dem Einlesen kann der Anwender bestimmen, welche Photoshop-Layers er importieren und in welcher Qualität er diese in PNG-, GIF- oder JPEG-Files konvertiert haben möchte. Die Import-Einstellungen lassen sich zwecks späterer Wiederholung des Imports speichern. Der WYSIWYG-Editor unterstützt jetzt auch das Einbetten von Flash, Silverlight-1.0- und Windows-Media-Dateien. Der Editor erlaubt in der Designansicht sogar das Abspielen des integrierten Multimedia-Files.



Nach wie vor unterstützt Expression Web keine sicheren FTP-Verbindungen, und es gibt immer noch kein IntelliSense für JavaScript. Schade ist auch, dass sich die AJAX-Unterstützung auf die ASP.NET-Technologie beschränkt. Alles in allem ist Expression Web das ausgereifteste Werkzeug der Suite und stellt vor allem für Webentwickler im .NET-Umfeld eine valable Alternative zu Adobe Dreamweaver dar.


Expression Blend

Das zweite Element der Expression Suite ist Blend, das für das Design von Benutzeroberflächen basierend auf WPF (Windows Presentation Foundation) und Silverlight spezialisiert ist. WPF wurde mit dem .NET Framework 3.0 Anfang 2007 eingeführt und ist Microsofts neue Basistechnologie für die Erstellung von Rich User Interfaces unter Windows. Kernstück von WPF und Silverlight ist die XML-basierte Sprache XAML (Extensible Application Markup Language), mit der sich die Positionierung und das Aussehen der einzelnen User-Interface-Elemente beschreiben lassen. XAML-basierte Oberflächen lassen sich nahtlos skalieren und können relativ einfach mit eigenem Code manipuliert werden.


Ähnlich wie bei ASP.NET wird auch bei XAML die Programmlogik (Eventhandling, Manipulation von UI-Objekten etc.) strikt von der Definition des eigentlichen UI getrennt. Die Rollen von Designer und Programmierer lassen sich damit klar voneinander trennen: Designer sollen sich in Blend auf die Gestaltung des User Interface konzentrieren können, der Entwickler fügt mit Visual Studio die benötigte Logik in Form von C#- oder VB-Code hinzu.




Wie Expression Web verwendet auch Blend das Visual-Studio-Projektformat, so dass sich die Projektdateien wechselseitig mit beiden Werkzeugen bearbeiten lassen. Dieser Vorteil bringt allerdings auch eine der grössten Schwächen zu Tage: Soll die WPF-Anwendung nicht nur schön aussehen, sondern auch etwas Sinnvolles tun, kommt man mit Blend nicht weit. Für die Programmlogik ist man zwangsläufig auf Visual Studio angewiesen. Anders verhält es sich mit Silverlight-1.0-Anwendungen. Diese werden mit JavaScript programmiert, und dafür bietet Blend einen Editor mit Color-Coding. Mit Silverlight 2.0 wird sich aber auch das bald ändern, denn dort wird der im Hintergrund benötigte Code mit C# oder Visual Basic geschrieben, womit auch hier Visual Studio vonnöten sein wird.



Für XAML stellt Expression Blend einen WYSIWYG- und einen Code-Editor zur Verfügung. Auch hier lassen sich beide Editoren parallel in einer Splitansicht anzeigen. UI-Designer dürften hauptsächlich im WYSIWYG-Modus arbeiten, zumal der XAML-Code selbst bei einfacheren Interface-Designs sehr schnell komplex werden kann. Blend unterstützt allerdings nicht alle XAML-Features. Daher ist es in einigen Fällen nötig, den XAML-Code von Hand anzupassen. Etwas verwunderlich ist dabei, dass der XAML-Editor kein IntelliSense unterstützt.



Die Herangehensweise gleicht bei Blend sehr stark Visual Studio oder Expression Web. Container, Grafikobjekte, Multimedia-Dateien und UI-Controls – für WPF werden über 30 verschiedene Controls und Container angeboten – werden aus einer Toolbox auf die Arbeitsfläche gezogen und auf die gewünschte Grösse gebracht. Danach lassen sich über das Property-Fenster die Eigenschaften festlegen und weitere Formatierungen vornehmen. Blend erlaubt es, Oberflächen mit Spezialeffekten auszustatten und bietet entsprechende Hilfen. Dazu zählt die Animation von Objekten, die über eine Timeline und frei festlegbare Bewegungspfade gesteuert werden können. In diesem Zusammenhang sind Vertex- und Clipping-Path-Animationen neu hinzugekommen.



Neu können Teile eines Oberflächendesigns für die spätere Wiederverwendung gruppiert und in sogenannte Custom Controls ausgelagert werden. Zudem lassen sich zur späteren Wiederverwendung analog zu CSS auch eigene Styles für Oberflächenelemente festlegen. Blend 2 bietet auch Support für Data Binding, mit dem sich Daten einer externen Quelle an ein Interface-Element binden lassen. Weitere Neuerungen sind ein Key-Spline-Editor für die Feinabstimmung von Animationen, besserer Support für Fonts und ein praktischer Suchfilter für Objekt und Properties. Insgesamt erhält man mit Blend 2 einen durchaus funktionalen und praktischen Editor für das Oberflächendesign von WPF- und Silverlight-1.0-Anwendungen.


Expression Design

Das kreative Herzstück der Suite – Expression Design – wird in der Branche fälschlicherweise oft als Konkurrenzprodukt zu Photoshop wahrgenommen. Das Tool ist aber vielmehr dazu gedacht, die grafischen Möglichkeiten von Blend zu ergänzen. Expression Design arbeitet vektororientiert und bietet die üblichen Werkzeuge zum Beispiel für Bézier- und Spline-Kurven, Text-on-Path, Envelope-Distortions und Layer-Handling sowie eine einfache Bitmap-nach-Vektor-Konvertierung. Darüber hinaus gibt es die sogenannten Live Effects, mit denen sich gebräuchliche Effekte wie Gaussian Blur, Drop Shadows oder Glow auf grafische Elemente anwenden lassen.

Überarbeitet wurde auch die Export-Funktion, die jetzt auch Slicing beherrscht. An Exportformaten werden neben XAML auch PSD (Photoshop), GIF, JPEG, PNG und PDF unterstützt. Für Webentwickler hat Expression Design ausser den Slicing-Funktionen herzlich wenig zu bieten. Features für die Erstellung von HTML-Rollovers oder die Grafikoptimierung für den Webeinsatz fehlen. Das hat einen einfachen Grund: Expression Design wurde für die Erstellung von XAML-basierenden Oberflächenelementen optimiert. Dessen Einsatz macht denn auch nur in Kombination mit Expression Blend wirklich Sinn. Ein für den Webeinsatz optimiertes Grafikwerkzeug im Stil von Adobe Photoshop oder Fireworks fehlt der Suite.


Expression Encoder

Wie der Name vermuten lässt, ist der Encoder für die Aufbereitung gestreamter Inhalte gedacht. Das Werkzeug verarbeitet Videodaten in den Formaten MPEG2, WMV, WMA, Quicktime, AVI und alle übrigen Formate, für die ein DirectShow-Codec vorhanden ist. Ausserdem lassen sich Videos direkt von einer angeschlossenen Digitalkamera verarbeiten. Encoder gibt die Formate WMV und WMF aus, die sich via Silverlight und die Windows Media Services übers Web streamen lassen. Der Encoder stellt fixfertige Skins für Silverlight zur Verfügung, mit denen sich ein aufbereitetes Video automatisch mit den nötigen Videoplayer-Bedienelementen ausstatten lässt.


Microsoft setzt für das Encoding auf den aktuellsten VC-1-Codec. der auch HD-Qualität (720p) unterstützt. Die Qualität lässt sich durch Angabe von Frame- und Bitrate, Buffergrössen und Bildformaten exakt bestimmen. Die wichtigsten Anwendungsfälle sind in sogenannten Job Profiles vordefiniert. Praktisch ist das gesplittete Vorschaufenster, in dem das Original-Video parallel zur encodierten Version angezeigt wird. Damit erhält man schon vorab einen guten Eindruck über die zu erwartende Qualität. Per Kommandozeilen-Support ermöglicht Encoder zudem die automatisierte Konvertierung ganzer Videobibliotheken.



Einfache Schnittwerkzeuge erlauben das Zusammenfügen mehrerer Videos oder das Herausschneiden ungewünschter Passagen. Ausserdem können Übergangseffekte, sogenannte Watermarks (Overlays mit Logos, Copyright-Informationen, Werbung etc.) und Untertitel zugefügt werden. Das Video lässt sich zudem mit einer DVD-ähnlichen Navigation ausstatten, über die sich bestimmte Passagen gezielt anspringen lassen.


Encoder 2 hinterlässt einen sehr soliden und gut durchdachten Eindruck. Einziger Wermutstropfen ist das beschränkte Angebot an Ausgabeformaten. Immerhin hat Microsoft versprochen, für künftige Versionen die Unterstützung von Formaten wie QuickTime in Betracht zu ziehen.


Expression Media

Expression Media ist das Asset-Management-Werkzeug der Suite und speichert in sogenannten Katalogen bis zu 128’000 Files. Dabei kann es sich um Bilder, Videos, Vektorgrafiken oder Animationen in mehr als 100 unterschiedlichen Formaten handeln. Es lassen sich ganze Verzeichnisse in einen Katalog importieren, oder es können einzelne Dateien einfach per Drag&Drop zugefügt werden.




Im Katalog gespeicherte Objekte lassen sich in unterschiedlichen Ansichten (Listen, Thumbnails, Slideshows) betrachten und können anhand von Metadaten organisiert, durchsucht und gefiltert werden Dazu unterstützt Expression Media standardisierte Metadatenformate wie EXIF, IPTC und XMP. In den Dateien gespeicherte Metadaten wie etwa Bildformate, Aufnahmedatum oder GPS-Daten (falls vorhanden) werden beim Import automatisch ausgelesen. Zudem können Anwender die gespeicherten Objekte mit eigenen Labels, Rating, Datum, hierarchisch geordneten Schlüsselwörtern und Angaben zum Inhalt weiter beschreiben. Das Programm bietet eine einfache (manuelle) Backup-Funktion, erlaubt das Renaming von ganzen Dateigruppen und beherrscht einfache Bildmanipulationsfunktionen wie Rotieren, Beschneiden oder Verkleinern.


Fazit

Mit Expression Studio 2 hat Microsoft eine solide Programm-Suite für die Gestaltung von Benutzerschnittstellen und die Aufbereitung von Mediadaten vorgelegt. Von einer echten Konkurrenz zur Creative-Suite von Adobe ist das Expression-Bundle aber noch weit entfernt, dafür sind die einzelnen Produkte viel zu stark auf Microsofts eigene Technologien fokussiert. Adobe bei den kreativen Werkzeugen den Rang abzulaufen ist allerdings auch nicht Microsofts Absicht – zumindest noch nicht. Vielmehr geht es den Redmondern darum, die passenden Werkzeuge zu haben, um die eigenen Technologien wie WPF oder Silverlight zu fördern.

Einzige Ausnahme bildet hier Expression Web, das neben ASP.NET nun auch Microsoft-fremde Technologien wie PHP, Photoshop oder Flash unterstützt und damit näher zu Adobe Dreamweaver aufschliesst. Obwohl Teamarbeit und optimaler Workflow von Microsoft immer wieder als eines der grossen Killerkriterien der Expression-Suite genannt wird, verfügt die Suite über keine eigenen Team-Werkzeuge, wie zum Beispiel Versions- und Sourcecode-Kontrolle. Zudem können die Redmonder bislang auch nicht
mit einer Integration der Expression-Produkte in den Visual Studio Team Foundation Server (TFS) aufwarten.


Expression Blend 2.5

Seit einigen Wochen bietet Microsoft bereits die nächste Version von Expression Blend in einer Vorabversion zum Download an. Diese steht ganz im Zeichen von Silverlight 2.0, das noch diesen Herbst verfügbar werden soll. Expression Blend 2.5 bringt beispielsweise Unterstützung für die in Silverlight 2.0 spezifischen XAML-Funktionen oder die neuen Silverlight-UI-Controls. Die Silverlight-2.0-Runtime enthält unter anderem auch eine abgespeckte Version des .NET
Frameworks und erlaubt die Entwicklung von Anwendungen mit .NET-Sprachen wie C#, Visual Basic, IronRuby oder IronPython. Für die Programmierung in .NET wird man auch unter Blend 2.5 auf Visual Studio 2008 angewiesen sein.




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Vor wem mussten die sieben Geisslein aufpassen?
GOLD SPONSOREN
SPONSOREN & PARTNER