SlideShare une entreprise Scribd logo
1  sur  117
Télécharger pour lire hors ligne
XAML UI
DEVELOPMENT BEST
PRACTICES 2.0
THOEMMES@DAVIDCHRISTIAN.DE
SENIOR SOFTWARE & UX ENGINEER
DAVID C. THÖMMES
UI DEVELOPMENT & CONSULTING
IT-BERATUNG UND SOFTWAREENTWICKLUNG
WPF UI DEVELOPMENT BEST PRACTICES 2.0
Reminder
UX = User Experience
• Beschreibt die Summe aller Erfahrungen die ein Benutzer mit
einem Produkt erlebt
• Werbung, Website, Verpackung, Bedienung …
Usability (Gebrauchstauglichkeit während der Nutzung)
• Effektivität zur Lösung einer Aufgabe
• Effizienz der Handhabung des Systems
• Zufriedenheit der Nutzer einer Software
2
DCT’S UI DEVELOPMENT STAGES!
3
WPF = bessere
& schönere
UI‘s ?
WPF UI DEVELOPMENT BEST PRACTICES
Stage 1
• Alte UI Technologie (WinForms, MFC, WinCC … schlimmer …)
• UX Design und Usability finden keinen Beachtung / Nicht Bekannt
• Negative UX, Schlechte Usability, Kein ästhetischer Anspruch
• „Es läuft und wir haben für jede Funktion einen Button!“
5
WPF UI DEVELOPMENT BEST PRACTICES 2.0
Stage 2
• Neuere UI Technologie wie WPF oder HTML5
• Kein UX Designer oder UX Engineer involviert (Vielleicht
höchstens ein Mediengestalter)
• Entwickler entdecken Farben, neue Controls etc.
• Negative bis neutrale UX
• Schlechte bis leicht verbesserte Usability (Durch Controls)
• Kein ästhetischer Anspruch
• „Wir haben nun DataGrids mit Filtern und ein Ribbon von
Microsoft!“
6
WPF UI DEVELOPMENT BEST PRACTICES 2.0
Stage 3
• Semi bis professionelles UX Design vorhanden
• Nötige Kompetenz in der Rolle des UI Developer fehlt
• Positivere UX und verbesserte Usability auf dem Papier,
Ästhetik gewinnt an Bedeutung
• „Das Konzept ist geil aber zu aufwändig und zu teuer in der
Entwicklung!“
8
9
WPF UI DEVELOPMENT BEST PRACTICES 2.0
Stage 4
• Semi bis professionelles UX Design vorhanden
• Kompetenzen im Bereich UI Development vorhanden
• Positive UX
• Gute bis sehr gute Usability
• Ästhetik und gutes visuelles Design
• „Bedient sich echt geil! Die Benutzer lieben es!“
10
Bäm!
Aufgeräumt und klar
WPF ist das
Toolkit!
User-centered Design der Weg…
http://commons.wikimedia.org/wiki/File:Basic_guitar_toolkit_by_TT_Zop.jpg
WPF UI DEVELOPMENT BEST PRACTICES 2.0
Iterativer Prozess mit Rücksprüngen
13
RESOURCE MANAGEMENT: REVISITED
14
WPF UI DEVELOPMENT BEST PRACTICES
Strategie
• Zentrales „Styling Projekt“ für alle relevanten WPF Ressourcen
• Beinhaltet wohldefinierte Struktur aus Resource Dictionaries
• Pflege, Wartbarkeit und Zusammenarbeit vereinfachen
• Vermeidung unnötiger Inkonsistenzen und Redundanzen
15
Styling Projekt
16
WPF UI DEVELOPMENT BEST PRACTICES
Styling Projekt
17
WPF UI DEVELOPMENT BEST PRACTICES
Feingranulare Struktur
Colors & Brushes
18
WPF UI DEVELOPMENT BEST PRACTICES
Auslagern von Colors und
Brushes
Farbpalette des
UI Designs als
Color Objekte
anlegen
Aus Colors
Brushes
erstellen
Settings & Typo
21
WPF UI DEVELOPMENT BEST PRACTICES
Konstanten, Pfade,
Schriftgrößen,
Fonts ...
Settings & Typo
22
WPF UI DEVELOPMENT BEST PRACTICES
Definition der Schrift-Layer (Größen)
Styles
23
WPF UI DEVELOPMENT BEST PRACTICES
Pro Control-Typ eigenes
Resource Dictionary
Fokus auf Style
Setter und
Control
Template
Look and Feel Resource Dictionary
25
WPF UI DEVELOPMENT BEST PRACTICES
Ein Resource Dictionary das alle
Ressourcen beinhaltet
Kann später in App.xaml
eingebunden werden
Reihenfolge
beachten!
Look and Feel Resource Dictionary
27
WPF UI DEVELOPMENT BEST PRACTICES
Einfaches einbinden...
Vorsicht Performance!
28
WPF UI DEVELOPMENT BEST PRACTICES
Führt zu Mehrfachanlegung
SHARED RESOURCE DICTIONARY IST OK …
29
ALTERNATIVE RESMERGER!
30
WPF UI DEVELOPMENT BEST PRACTICES 2.0
ResMerger
• Tool zum Mergen von verschiedenen Resource Dictionaries zu
einem großen Resource Dictionary
• App bindet nur noch ein Resource Dictionary ein
• Merge wird in Build Prozess integriert
• Verhindert exponentieller Anstieg des Arbeitsspeicher
• Verhindert Auflösung von verlinkten Resource Dictionaries
• Ladezeiten
• Kann View-Wechsel / Startup Times dramatisch
beschleunigen!
31
Einbindung
CLI Tool im Pre Build
FullLookAndFeel
Beinhaltet alle Ressourcen in einer
Datei!
FullLookAndFeel
Beinhaltet alle Ressourcen in einer
Datei!
WPF UI DEVELOPMENT BEST PRACTICES 2.0
Experiment
• Projekt mit mittlerem Styling Projekt
• ca. 10.000 XAML Zeilen
• 12 Demo Views in Showcase (Hülle)
• Keine reale Datenanbindung
35
WPF UI DEVELOPMENT BEST PRACTICES 2.0
ResMeger - Performance
36
Startup Time MS Startup RAM MB
WPF UI DEVELOPMENT BEST PRACTICES 2.0
ResMeger - Performance
36
Startup Time MS Startup RAM MB
Ohne ResMerger ~3600 - 4500 ~115
WPF UI DEVELOPMENT BEST PRACTICES 2.0
ResMeger - Performance
36
Startup Time MS Startup RAM MB
Ohne ResMerger ~3600 - 4500 ~115
Res Merger ~500 - 600 ~30
WPF UI DEVELOPMENT BEST PRACTICES 2.0
ResMeger - Performance
36
Startup Time MS Startup RAM MB
Ohne ResMerger ~3600 - 4500 ~115
Res Merger ~500 - 600 ~30
WPF UI DEVELOPMENT BEST PRACTICES 2.0
ResMeger - Performance
Steigerung Performance
• Startup Time ca. 85%
• RAM ca. 75%
• Mehr Performance-Indikatoren möglich… ;-)
36
GitHub
https://github.com/dctdct/WPF-ResMerger
ICONS
38
ICON FONTS
39
WPF UI DEVELOPMENT BEST PRACTICES 2.0
Icon Fonts
• Schriftart nur mit Icons / Glyphs (Einfarbig)
• Einfaches Skalieren der Größe (Vektor)
• Farbe kann ohne Probleme angepasst werden (Trigger)
• Kombination der Icons kinderleicht (Multiple TextBlöcke)
• Extrem einfache Verwendung im Vergleich zu PNGs etc.
• Device unabhängig
• Pflegeleicht!
40
Segoe UI Symbol
Standard Icon Font von Windows
Character Map
Anzeige der Char Codes
Character Map
Kopieren der Codes
WPF
Code auf TextBlock anwenden
Cool!
Einfach! :-)
ICON FONTS SYSTEMATISCH VERWENDEN
46
WPF UI DEVELOPMENT BEST PRACTICES 2.0
Icon Fonts systematisch verwenden
Idee
• Ein Glyph per Datentyp mit weiteren Informationen kapseln
(FontIcon)
• Schriftfamilie
• Char Code
• …
• Darstellung über implizite DataTemplate
• Verwendung über beliebigen ContentPresenter
47
Icon Font
einbinden
Die .ttf Datei ins Projekt ablegen
Build Action Resource
Icon Font als Resource
Innerhalb eines RD als Resource anlegen
Mit # Name angeben (Systemsteuerung)
FontIcon
Datentyp
Kapselt Daten eines Glyph…
FontIcons anlegen
Name, Family und Char Code!
Ergosign
IconFont
Implizite DataTemplate
Ohne x:Key und TextBlock mit diversen Bindings
Verwenden
Easy!!!!
Free Custom
Icon Fonts
Fontello, Font Awesome, … !
PNG UND XAML ICONS?
57
WPF UI DEVELOPMENT BEST PRACTICES 2.0
PNG und XAML Icons
• Auslagern als Resource in Resource Dictionary
• Darstellung über implizite DataTemplate
• PNG
• Image Control mit ImageSource
• XAML Icon
• Rectangle oder Path mit DrawingBrush /
StreamGeometry
• Verwendung über beliebigen ContentPresenter
58
PNG
Als ImageSource
DataTemplate
Mit Image Control
XAML Icons
DrawingBrush und Geometry
DataTemplate
Path oder Rectangle
ATTACHED PROPERTIES
63
WPF UI DEVELOPMENT BEST PRACTICES 2.0
Einführung
• Gleich wie Dependency Properties
• Metadaten und Speicherperformance,
Änderungsbenachrichtigungen, Grundlage für Trigger, Data
Binding, Animationen etc.
• Definition nicht für eine bestimmtes Control sondern global in
einer zentralen Klasse für alle Controls
• Möglichkeit auf einem beliebigen Control zusetzen
• Häufig verwendet bei Layout Panels (Standard WPF)
• Grid.Row, Grid.Column, ...
64
Beispiel DIY
RegisterAttached call + statischer
Getter und Setter
Beispiel DIY
Verwendung in Button Style
Beispiel DIY
Setzen der Attached Property auf der View
Auch in
DataTemplates
Binding mit RelativeSource…
Verschachtelung
Ohne Problem möglich!
Footer Beispiel
Attached für Footer DataTemplate
In ControlTemplate ContentPresenter
WPF UI DEVELOPMENT BEST PRACTICES 2.0
Verwendungszwecke
• Gut für simple Eigenschaft auch gerne für Styling
• CornerRadius, Icon, HighlightBrush, …
• ToggleButtonStyle, ScrollBarStyle, …
• Placeholder, IsOpen, …
• Footer, FooterDataTemplate, GroupHeader, …
• oder zur Realisierung überschaubarer Zusatzfunktionalität
(Simple Commands)
71
Mehr Beispiele
UI Development Unchained
Vortrag ;-)
Attached Properties vs. Custom Controls
73
KAPITELTITEL
ATTACHED PROPERTIES CUSTOM CONTROL ABLEITUNG
Attached Properties vs. Custom Controls
73
KAPITELTITEL
ATTACHED PROPERTIES CUSTOM CONTROL ABLEITUNG
FLEXIBILITÄT
Sehr hoch durch anheften
(Immer möglich)
Hoch, wenn Ableitung möglich
Attached Properties vs. Custom Controls
73
KAPITELTITEL
ATTACHED PROPERTIES CUSTOM CONTROL ABLEITUNG
FLEXIBILITÄT
Sehr hoch durch anheften
(Immer möglich)
Hoch, wenn Ableitung möglich
FUNKTIONALITÄT Beschränkter (Statisch) Frei in Ableitung
Attached Properties vs. Custom Controls
73
KAPITELTITEL
ATTACHED PROPERTIES CUSTOM CONTROL ABLEITUNG
FLEXIBILITÄT
Sehr hoch durch anheften
(Immer möglich)
Hoch, wenn Ableitung möglich
FUNKTIONALITÄT Beschränkter (Statisch) Frei in Ableitung
REDUNDANZ Keine Höher (Icon für Button + CheckBox)
Attached Properties vs. Custom Controls
73
KAPITELTITEL
ATTACHED PROPERTIES CUSTOM CONTROL ABLEITUNG
FLEXIBILITÄT
Sehr hoch durch anheften
(Immer möglich)
Hoch, wenn Ableitung möglich
FUNKTIONALITÄT Beschränkter (Statisch) Frei in Ableitung
REDUNDANZ Keine Höher (Icon für Button + CheckBox)
AUFWAND / PFLEGE Geringer (Zentrale Klasse) Aufwändiger (Viele Klassen)
Attached Properties vs. Custom Controls
73
KAPITELTITEL
ATTACHED PROPERTIES CUSTOM CONTROL ABLEITUNG
FLEXIBILITÄT
Sehr hoch durch anheften
(Immer möglich)
Hoch, wenn Ableitung möglich
FUNKTIONALITÄT Beschränkter (Statisch) Frei in Ableitung
REDUNDANZ Keine Höher (Icon für Button + CheckBox)
AUFWAND / PFLEGE Geringer (Zentrale Klasse) Aufwändiger (Viele Klassen)
ERWEITERBARKEIT Gut Gut
Attached Properties vs. Custom Controls
73
KAPITELTITEL
ATTACHED PROPERTIES CUSTOM CONTROL ABLEITUNG
FLEXIBILITÄT
Sehr hoch durch anheften
(Immer möglich)
Hoch, wenn Ableitung möglich
FUNKTIONALITÄT Beschränkter (Statisch) Frei in Ableitung
REDUNDANZ Keine Höher (Icon für Button + CheckBox)
AUFWAND / PFLEGE Geringer (Zentrale Klasse) Aufwändiger (Viele Klassen)
ERWEITERBARKEIT Gut Gut
VERSTÄNDNIS / WISSEN
Unter Umständen schwieriger
(Extreme Konstrukte)
Einfacherer
Attached Properties vs. Custom Controls
73
KAPITELTITEL
ATTACHED PROPERTIES CUSTOM CONTROL ABLEITUNG
FLEXIBILITÄT
Sehr hoch durch anheften
(Immer möglich)
Hoch, wenn Ableitung möglich
FUNKTIONALITÄT Beschränkter (Statisch) Frei in Ableitung
REDUNDANZ Keine Höher (Icon für Button + CheckBox)
AUFWAND / PFLEGE Geringer (Zentrale Klasse) Aufwändiger (Viele Klassen)
ERWEITERBARKEIT Gut Gut
VERSTÄNDNIS / WISSEN
Unter Umständen schwieriger
(Extreme Konstrukte)
Einfacherer
REUSE Gut Gut (Custom Control Library)
Attached Properties vs. Custom Controls
73
KAPITELTITEL
BLEND INTERACTIVITY
74
WPF UI DEVELOPMENT BEST PRACTICES 2.0
Einführung
• Bietet zahlreiche Actions und Behaviors
• Gut für Lösung kleiner MVVM Probleme!
• Eigene Behaviors / Actions
• Ermöglichen funktionale Erweiterung ohne Ableitung
• Werden an Controls angeheftet
75
Blend öffnen
Behaviors anschauen
PROPERTY AUS USERCONTROL AUF WINDOW
SETZEN?
77
ChangePropertyAction
Kombiniert mit FindAncestor Binding!
COMMAND OHNE COMMAND PROPERTY AUSLÖSEN?
79
InvokeCommandAction
Beispiel Daten einer ComboBox bei GotFocus
TOOLS
81
XAML STYLER
82
WPF UI DEVELOPMENT BEST PRACTICES 2.0
XAML Styler
• Freies Visual Studio Plugin
• Erlaubt Formatierung für XAML Source-Code
• Erweiterte Attribute Formatierung
• http://visualstudiogallery.msdn.microsoft.com/
d6634d0e-38fb-48b6-829f-dadbc5c2fb62
83
Beautify
Über Context Menu
Überblick
Leichtes Scannen für Auge
SNOOP
86
WPF UI DEVELOPMENT BEST PRACTICES 2.0
Snoop
• Mächtiges Open-Source Spy Util
• Kompletter Visual Tree einer Applikation anschauen
• Properties lesen und setzen
• 2D und 3D Darstellung
• Control Events auswerten
• Sehr nützlich für XAML Debugging
• https://snoopwpf.codeplex.com/
87
Properties
Detaillierte Informationen zu Controls
Experiment
DataGrid vs. Drittanbieter (Visual Tree)
Experiment
DataGrid vs. Drittanbieter (Visual Tree)
3D Darstellung
Nützlich bei komplexen Controls
3D Darstellung
Nützlich bei komplexen Controls
Events
Darstellung von Live Events
WPF INSPECTOR
94
WPF UI DEVELOPMENT BEST PRACTICES 2.0
WPF Inspector
• Open-Source Spy Util
• Visual Tree einer Applikation anschauen
• Properties lesen und setzen
• Debugging
• http://wpfinspector.codeplex.com/
95
Visual Tree
Darstellung der Controls
PERFORATOR
97
WPF UI DEVELOPMENT BEST PRACTICES 2.0
Perforator
• Tool zur Überwachung des Render-Verhaltens
• Bestandteil WPF Performance Suite
• FPS, Dirty Rect, Intermediate Render Targets, ...
• http://download.microsoft.com/download/A/6/A/A6AC035D-
DA3F-4F0C-ADA4-37C8E5D34E3D/setup/
WinSDKPerformanceToolKit_amd64/wpt_x64.msi
• http://msdn.microsoft.com/en-us/library/aa969767(v=vs.
110).aspx
98
Render
Verhalten
Fake Beispiel mit schlechter
Performance... (DropShadow auf
Window)
RESMERGER!
100
KONTAKT!
101
http://www.davidchristian.de
Better Call WPF DCT!
GitHub Repo
https://github.com/dctdct/WPF-UI-Development-Best-Practices
Kuh
Leichtes Scannen für Auge
VIELEN DANK. GRAF-JOHANN-STRAßE 19
66121 SAARBRÜCKEN
GERMANY
WWW.DAVIDCHRISTIAN.DE
T +49 681 688 9528
THOEMMES@DAVIDCHRISTIAN.DE
UI DEVELOPMENT & CONSULTING
IT-BERATUNG UND SOFTWAREENTWICKLUNG
DAVID C. THÖMMES

Contenu connexe

Tendances

Prozessmanagement SaaS, Workflow Management SaaS, Prozesse Software as a Service
Prozessmanagement SaaS, Workflow Management SaaS, Prozesse Software as a ServiceProzessmanagement SaaS, Workflow Management SaaS, Prozesse Software as a Service
Prozessmanagement SaaS, Workflow Management SaaS, Prozesse Software as a ServiceGBS PAVONE Groupware GmbH
 
Executive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für EntscheiderExecutive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für EntscheiderBokowsky + Laymann GmbH
 
Executive Summary - App-Entwicklung für Entscheider, Webinale Edition
Executive Summary - App-Entwicklung für Entscheider, Webinale EditionExecutive Summary - App-Entwicklung für Entscheider, Webinale Edition
Executive Summary - App-Entwicklung für Entscheider, Webinale EditionBokowsky + Laymann GmbH
 
Universal Theme vs. APEX mobile
Universal Theme vs. APEX mobileUniversal Theme vs. APEX mobile
Universal Theme vs. APEX mobileSteven Grzbielok
 
Wiederholung Systementwurf - Einführung Build Prozesse
Wiederholung Systementwurf - Einführung Build ProzesseWiederholung Systementwurf - Einführung Build Prozesse
Wiederholung Systementwurf - Einführung Build ProzesseChristian Baranowski
 
SEO Produktspezifikation für RWD
SEO Produktspezifikation für RWDSEO Produktspezifikation für RWD
SEO Produktspezifikation für RWDConny Stier
 

Tendances (8)

Prozessmanagement SaaS, Workflow Management SaaS, Prozesse Software as a Service
Prozessmanagement SaaS, Workflow Management SaaS, Prozesse Software as a ServiceProzessmanagement SaaS, Workflow Management SaaS, Prozesse Software as a Service
Prozessmanagement SaaS, Workflow Management SaaS, Prozesse Software as a Service
 
Executive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für EntscheiderExecutive Summary – App Entwicklung für Entscheider
Executive Summary – App Entwicklung für Entscheider
 
Executive Summary - App-Entwicklung für Entscheider, Webinale Edition
Executive Summary - App-Entwicklung für Entscheider, Webinale EditionExecutive Summary - App-Entwicklung für Entscheider, Webinale Edition
Executive Summary - App-Entwicklung für Entscheider, Webinale Edition
 
Universal Theme vs. APEX mobile
Universal Theme vs. APEX mobileUniversal Theme vs. APEX mobile
Universal Theme vs. APEX mobile
 
Systementwurf mit UML
Systementwurf mit UMLSystementwurf mit UML
Systementwurf mit UML
 
Wiederholung Systementwurf - Einführung Build Prozesse
Wiederholung Systementwurf - Einführung Build ProzesseWiederholung Systementwurf - Einführung Build Prozesse
Wiederholung Systementwurf - Einführung Build Prozesse
 
CodeFluent Entities and AppSofa
CodeFluent Entities and AppSofaCodeFluent Entities and AppSofa
CodeFluent Entities and AppSofa
 
SEO Produktspezifikation für RWD
SEO Produktspezifikation für RWDSEO Produktspezifikation für RWD
SEO Produktspezifikation für RWD
 

Similaire à XAML UI DEVELOPMENT BEST PRACTICES 2.0

Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015AboutYouGmbH
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Andreas Wissel
 
1. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.20231. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.2023Johannes Kleinlercher
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerDennis Wilson
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt socDaniel Fisher
 
11. TANNER-Hochschulwettbewerb | Beitrag Team Probian (HS Karlsruhe)
11. TANNER-Hochschulwettbewerb | Beitrag Team Probian (HS Karlsruhe)11. TANNER-Hochschulwettbewerb | Beitrag Team Probian (HS Karlsruhe)
11. TANNER-Hochschulwettbewerb | Beitrag Team Probian (HS Karlsruhe)TANNER AG
 
INNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & AngularINNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & AngularAndreas Wissel
 
Von Applets zu Web Components: Robuste Design Systems mit Storybook und Angular
Von Applets zu Web Components: Robuste Design Systems mit Storybook und AngularVon Applets zu Web Components: Robuste Design Systems mit Storybook und Angular
Von Applets zu Web Components: Robuste Design Systems mit Storybook und AngularAndreas Wissel
 
Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten
Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 MinutenGerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten
Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 MinutenRoland Mast
 
Design Systems mit Storybook und Angular: strukturierte User Experience für E...
Design Systems mit Storybook und Angular: strukturierte User Experience für E...Design Systems mit Storybook und Angular: strukturierte User Experience für E...
Design Systems mit Storybook und Angular: strukturierte User Experience für E...Andreas Wissel
 
Akzeptanz-Test getriebene Produktentwicklung
Akzeptanz-Test getriebene ProduktentwicklungAkzeptanz-Test getriebene Produktentwicklung
Akzeptanz-Test getriebene ProduktentwicklungMichael Brandt
 
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...Jürgen Gutsch
 
German Web Usability Training
German Web Usability TrainingGerman Web Usability Training
German Web Usability TrainingPaulina
 
20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02Chris Palatinus
 
Dnug dresden blend 5. 5. 2010
Dnug dresden blend 5. 5. 2010Dnug dresden blend 5. 5. 2010
Dnug dresden blend 5. 5. 2010SharepointUGDD
 
DNUG Dresden Blend
DNUG Dresden BlendDNUG Dresden Blend
DNUG Dresden BlendMartin Hey
 

Similaire à XAML UI DEVELOPMENT BEST PRACTICES 2.0 (20)

Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
1. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.20231. Cloud Native Meetup Innsbruck, 23.11.2023
1. Cloud Native Meetup Innsbruck, 23.11.2023
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc2007 - Basta!: Nach soa kommt soc
2007 - Basta!: Nach soa kommt soc
 
11. TANNER-Hochschulwettbewerb | Beitrag Team Probian (HS Karlsruhe)
11. TANNER-Hochschulwettbewerb | Beitrag Team Probian (HS Karlsruhe)11. TANNER-Hochschulwettbewerb | Beitrag Team Probian (HS Karlsruhe)
11. TANNER-Hochschulwettbewerb | Beitrag Team Probian (HS Karlsruhe)
 
IntelliJ für Flex
IntelliJ für FlexIntelliJ für Flex
IntelliJ für Flex
 
INNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & AngularINNOQ Tech Lunch: Design Systems mit Storybook & Angular
INNOQ Tech Lunch: Design Systems mit Storybook & Angular
 
Von Applets zu Web Components: Robuste Design Systems mit Storybook und Angular
Von Applets zu Web Components: Robuste Design Systems mit Storybook und AngularVon Applets zu Web Components: Robuste Design Systems mit Storybook und Angular
Von Applets zu Web Components: Robuste Design Systems mit Storybook und Angular
 
Ec2009 Templates
Ec2009 TemplatesEc2009 Templates
Ec2009 Templates
 
Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten
Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 MinutenGerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten
Gerade genug Architektur vorneweg - Zur eigenen Architektur-Vision in 12 Minuten
 
Design Systems mit Storybook und Angular: strukturierte User Experience für E...
Design Systems mit Storybook und Angular: strukturierte User Experience für E...Design Systems mit Storybook und Angular: strukturierte User Experience für E...
Design Systems mit Storybook und Angular: strukturierte User Experience für E...
 
Akzeptanz-Test getriebene Produktentwicklung
Akzeptanz-Test getriebene ProduktentwicklungAkzeptanz-Test getriebene Produktentwicklung
Akzeptanz-Test getriebene Produktentwicklung
 
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
 
German Web Usability Training
German Web Usability TrainingGerman Web Usability Training
German Web Usability Training
 
Whitecoast lcty12 x_pages
Whitecoast lcty12 x_pagesWhitecoast lcty12 x_pages
Whitecoast lcty12 x_pages
 
20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02
 
GUIs mit Expression Blend
GUIs mit Expression BlendGUIs mit Expression Blend
GUIs mit Expression Blend
 
Dnug dresden blend 5. 5. 2010
Dnug dresden blend 5. 5. 2010Dnug dresden blend 5. 5. 2010
Dnug dresden blend 5. 5. 2010
 
DNUG Dresden Blend
DNUG Dresden BlendDNUG Dresden Blend
DNUG Dresden Blend
 

XAML UI DEVELOPMENT BEST PRACTICES 2.0