Neues in Expression Blend 4
(Redaktioneller Beitrag für die Visual Studio One)
Ich hatte mal wieder die Gelegenheit ein paar Zeilen für die Visual Studio One zu schreiben und diese genutzt, um Expression Blend 4 ausgiebig zu beleuchten. Da ich schon seit geraumer Zeit meine Erfahrungen mit Blend 4 gemacht habe, war eine detaillierte kritische Betrachtung der hinsichtlich der Neuerungen möglich.
Mit Blend 4 wird alles besser …
Ketzerisch betrachtet gibt nur es eine einzige große Neuerung in Blend 4, nämlich Windows Phone 7. Und gemeiner Weise werden wir in diesem Artikel garnicht auf das Thema eingehen. Windows Phone 7 mit Blend 4 ist in seinem Spielfeld derart umfangreich und komplex, dass es sich lohnt, dem Thema mindestens einen eigenen Artikel zu widmen – pünktlich zum Erscheinen der Geräte und damit zum Zeitpunkt der vollen Ausschöpfung der Möglichkeiten.
Der nun folgende Artikel gibt einen Überblick über die Verbesserungen und Erweiterungen von Blend 4, die Blend nun in die Liga der Profi-Tools zur Erstellung von RIAs und Software-Applikationen im Umfeld der Microsoft-Technologien erhebt.
Lesern, die Blend 1 bis 3 schon in Teilen kennen und die nun die neuen Möglichkeiten voll ausschöpfen wollen, seien es Designer oder Entwickler, ist dieser Artikel gewidmet.
Verbesserung im Solution-Handling
Vielfältige Erstellungsvarianten für Silverlight 4 und WPF 4 Projekte
In Blend 3 standen dem geneigten Nutzer schon diverse Auswahlmöglichkeiten für das Projekt-Setup zur Verfügung. Erweitert wurden die Setups nun um die Silverlight und WPF-Data-Driven-Applikationen. Wer die Phone-Tools installiert, hat diese ebenfalls als weitere Option.
Kompatibilität zu Silverlight 3 bzw. WPF 3
Wie oft hat man in der letzten Version vermisst, dass man nicht abwärtskompatibel arbeiten kann! Die Realität sieht nun mal vor, dass oft auch für ältere Plugin-Versionen gearbeitet werden muss. Schön ist, dass man nun die neuesten Tools einsetzen und dennoch für ältere Plugin-Version arbeiten kann. Mit Hilfe von ein paar Klicks kann beim Erzeugen der Solution zwischen Silverlight 3/4 bzw. .net 3.5/.net 4.0 gewählt werden.
Zusammenspiel mit Visual Studio 2010 und dem TFS
Das Zusammenspiel mit Visual Studio 2010 ist nahtlos. Besonders bemerkenswert sind dabei zwei Dinge: Der Sketch Style wird auch in Visual Studio 2010 mit angezeigt. Die Anbindung an den TFS funktioniert nun auch nahtlos, so dass man als GUI-Designerin auch einfach Daten über Blend ein- und auschecken kann.
Bessere Unterstützung bei der Entwicklung von Business Applikationen
Im Rahmen der Projektanlage bringt Blend 4 jetzt auch Projektvorlagen für MVVM – Projekte mit. Diese Templates enthalten schon ein kleines ViewModel, die Anbindung an Beispieldaten und eine Beispiel Interaktion mit dem Model.
Besseres Ressourcen Lookup
Wer kennt das nicht? Man öffnete eine Maske und Blend 3 zeigt keinen Inhalt an. Grund dafür war oft, dass statische Ressourcen aus anderen Projekten nicht gefunden wurden. Was man vorher noch mit einigen Designtime Tricks bewerkstelligen musste, macht Blend 4 jetzt automatisch. Werden Ressourcen nicht gefunden, öffnet sich ein Dialog, welcher fragt in welchem Dictionary die Ressource liegt. Diese Angabe nutzt Blend, um die Ressourcen doch findbar zu machen, und zeigt dann die Maske an.
Verbesserungen im Umgang mit Designs
Formvorlagen für schnelles Zeichnen
Wer ohne eigene Designleistung dennoch einige grafische Formen in seine Applikation integrierten möchte, bekommt von Blend nun eine Auswahl vorgefertigter Vektor-Grafiken geliefert, die dann farbig frei gestaltet werden können. Selbst wenn man kein Fan dieser „Clip-Art“-Philosophie ist, ist durchaus Nutzen für kurzfristige Visualisierungen.
Grafik-Import, der zufrieden stellt
Ob schon als Killerfeature beworben in Blend 3, hat der als Arbeitsschritt für Designintegration sehr wichtige Photoshop- und Illustrator-Import in der älteren Version nicht begeistert. Nun funktioniert es nahtlos, so dass man wirklich komfortable die Designs aus Photoshop und Illustrator importieren kann. Ja, jetzt begeistert dieses Feature!
Easing-Funktionalitäten ganz easy
Blend 3 löste in Bezug auf Easing, also dem Animationsverhalten, durch die unterschiedliche Herangehensweise bei WPF und Silverlight große Verwirrung aus. In Blend 4 hat sich das Handling des Easings auf die besseren Arbeitsweise von Silverlight angeglichen.
Verbesserung der Arbeit im Sketch Flow Prototypen
Der mit Blend 3 eingeführte wahrlich revolutionäre Sketch Flow Prototyping Modus, der schon vor knapp einem Jahr mächtig begeisterte, hat nun nochmal einige gravierende Neuerungen und Verbesserungen erfahren. Bei den Sketch Styles sind noch einige Controls hinzugekommen, allerdings würde man sich hier ein vollwertiges Style-Set wünschen. Wo liegt bitte das Problem, so simple Dinge wie z. B. einen Expander auch im Sketch Style zur Verfügung zu stellen?
Dass SketchFlow Animation, die in Blend 3 noch ein bisschen Beta-Charme hatte, nun besser steuerbar ist, darf alle freuen. Erfreulich ist auch, dass die Pfadobjekte für den SketchFlow als Style zur Verfügung stehen. Hier wäre allerdings auch eine konsequente Umsetzung auf das Zeichentool bezogen wünschenswert, damit man auch selber die eine oder andere Freiform in diesem Scribble-Style zeichnen kann, um so dem Kunden einen wahrhaftigen Prototypen zu präsentieren.
Der überarbeitete Sketchflow Player hält einige Überraschungen für den Anwender bereit. Ob es allerdings wirklich so gut ankommen wird, dass die Map nun nur versteckt erreichbar ist, ist fraglich. Etwas enttäuschend ist die Performance von Sketch Flow Prototypen. Auch ohne wirklich viel in ihn hinein gepackt zu haben, wird er doch manchmal recht langsam, wenn man vom einen Screen zum nächsten klickt – so sehr, dass Kunden schon fragten, ob das denn auch die Original-Performance wäre. Sowas ist dann doch eher peinlich. Umso begeisterternder sind Scaling, Clicking und Dragging Verhalten. Höchsten Applaus verdienen die Entwickler für das Feature, dass nun die importierten Kommentare mit in die Word-Dokumentation hinein geschrieben werden können. Sensationell!
Verbesserte Control-Templates
Control-Templates sind in vielerlei Hinsicht verbessert worden. Die Möglichkeiten sind gewachsen und die Handhabung leichter geworden.
State-Handling
Wo vormals Listen oft recht plump daher kamen und kaum Unterschied in den States einzelner Items zu erkennen waren, ist es nun möglich über entsprechende LayoutStates optisch und mit Transistion-Animationen zu differenzieren, wie eine ListBox aussieht, bevor ein Item geladen wird, nachdem es geladen wurde und bevor es gelöscht wird.
Pfadausrichtung der ItemTemplates
Einen großen Spielraum liefern neue ItemTemplate-Ansätze. Das ListBoxItem kann nun weitaus mehr als sich unter- oder nebeneinander zu reihen. Nun ist es möglich, gelistete Elemente auch an einem Pfad auszurichten und dann auch noch innerhalb der ListBox entsprechend zu animieren. Das lässt vor allem Designerherzen höher schlagen, aber auch Programmierern wird das Leben damit merklich erleichtert.
Eine große Bibliothek von neuen WPF4 Controls
Das Designen mancher komplexer Controls war in den Vorgänger-Versionen von Blend zum Teil ein bisschen schwerfällig. Das ist nun gravierend erleichtert worden, da eine Erweiterung der Control-Templates vollzogen wurde. Hinzugekommene komplexe Controls sind z.B. der Kalender und das DataGrid mit allen Untercontrols. Die „alten“ Controls sind im Einzelnen über den VisualState-Manager erheblich vielfältiger geworden.
Verbesserte Effekt-Hascherei
Der Einsatz von Pixel-Shader-Effekten und Transition-Effekten waren in Version 3 ausschließlich Entwicklern vorbehalten, da diese einprogrammiert werden mussten. Mit Blend 4 kommt eine große Bibliothek an solchen Effekten hinzu, die über die Assets in das XAML integriert werden können. Über die Property-Panels können die Pixelshader detailliert justiert werden.
Pixelshader-Effekte
Pixelshader können sowohl auf Bitmap-Bilder als auch auf Vektor-Grafiken, ebenso auch auf ganze Controls gelegt werden. Diese Verleihen dem grafischen Objekt eine vollkommen andere optische Anmutung. Sie ähneln den Filtern und Effekten, die man aus Photoshop oder anderen Grafikprogrammen kennt. Eines ist bei den Bitmap-Effekten allerdings immer noch zu beachten: Ihre Darstellung bleibt abhängig von der Leistungsfähigkeit des CPU, des GPU und damit dem so genannten „Rendiertier“.
Hier die Liste der Möglichkeiten:
Bloom, ColorTon, Emboss, Magnify, Monochrome, Pixelate, Ripple, Sharpen, Swirl,
Transition-Effekte
Die Transition-Effekte liefern vielfältige Möglichkeiten bei der Animation von zwei Visual States zu einander. Nicht ganz fremd sind diese Effekte, wenn man die Animationsmöglichkeiten in PowerPoint kennt. Auch wenn das eine oder andere den Charme von etwas proprietärer Word-Art hat, liegen doch in den Transition- und Bitmap-Effekten viel Potential, weil man alle Details selber einstellen kann.
Die integrierten Transition-Effekte sind:
Blinds, Circal Reveal, Cloud Reveal, Fade, Pixalate, Radial Blur, Ripple, Slide In, Smooth Swirl Grid, Wave, Wipe
Verbesserte Behaviours
Behaviours und Conditions
Erfreulicher Weise können Behaviours nun nicht mehr nur von einem einzelnen Event ausgelöst werden, sondern auch von unterschiedlichen Bedingungsschleifen.
PropertyBinding
Dass Behaviours nun an Properties gebunden werden können, ist ebenfalls sensationell. Das eröffnet neue Spielräume im Abspielen von Animationen einerseits, aber auch in der Qualität der Einzelcontrols und der allgemeinen Usability.
Neue Behaviours
Die in Blend 3 eingeführten Behaviours sind nun noch mal gravierend erweitert worden. Damit werden Behaviours ab sofort nicht mehr nur das Lieblingsspielzeug der Interactive Designers sein. Behaviours richten sich nun auch vermehrt an die Bedürfnisse von Programmierern, da nun Features angeboten werden, die sich mit Datenhandhabung und Methodenaufrufen beschäftigen.
Die neuen Behaviours sind hier benannt. Die Namen sagen eigentlich schon alles über die Besonderheit dahinter:
CallMethodAction, DataStateBehaviour, DataTrigger, DataStoreChangeTrigger, FluidMoveBehaviour, FluidMoveSetTagBehaviour, InvokeCommandBehaviour, InvokeCommandAction, SetDataStoreValueAction, TranslateZoomRotateBehaviour
Persönliches Fazit
Unter Blend 3 schon als bekennende Blender überzeugt, hat Blend 4 ganz abgesehen vom neuen Windows Phone 7 Thema auf der Ebene der Verbesserungen einen riesigen Sprung nach vorne gemacht und macht uns zu echten Fans. Nun hat man mit Blend ein großes und mächtiges Werkzeug an der Hand für die Erstellung von vielfältigen Applikationen für nutzerfreundliche Software unter WPF, für schicke RIAs mit Silverlight, für Projekt für unterschiedlichsten Devices von Phone über Web zum Surface, für eine Ergebnisqualität, die sich auf Design- und Animationsseite hinter Flashapplikationen in keinster Weise verstecken muss, aber dennoch auf Programmierseite die Qualität ernsthafter Softwareapplikationen hat. Von Version zu Version begeistert Blend immer mehr.
Einen Wermutstropfen gibt es allerdings: Mit der Macht steigt auch der Anspruch. Blend ist nicht – wie gerne versprochen – mal eben schnell erlernt, sondern wächst versionsbezogen in seiner Komplexität, was auch die Lernkurve immer steiler werden lässt. Aber die Investition lohnt sich.
Hier ist der Teaser zum gedruckten Artikel:
Downloadlink!!!
Den vollständigen Artikel in Druckform erhalten Sie mit dem Magazin unter:
http://www.visualstudio1.de/
