Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Wie und wann verwendet man WPF?

Ähnliche Präsentationen


Präsentation zum Thema: "Wie und wann verwendet man WPF?"—  Präsentation transkript:

1 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!

2 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

3 Was wir uns ansehen sollten ...
Binding Styles Templates ControlTemplates DataTemplates

4 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

5 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

6 Vorteile What you see is what you get. „Natürliches“ Frontend
XAML: ein Code für verschiedene Frontends Databinding Bisher undenkbare Gestaltungsmöglichkeiten

7 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

8 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

9 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

10 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“

11 Was ist Silverlight? Version 1.0 Version 2 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

12 Alles bisherige vergessen?
.NET Framework 3.0 Windows Communication Foundation Windows Workflow Foundation Windows Presentation Foundation Windows CardSpace .NET Framework 2.0 Windows Forms ASP.NET ADO.NET Base Class Libraries Common Language Runtime

13 Alles bisherige vergessen?
Nein. WPF = alternative Erweiterungsmöglichkeit zu WinForms Technische Voraussetzungen beim User Gewohnheiten des Users WPF als Control in einer WinForm

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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, ...)

22 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.

23 Styles Globales Verändern des Layouts von Steuerelementen
Zuweisen von „Values“ mit Hilfe von „Settern“

24 Templates <ControlTemplate x:Key="myButtonTemplate">
<Grid Background="Silver"> <ContentPresenter/> </Grid> </ControlTemplate> <DataTemplate> <TextBlock Text="{Binding}" Foreground="DarkGray"/> </DataTemplate>

25 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


Herunterladen ppt "Wie und wann verwendet man WPF?"

Ähnliche Präsentationen


Google-Anzeigen