Dienstag, November 07, 2006

DEV225 Windows Presentation Foundation (WPF): Introduction

Mike Pelton
Abstract:
WPF is Microsoft's new graphical presentation technology. It makes very light work of sophisticated graphics tasks and hence opens many new doors – the ability to create highly productive and original user interfaces (UI), to mix 2D and 3D graphics into applications easily, to offer a compelling experience to your users, and the ability to mesh the work of graphic designers with business logic. There's a remarkable clarity of vision behind WPF's architecture and, primarily through demonstrations, this session will illustrate how that model brings capabilities that used to be considered the domain of the highly specialised to within easy reach of all developers.


Diese Session habe ich besucht, weil die SharePoint oder Office Sessions nicht wirklich interessant sind für mich. Eine wäre InfoPath und die andere SharePoint with Workflow. Leider haben beide nur einen 200 Level, deshalb lasse ich es sein. Ich werde immer noch die Slides anschauen können…

WPF sieht sehr interessant aus, und jeder, der sich schon mit MFC rumgeschlagen hat, weiss, dass es irgendwie einfacher gehen muss…WPF kann ich mittels XAML oder natürlich C# "steuern". Interessant ist der Ansatz der Programming Model Unification:




Die Presentation bringt sehr viele Demos, keine Slide Show. Dies begrüsse ich so oder so, will ich doch was sehen ;-)

WPF ist daraus ausgelegt, die Grafikpower, die heute ein PC besitzt, auch auszunutzen. Die ganze Engine ist Vector basiert.

• Uses the PC’s graphics power
• Quality is preserved with scale
• CPU freed from graphics work
• Gain capability from graphics card advances

Er zeigt nun ein paar Grafiken, welche mittels WPF erstellt wurden. Sieht wiederum sehr gut aus. Ich staunte auch, wo er eine Grafik von einem Elefant nimmt und diese einfach als XAML speichert. Ist zwar gross und unübersichtlich… aber es wird sicherlich solche gebe, die zukünftig ohne Grafischen Editor im Notepad mittels XAML irgendwas malen, ohne es zu sehen ;-)

Was kann man mit WPF alles machen ?

• Drawing
• Painting
• Controls
• Layout
• Document interface
• Text
• Animation
• 3D
• Data Binding
• Browser-only Apps



Und hier noch eine Architektur Übersicht:



Eine sehr sehr interessante Demo !! Ich kann hier gar nicht aufzählen, was uns alles gezeigt wurde. (Z.B. eine Applikation, welche via Web Service Flickr connectet und nach Bildern sucht, dessen Suchbegriff eingegeben wurde. Ok, nichts besonderes…aber die Art, wie dies dargestellt wurde, war einmalig. Das aktuelle Bild war in der Mitte Rund, alle anderen Bilder rundherum. Wenn ich mit der Maus über ein Bild fahre, dann wird dieses langsam grösser, Beim klick tauschen sich das Grosse Bild in der Mitte mit dem auf der Seite. Sieht einfach heiss aus, sehr schön animiert. Und den Code, den wir hier zu sehen bekommen, ist nicht so gross. Ich pers. Kann mir nicht vorstellen, ob solche Effekte jemand mit MFC hingekriegt hätte…)
Ein anderes Beispiel ist eine neue Art UI, welche sich der Speaker so vorstellen kann. Ein Fenster, mit ca 16 Farbigen Quadraten drauf. Wenn ich über ein Quadrat fahre, dann wird dieses Grösser, die anderen werden sehr klein. So kann ich in Applikationen Fenster wechseln, ohne Tabs oder speziellen Navigations Button etc.
Übrigens ist der berühmte Vista Effekt, welches die einzelen offenen Programme so hintereinander durchlaufen lassen, eine "relativ" einfache WPF Anwendung. Witzig ist hier, dass ich dazu genug Grafik Power brauche, DirectX 9… aber keinen WDDM Treiber, wie ihn VISTA (wenn ich diesen Effekt haben will) zwingend vorschreibt. Die Demo läuft auf XP, jedoch kann er den Effekt auch zeigen, direkt aus dem Studio compiliert.
Eine Demo zum Staunen !!

Übrigens eine Software die WPF schon nutzt, ist iBlocks :

2 Kommentare:

Eisfresser hat gesagt…

Sieht nett aus das iBloks. Wer es nicht gefunden hat: Der Link ist dort, zwischen den horizontalen Linien, schwarze Schrift auf schwarzem Grund *zwinker*.

Eisfresser hat gesagt…

Ha, jetzt ist das Bild sogar auf der Page. Ist wohl im Proxy Stack hier im Hause hängen geblieben bis zum ersten Refresh.