Beruflich Dokumente
Kultur Dokumente
UI * 3
WinForms, WPF und Silverlight im
Vergleich
Windows Forms
WPF vs. WinForms – Transparenz
• Windows Forms
– Jedes Control zeichnet sich selbst
• WPF:
– Alles wird mit einer Rendering Engine
gezeichnet
WPF
Transformation
• Window Forms
– Transformation ist ein Feature des Controls
• WPF
– Alles kann transformiert werden
Silverlight
• UI-Framework für
Cross-OS/Cross-Browser Apps
– Multimedia-Anwendungen
– Business-Anwendungen
• Einsatzgebiete
– Internet, Intranet
– Browser, Desktop
19
Unterstützte Plattformen (SL3)
OS / Browser Internet Internet Internet Firefox Safari
Explorer 8 Explorer 7 Explorer 6 2&3 3&4
Windows 7
Windows Vista
Windows Server
2003 (excl. IA-64)
Windows Server
2008
Mac OS 10.4.8+
(PowerPC)
Mac OS 10.4.8+
(Intel-based)
20
Funktionsweise
Browser
HTML-/ASP.NET-Page
XAP-Archiv
.NET Code
XAML
Silverlight Browser Plug-In
21
What‘s in the box?
• Silverlight Core Services
– Rendering Engine, Media Player
• Common Language Runtime
– .NET CLR + Dynamic Language Runtime
• Base Class Library
– Subset von .NET BCL, Silverlight Libs
• Silverlight Controls
22
.NET-Support
• C#, VB
• Silverlight BCL
– Subset der .NET BCL
– Kompatibel zur .NET BCL
• Dynamic Language Runtime
– JavaScript
– IronPython
– IronRuby
23
Datenzugriff
• Nur indirekt möglich
– Web Services
•Windows Communication Foundation
– REST
•ADO.NET Data Services
– RIA Services
•Framework für verteilte Anwendungen
•z.Zt. im Beta-Stadium
Abgrenzung zu WPF
• Eingeschränkte 2D & 3D Features
• Eingeschränktes Data Binding
– Keine Template Selectors, Data Triggers, …
• Eigenes Template-System
– Visual State Manager
– Ab .NET 4.0 auch in WPF
• Kein Dokumentmodell / Printing API
25
{ In-depth support and consulting for
software architects and developers }
• UIElement.CacheMode-Eigenschaft
<Canvas CacheMode="BitmapCache" />
Hardware Acceleration in SL
• Nur auf der Windows-Plattform
• DirectX 9.0c erforderlich
• Was wird beschleunigt?
– RenderTransform
– Rectangular Clipping
– Opacity
– Visibility
Remote Desktop/Citrix
• WPF/Silverlight
– Schlechte Performance
•Übertragung von Bitmaps
– Hoher Ressourcenverbrauch auf dem Server
•Software Rendering!
• Windows Forms
– Gute Performance
•Übertragung von GDI-Befehlen
– Geringer Ressourcenverbrauch auf Server
Windows Remoting über RDP
Server-Side Rendering Client-Side Rendering
• WPF • Windows Forms
• Silverlight • GDI
• Flash • Efficient Media
• DirectX – Codecs on Client
– kein DRM
• Media
Security
• Windows Forms / WPF
– Läuft unter Partial und Full Trust
– Abhängig vom Deployment-Verfahren
• XBAP
– Partial Trust (Internet-Zone)
– Full Trust ab .NET 4.0
• Silverlight
– Partial Trust
Security
• Auslesen des aktuellen Benutzers
• Zugriff auf externe Hardware
– Lokale Drucker, Kassensysteme, …
• Zugriff auf Netzwerkinfrastruktur
– Active Directory, Drucker, …
• Zugriff auf System-Komponenten
– Dateisystem, Registry, Windows Services, …
• Direkter Datenbankzugriff
Silverlight Desktop Applications
• Ab Silverlight 3
• Rechte Maustaste „Install on Desktop“
• Auch programmatisch möglich
• Auto-Update-fähig
• Kann in den Projekteigenschaften
aktiviert werden
{ In-depth support and consulting for
software architects and developers }
Demo
Kommunikation
• Silverlight
– SOAP: Eingeschränkte WCF-Funktionalität
– REST: ADO.NET Data Services, RIA Services
– Eingeschränkte Cross Server-Kommunikation
– Eingeschränkte Socket-Kommunikation
• WPF/Windows Forms
– SOAP: Volle WCF-Funktionalität
– REST: ADO.NET Data Services
– Direkter Datenbankzugriff
Offline-Fähigkeit
• WPF/Windows Forms
– SQL Server Compact Edition
– Sync Framework
• Silverlight
– Desktop Mode
– Astoria Offline
•Spezielle Version der ADO.NET Data Services
•z.Zt. noch in Entwicklung
Produktivität
• WPF/Silverlight
– z.Zt. relative schlechte Editoren
(in VS2010 wird einiges besser)
– Dedizierte Designer-Rolle im Projekt
• Windows Forms
– Gute Editoren
– Geringere Möglichkeiten
produktiveres Arbeiten
IDE-Features
Feature WPF Silverlight Windows Forms
Designer
Datenbindung
Ressourcen
Settings
Lokalisierung
Performance
Feature Matrix
Feature WPF Silverlight Windows Forms
3D
Security
Printing
Hardware Acceleration
Media-Support
Data Binding
Styling
Remote Desktop
Dokumente
Browser-fähig
OS-Support
Performance
Offline
Plattformen
Plattformen WPF Silverlight Windows Forms
Windows 2000
Windows XP/Vista/7
MAC OS (Intel)
joerg.neumann@thinktecture.com
www.HeadWriteLine.BlogSpot.com
61