wie und wann verwendet man wpf? gerhard jaros geschäftsführer eps software gmbh, Österreich seit...

25
Wie und wann verwendet man WPF? Gerhard Jaros • Geschäftsführer EPS Software GmbH, Österreich • Seit 3 Jahren Sprecher auf verschiedenen Konferenzen • VFPConversion Sprecher • 17 Jahre Software-Entwicklung in dBase, FoxPro und VFP • 4 Jahre Software-Entwicklung mit Visual Studio (C#) • Österreicher – schwierige Sprache, sorry!

Upload: ursel-reichstein

Post on 05-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Wie und wann verwendet man WPF?

Gerhard Jaros• Geschäftsführer EPS Software GmbH, Österreich • Seit 3 Jahren Sprecher auf verschiedenen Konferenzen• VFPConversion Sprecher• 17 Jahre Software-Entwicklung in dBase, FoxPro und VFP• 4 Jahre Software-Entwicklung mit Visual Studio (C#)• Österreicher – schwierige Sprache, sorry!

Page 2: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Worüber wir uns unterhalten sollten ...

• Was ist Windows Presentation Foundation?• Wozu Windows Presentation Foundation?• Wozu Silverlight?• Vorteile und Nachteile von WPF• Alles bisherige vergessen?• Technische Voraussetzungen für WPF und Silverlight• WinForms vs. WPF-Forms• Silverlight vs. ASP.NET vs. AJAX• Silverlight vs. XBAP

Page 3: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Was wir uns ansehen sollten ...

• Binding• Styles• Templates–ControlTemplates–DataTemplates

Page 4: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Was ist Windows Presentation Foundation/XAML?

• Neues Frontend-Entwicklertool von Microsoft nach 20 Jahren

• Derzeit 2. Version von WPF• XAML-Basierend• XAML ist „die Beschreibung“ von Elementen,

WPF setzt sie in ein UI um

Page 5: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Wozu Windows Presentation Foundation?

Wenn Entwickler nicht mit der Zeit gehen, müssen sie mit der Zeit gehen.

• Erwartungshaltung der User• Flexibilität in einer Zeit der ständigen Änderungen• Qualität der Forms• Performance• Vektoren• Animationen• Medien• Zeitgemäße Anforderungen

Page 6: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Vorteile

• What you see is what you get.• „Natürliches“ Frontend• XAML: ein Code für verschiedene

Frontends• Databinding• Bisher undenkbare

Gestaltungsmöglichkeiten

Page 7: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Vorteile II

• Keine Bildschirmauflösung im bisherigen Sinn (Margins) – vektorbasierende Oberfläche

• Animationen• 3-D-Applikationen und –Animationen• Viele Codebeispiele im Web (meist auf

Englisch)• Upgrade von bestehenden .NET-Applikationen

relativ einfach

Page 8: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Nachteile

• XAML: Relativ hohe Lernkurve durch die unzähligen Möglichkeiten mit dieser Sprache

• Anforderungen an den User-Rechner• Anforderungen an den Entwickler-Rechner

(Cider)• Fehlende Anfragen von den Kunden mangels

Information durch uns Entwickler

Page 9: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Wozu Silverlight?

• AJAX löst viele Probleme• AJAX führt zu neuen Anforderungen• Das bisherige Web UI ist eingeschränkt– Fähigkeiten des Browsers– JavaScript– Standard HTML-Tags

• Wir brauchen also ein neues Format und neue kompilierbare Sprachen

Page 10: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Geschichte der Web UIs

• Browsers und HTML• Dann JavaScript und CSS• 1997/1998: Dynamic HTML• Plug-Ins:– ActiveX (ca. 1998)– Flash– Silverlight = „ActiveX mit Security und Interop“

Page 11: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Was ist Silverlight?

• Version 1.0– Reaktion von MS auf Flash– JavaScript im Hintergrund, verwendet (sehr einfaches XAML)– PlugIn: 1,37 MB

• Version 2– CoreCLR und Security inkludiert– Unterstützt managed und dynamic languages (z.B. Iron

Python/Iron Ruby)– (Fast) Komplettes XAML– Browser-unabhängig– PlugIn: 1,44 MB– Silverlight 2 sitzt zwischen AJAX und Smart Clients

Page 12: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Alles bisherige vergessen?

Common Language Runtime

Windows Presentation Foundation

Windows Workflow

FoundationWindows

CardSpace

Base Class Libraries

.NET Framework 2.0

.NET Framework 3.0

ADO.NETASP.NETWindows Forms

Windows Communication

Foundation

Page 13: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Alles bisherige vergessen?

• Nein.• WPF = alternative Erweiterungsmöglichkeit zu

WinForms• Technische Voraussetzungen beim User• Gewohnheiten des Users• WPF als Control in einer WinForm

Page 14: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Technische Voraussetzungen für WPF und Silverlight

• Windows 2008 (32 bit und 64 bit)• Windows Vista (32 bit und 64 bit) • Windows XP • Windows 2003 • Windows 2000

Page 15: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Technische Voraussetzungen für WPF und Silverlight für Entwickler 2

• Visual Studio 2005: Final, released versions von Visual Studio Standard Edition, Visual Studio Professional Edition, Visual Studio Team System Editions, oder

• Visual Studio 2008 (Team, Professional, Standard und Express)

• .NET Framework 3.5

Page 16: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

WinForms vs. WPF-Forms

• Stand der Technik beim Anwender• Gewohnheiten der Anwender• Lebenszyklus der Applikation• Geschwindigkeit bei der Entwicklung von UI‘s• Animationen• 3D-Anwendungen

Page 17: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Silverlight vs. AJAX

• Compiled Code vs. Interpretiertes JavaScript– Performance!

• XAML vs. HTML• .NET FX subsets vs. JavaScript class libraries• Silverlight ist ein PlugIn– Sehr einfache Installation

Page 18: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Silverlight vs. Smart Clients

• Silverlight-Solutions sind Web-Solutions• Web Solutions– Einfaches Deployment – nur ein Server muss

aktualisiert werden– Clients mit verschiedensten Plattformen können die

Applikation verwenden• Desktop Solutions– ClickOnce als einfaches Deployment (unter Windows)– Enge Bindung an Windows und .NET

Page 19: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Silverlight vs. XBAP

• XBAP = Extended Browser Applications• Ein XBAP-File verwendet intern ClickOnce, um

deployed zu werden• XBAP unterstützt alle WPF-Funktionen

(inklusive 3D)• XBAP benötigt das .NET Framework 3.5– Installation weitaus größer als das Silverlight

Plug-In

Page 20: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Silverlight vs. Flash

• Silverlight seit 2007, Flash seit 1997• Flash entwickelte sich vom Illustrations- und

Animationstool zu einer ernsthaften Programmiersprache

• Silverlight ist das „grafisch orientierte Add-On“ zu einer etablierten Entwickler-Umgebung

• Direkter Vergleich schwer möglich– Flash verwendet eine Bibliothek, in der Elemente liegen– Silverlight nutzt XAML, um diese Elemente einzubinden

Page 21: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Silverlight vs. Flash 2

• XAML: Einfache Lesbarkeit durch Mensch und Maschine– Kann von JavaScript genauso wie von C# gelesen werden– XAML ist eine deklarative (=beschreibende) Markup-Sprache

• XAML ist von Suchmaschinen leichter auffindbar als Flash (semantische Zusammenhänge)

• Flash-Programmierer tun sich mit Silverlight schwer– Und davon gibt es mehr, als Silverlight-Programmierer– Kenntnisse in Visual Studio erforderlich

• Flash unterstützt mehr Video-Formate (FLV, MPEG4, QuickTime, ...)

Page 22: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Binding

• System.Windows.Data.Binding• An alle UIElements können Daten gebunden

werden– Grids, Panels, Textboxes, Listboxes, ....

• {Binding} sucht das nächste Binding in der darüberliegenden Hierarchie– Zuerst beim eigenen Element, dann darüber usw.

Page 23: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Styles

• Globales Verändern des Layouts von Steuerelementen

• Zuweisen von „Values“ mit Hilfe von „Settern“

Page 24: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Templates

<ControlTemplate x:Key="myButtonTemplate"> <Grid Background="Silver"> <ContentPresenter/> </Grid></ControlTemplate>

<DataTemplate> <TextBlock Text="{Binding}" Foreground="DarkGray"/> </DataTemplate>

Page 25: Wie und wann verwendet man WPF? Gerhard Jaros Geschäftsführer EPS Software GmbH, Österreich Seit 3 Jahren Sprecher auf verschiedenen Konferenzen VFPConversion

Styles vs. Templates

• Mit Templates werden die Basiselemente und deren Properties für ein Element festgelegt.

• Mit Styles werden die Werte der Properties definiert.

Vergleich: Auto

• Styles: – Außenfarbe– Innenfarbe

• Templates: – speziell angefertigter Schalensitz– Sonderlackierung