technology shoot-out
TRANSCRIPT
![Page 1: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/1.jpg)
28. und 29. Oktober 2009 in München www.prioconference.de
Technology Shoot-Out
WPF vs. Silverlight vs. Windows Forms
Jörg Neumann
Acando | thinktecture
![Page 2: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/2.jpg)
Jörg Neumann
• Principal Consultant bei Acando
• Associate bei Thinktecture
• MVP im Bereich „Client App Dev“
• Beratung, Schulung, Coaching
• Buchautor, Speaker
• Mail– [email protected]
• Blog– www.HeadWriteLine.BlogSpot.com
![Page 3: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/3.jpg)
Agenda
• Vorstellung der Frameworks
– WPF / XBAP
– Windows Forms
– Silverlight
• Faktoren bei der Technologieauswahl
• Empfehlungen
![Page 4: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/4.jpg)
WPF
• Basiert auf DirectX
– Unterstützung der Grafik-Hardware
– Flexible Skallierung
– Bessere Qualität
– Geringerer Ressourcenverbrauch (RAM/CPU)
![Page 5: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/5.jpg)
Weitere Merkmale
• Vereinigt die verschiedene UI-Subsysteme
– Windows Forms/MFC/Win32
– DirectX, Media Player SDK, Speech SDK
• Integriert UI, Dokumente und Media
• Läuft auf dem Desktop und im Browser
• Deklarative Erstellung von Oberflächen
– Trennung von Design und Code
![Page 6: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/6.jpg)
Features
• Flexible Komponentenarchitektur
– Alles kann kombiniert und angepasst werden
• Layout Services
– Automatisches Layout aller Elemente möglich
• Trigger
– Automatische Veränderung von Content
• Animation
– Alle Elemente können animiert werden
![Page 7: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/7.jpg)
Features
• Data Binding
– Universelle Bindung an Datenquellen
• Ressource Binding
– Dynamische & statische Bindung an
Ressourcen
• Template Binding
– Content kann mit Vorlagen verknüpft werden
![Page 8: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/8.jpg)
Dokumente
• Einheitliches Dokumentenmodell
– Festes, fließendes und adaptives Layout
• Bildschirminhalte können verlustfrei
gedruckt werden
• Stufenloses vergrößern und verkleinern
• Eigenes Dokumentenformat (XPS)
– Rights Management
![Page 9: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/9.jpg)
In-depth support and consulting for
software architects and developers{ }
Demo
![Page 10: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/10.jpg)
In-depth support and consulting for
software architects and developers{ }
XAML
Browser Applications
(XBAP)
![Page 11: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/11.jpg)
XAML Browser Applications
• Ähnliches Konzept wie ClickOnce
• App wird im Browser gehosted
• Browser-füllend oder in IFrame
![Page 12: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/12.jpg)
Das Deployment-Verfahren
Deployment Manifest
(.xbap)
Application Manifest
(.manifest)
Application Binaries
(.deploy)
![Page 13: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/13.jpg)
Architektur
Browser
Presentation Host
WPF Content
WPF
Runtime
![Page 14: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/14.jpg)
Navigationsanwendungen
• Navigation wie im Browser
• Desktop- oder Browser-App (XBAP)
• Page statt Window
• Navigationsleiste
– Historie wird autom.
aktualisiert
• Hyperlinks
– Zur Navigation
![Page 15: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/15.jpg)
Security
• Ähnliches Konzept wie bei ClickOnce
– Allerdings keine Benutzer-Prompts
– ...und damit auch keine Elevation
• Anwendungen läuft entweder in
– Partial Trust (Internet Zone)
– Full Trust
•Mit Client-Zertifikaten
![Page 16: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/16.jpg)
Vor- und Nachteile
• Vorteile
– Leichte Integration in Intranet-Sites
•SharePoint, MS CRM, ASP.NET, …
• Nachteile
– Setzt installiertes .NET-Framework voraus
– Läuft nur auf Windows-Rechnern (ab XP)
– Sehr restriktives Security-Modell
![Page 17: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/17.jpg)
In-depth support and consulting for
software architects and developers{ }
Demo
![Page 18: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/18.jpg)
Windows Forms
• Pixel-basiertes UI-Framework
• Basiert auf der Win32-API / GDI
– Messages/Handles
– Geringe Hardware-Unterstützung
• Hohe Verbreitung
• Großer 3rd Party-Markt
• Gute Performance
• Einfache und produktive Entwicklung
![Page 19: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/19.jpg)
Nachteile von Windows Forms
• Fehlende Features
– Multimedia
– Animation
– 3D
– Dokumentenmodell
– Adaption auf andere Plattformen
– Keine klare Trennung von Code und Design
![Page 20: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/20.jpg)
Nachteile von Windows Forms
• Skalierung
• Transparenz
• Transformation
![Page 21: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/21.jpg)
WPF vs. WinForms - Skalierung
• Windows Forms
– Alles wird Pixel-basiert gezeichnet
• WPF
– Alles wird Vector-basiert gezeichnet
Windows Forms
WPF
![Page 22: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/22.jpg)
WPF vs. WinForms – Transparenz
• Windows Forms
– Jedes Control zeichnet sich selbst
• WPF:
– Alles wird mit einer Rendering Engine
gezeichnet
WPF
![Page 23: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/23.jpg)
Transformation
• Window Forms
– Transformation ist ein Feature des Controls
• WPF
– Alles kann transformiert werden
![Page 24: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/24.jpg)
Silverlight
• UI-Framework für
Cross-OS/Cross-Browser Apps
– Multimedia-Anwendungen
– Business-Anwendungen
• Einsatzgebiete
– Internet, Intranet
– Browser, Desktop
27
![Page 25: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/25.jpg)
Unterstützte Plattformen
• Windows 7 / Vista / XP, SP2
• MAC OS X (ab 10.4.8) [Intel only]
• Linux (Moonlight)*
• Mobile-Version in Arbeit
28
* Moonlight: http://www.mono-project.com/Moonlight
![Page 26: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/26.jpg)
Unterstützte Plattformen (SL3)
29
OS / Browser Internet
Explorer 8
Internet
Explorer 7
Internet
Explorer 6
Firefox
2 & 3
Safari
3 & 4
Windows 7
Windows Vista
Windows XP, SP3
Windows 2000, SP4
Windows Server
2003 (excl. IA-64)
Windows Server
2008
Mac OS 10.4.8+
(PowerPC)
Mac OS 10.4.8+
(Intel-based)
![Page 27: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/27.jpg)
Funktionsweise
30
Browser
Silverlight Browser Plug-In
XAP-Archiv
.NET Code
XAML
Resources
HTML Page
Silverlight Object
![Page 28: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/28.jpg)
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
31
![Page 29: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/29.jpg)
.NET-Support
• C#, VB
• Silverlight BCL
– Subset der .NET BCL
– Kompatibel zu .NET BCL
• Dynamic Language Runtime
– JavaScript
– IronPython
– IronRuby
32
![Page 30: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/30.jpg)
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
![Page 31: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/31.jpg)
Abgrenzung zu WPF
• Eingeschränkte 2D & 3D Features
• Eingeschränktes Data Binding
– Keine Template Selectors, Data Trigger, …
• Eingeschränktes Templating
– Keine Control Templates,
• Kein Dokumentmodell / Printing API
34
![Page 32: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/32.jpg)
In-depth support and consulting for
software architects and developers{ }
Vergleich der Frameworks
![Page 33: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/33.jpg)
Vergleichsfaktoren
• Hardware Acceleration
• Security
• Unterstützte Plattformen
• Produktivität
• Zukunftsfähigkeit
• Deployment
![Page 34: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/34.jpg)
Hardware Acceleration
• WPF
– GPU, RAM der Grafikkarte
• Windows Forms
– GPU (einfache 2D-Acceleration)
– RAM (über Desktop Window Manager)
• Silverlight
– Eingeschränkt: GPU, RAM der Grafikkarte
![Page 35: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/35.jpg)
PresentationCore MilCore Grafikkarte
.net Native DirectX
Die Architektur von WPF
Visual Tree Composition Tree
Media Integration Layer WPF Hardware
![Page 36: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/36.jpg)
Hardware-Faktoren in WPF
• Video RAM
– Entscheidet über die Größe und Anzahl der internen Buffers
• Pixel Shader
– Effekte auf Pixel-Ebene
• Vertex Shader
– Effekte auf Vertex-Ebene
• Multitexture Support
– Zwei oder mehr Texturen bei Blending-Operationen; Anzahl Units entscheidend
![Page 37: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/37.jpg)
Rendering Tiers
• Tier 0– DirectX < 7
– Keine Hardware-Unterstützung
– Software Rendering
• Tier 1– DirectX 7 / <9
– Layered windows, Radial Gradients
• Tier 2– DirectX 9
– Opacity, Bitmap Effects
![Page 38: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/38.jpg)
Hardware-Anforderungen
Tier 0 Tier 1 Tier 2
DX < 7 >= DX 7 & < DX 9 >= DX 9
Video RAM >= 30 MB Video RAM >= 108
Pixel Shader >= 1.0 Pixel Shader >= 2.0
Vertex Shader >= 1.0 Vertex Shader >= 2.0
Multitexture units >= 2 Multitexture units >= 4
![Page 39: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/39.jpg)
Grafikkarten Tier 1
Hersteller Modell
ATIRadeon 256, 7000, 7500, 8500, 9000, 9100, 9200
und 9250
Intel
Intel Extreme Graphics 845G, 845GE, 845GL und
845GV
Intel Extreme Graphics II 852GME, 855GM, 855GME,
865G und 865GV
NVidia
GeForce 256
GeForce2 GTS, MX, MX100, MX200, MX400, Pro, Ti
und Ultra
GeForce3 Ti200 und Ti500
GeForce4 MX420, MX440, MX460, MX4000, Ti4200,
Ti4400, Ti4600 und Ti4800
![Page 40: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/40.jpg)
Tier 1: Software Rendering
• BitmapEffects
• Printed content
• RenderTargetBitmap
• TileBrush
• Überschreitung der
max. Texture Size
(2048x2048 bzw.
4096x4096 Pixel)
• Überschreitung der
max Video-RAM-Größe
• Radial Gradients
• 3D Lighting
• Text Rendering
(optimierte
Textdarstellung)
• 3D Anti-Aliasing
![Page 41: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/41.jpg)
Grafikkarten Tier 2
Hersteller Modell
ATI Radeon 9550, 9600, 9800 und X-series
IntelIntel GMA900-Modelle: 915G
Intel GMA950-Modelle: 945G
NVidia Geforce FX-series, 6xxx-series und 7xxx-series
![Page 42: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/42.jpg)
Tier 2: Software Rendering
• BitmapEffects
• Printed Content
• RenderTargetBitmap
• TileBrush
• Überschreitung der
max. Texture Size
(2048x2048 bzw.
4096x4096 Pixel)
• Überschreitung der
max Video-RAM-Größe
• Radial Gradients
![Page 43: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/43.jpg)
Rendering Tier ermitteln
• System.Windows.Media.RenderCapability
– Tier-Eigenschaft
– High Word muss extrahiert werden
int tier = (System.Windows.Media.RenderCapability.Tier >> 16);
Rückgabe Rendering Tier Beschreibung
0x00000000 0 Keine Hardware-Beschleunigung.
0x00010000 1 Partielle Hardware-Beschleunigung.
0x00020000 2 Sehr hohe Hardware-Beschleunigung.
![Page 44: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/44.jpg)
Software Rendering
• Kann testweise erzwungen werden
• Registry-Key anlegen
– Avalon.Graphics
– DWord: DisableHWAcceleration
•0 = Hardware Acceleration
•1 = Software Rendering
[HKEY_CURRENT_USER\Software\Microsoft\Avalon.Graphics]"DisableHWAcceleration"=dword:00000001
![Page 45: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/45.jpg)
Hardware Acceleration in SL
• Ab Silverlight 3
• Plug-In-Settings
– EnableGPUAcceleration
– EnableCacheVisualization
• UIElement.CacheMode-Eigenschaft
<param name="EnableGPUAcceleration" value="true" /><param name="EnableCacheVisualization" value="true" />
<Canvas CacheMode="BitmapCache" />
![Page 46: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/46.jpg)
Hardware Acceleration in SL
• Nur auf der Windows-Plattform
• DirectX 9.0c erforderlich
• Was wird beschleunigt?
– RenderTransform
– Rectangular Clipping
– Opacity
– Visibility
![Page 47: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/47.jpg)
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
![Page 48: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/48.jpg)
Windows Remoting über RDP
Server-Side Rendering
• WPF
• Silverlight
• Flash
• DirectX
• Media
Client-Side Rendering
• Windows Forms
• GDI
• Efficient Media
– Codecs on Client
– kein DRM
![Page 49: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/49.jpg)
Security
• Windows Forms / WPF
– Läuft unter Partial und Full Trust
– Abhängig vom Deployment-Verfahren
• XBAP
– Partial Trust (Internet-Zone)
• Silverlight
– Partial Trust
![Page 50: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/50.jpg)
Security
• Auslesen des aktuellen Benutzers
• Zugriff auf externe Hardware
– Lokale Drucker, Kassensysteme, …
• Zugriff auf Netzwerkinfrastruktur
– Datenbanken, Active Directory, Drucker
![Page 51: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/51.jpg)
Zugriff auf System-Ressourcen
• Dateisystem
• Registry
• Windows Services
• MSMQ
• Direkter Datenbankzugriff
• Windows Shell
![Page 52: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/52.jpg)
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
![Page 53: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/53.jpg)
In-depth support and consulting for
software architects and developers{ }
Demo
![Page 54: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/54.jpg)
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, RIA Services
– Direkter Datenbankzugriff
![Page 55: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/55.jpg)
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
![Page 56: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/56.jpg)
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
![Page 57: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/57.jpg)
IDE-Features
Feature WPF Silverlight Windows Forms
Designer
Datenbindung
Ressourcen
Settings
Lokalisierung
Performance
![Page 58: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/58.jpg)
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
![Page 59: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/59.jpg)
Plattformen
Plattformen WPF Silverlight Windows Forms
Windows 2000
Windows XP/Vista/7
MAC OS (Intel)
Browser WPF Silverlight Windows Forms
IE 6/7/8
Firefox
Safari
![Page 60: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/60.jpg)
Zukunftssicherheit
• Windows Forms
– Wird weiterhin supported
– Keine neuen Innovationen
• WPF
– Zukunftstechnologie für den Desktop
– Innovationen momentan weniger
• Silverlight
– Das UI-Framework für die Cloud
– Zur Zeit die meisten Innovationen
![Page 61: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/61.jpg)
Shared Source Development
• Anwendung soll auf nahezu gleichen
Sourcen in untersch. Umgebungen laufen
– Desktop: WPF
– Web: Silverlight
• Kleinster gemeinsamer Nenner
– XAML
– REST/SOAP
– Core BCL
![Page 62: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/62.jpg)
Empfehlungen
• Desktop
– WPF / Windows Forms
• Intranet
– Silverlight / XBAP
• Internet
– Silverlight / ASP.NET
![Page 63: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/63.jpg)
Empfehlungen: Desktop
• Windows Forms
– Business Anwendung / Office-Integration
– Nutzung: In-House / Abteilungsebene
– Geringe WPF-Skills vorhanden
– Kleines Budget / Zeit
• WPF
– Große Anwendung
– Nutzung: Endanwender oder Enterprise Level
– Größeres Budget / Zeit
– Multimedia-lastig / Dokumenten-lastig
![Page 64: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/64.jpg)
Empfehlung: Intranet
• XBAP
– Read-Only-Inhalte
– App benötigt keine größeren Berechtigungen
– Wenn 3D oder Dokumente eine Rolle spielen
• Silverlight
– Business Anwendungen
– Im Zusammenspiel mit ASP.NET
![Page 65: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/65.jpg)
Hybrid Applications
• Windows Forms in WPF hosten
– WindowsFormsHost Control
• WPF in Windows Forms hosten
– ElementHost Control
• WPF in ASP.NET hosten
– XBAP
• Silverlight in ASP.NET hosten
![Page 66: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/66.jpg)
Fragestellungen
• Welchen Scope hat die Anwendung?
– Department Level
– Enterprise Level
• Für welche Umgebungen wird entwickelt?
– Desktop, Intranet, Internet
– Office- oder SharePoint-Integration?
• Welche Features werden benötigt?
– Dokumente, 3D, …
![Page 67: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/67.jpg)
Zusammenfassung
• Die Auswahl einer UI-Technologie hängt
von vielen Faktoren ab
• Lassen Sie sich nicht von Features
blenden!
• Analysieren Sie nüchtern nach konkreten
Anforderungen
• Beachten Sie softe Faktoren
– Skills, Produktivität , Budget
![Page 68: Technology Shoot-Out](https://reader030.vdocuments.mx/reader030/viewer/2022020110/5571f37d49795947648e1ede/html5/thumbnails/68.jpg)
72
http://www.thinktecture.com/
In-depth support and consulting for
software architects and developers{ }