Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz...

43
Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern am Beispiel von Adobe Flex und Microsoft Silverlight. WebTech, 18. November 2009

Transcript of Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz...

Page 1: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Sascha Wolter | wolter.biz

Designer-Developer-WorkflowMethoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern am Beispiel von Adobe Flex und Microsoft Silverlight.

WebTech, 18. November 2009

Page 2: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Über mich

Sascha Wolter ist Entwickler und Trainer für Rich Applications mit dem Schwerpunkt Flash/Flex Plattform und Silverlight. Bereits seit 1995 arbeitet er als freiberuflicher Autor, Berater und Software-Architekt. Sascha ist ebenfalls durch zahlreiche internationale Vorträge auf führenden Konferenzen bekannt. Seine Bücher und Artikel rund um Flash, Flex und Silverlight zählen zu den meistgelesenen Publikationen. Als Gründer der führenden deutschsprachigen Adobe User Group flashforum.de mit mehr als 100.000 Mitgliedern engagiert sich Sascha auch für die Belange der Anwender.

Veröffentlichungen Video Training Flash CS3 Video Training Flex 3 Grundlage Video Training Silverlight 2 Video Training ActionScript 3 Workshop

Sascha Wolter | wolter.biz 2

Page 3: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

ZWEIEINHALB WELTENDesigner-Developer-Workflow

Sascha Wolter | wolter.biz

Page 4: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Zweieinhalb Welten: Verständnis!

Sascha Wolter | wolter.biz

„My Wife and My Mother-In-Law“ von William Ely Hill, 1915

Page 5: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Zweieinhalb Welten: Verständnis!

Sascha Wolter | wolter.biz

Quelle: http://mr6.cc/?p=2721

Page 6: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Schlechte Kommunikation: Designer-Developer-Workflow

=

Quelle: Microsoft

Page 7: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Zweieinhalb Welten: Rollen und Respekt

Project Manager

AccountManager

Creative Director

Art Director

EngeneeringManager

Software Architekt

PrincipalGraphicDesigner

Interaction Designer

Information Architect

UsabilityEngineer

Media Producer

GraphicDesigner

Content Writer

Content Editor

Marketing Manager

Front End Developer

Interactive Developer

Back End Developer

Sascha Wolter | wolter.bizQuelle: http://www.visitmix.com/labs/descry/awebsitenameddesire/

Page 8: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Zweieinhalb Welten: Kommunikation!

Sascha Wolter | wolter.biz

„Dallenbach Figure“ von Karl Dallenbach, 1952

Flurfunk:Wissen in der Welt!

Page 9: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Zweieinhalb Welten: Kommunikation!

Sascha Wolter | wolter.biz

„Deutsches Bild Puzzel.“, Anonym, 19. Jahrhundert

Page 10: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Zweieinhalb Welten: Coachender Mediator

Sascha Wolter | wolter.bizTerminator's new role: The Mediator (T-800 and Small Soldiers)

Page 11: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Zweieinhalb Welten: Kommunikation!

Sascha Wolter | wolter.biz

• Agile Software-Entwicklung/XP-Programming• Daily Stand-up Meetings und Sprints• Kreative Phasen versus Formale Phasen

Page 12: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Nomenklatur in allen Phase

Sascha Wolter | wolter.biz

Page 13: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Nomenklatur in allen Phase

Bezeichnungen

Bereits frühzeitig festlegen!

In allen Phasen konsistent halten!

Sascha Wolter | wolter.biz

Page 14: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Techniken und Werkzeuge

• Use-Case• Requirements• Wireframe• Komposition• Dope Sheet• Storyboard• Sitemap• Zustandsdiagramm (UML)• Flussdiagramm• Click-Dummy• Mock-up

Sascha Wolter | wolter.biz

Page 15: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Nomenklatur

• Baukasten definieren– Wiederverwendbare Steuerelemente:

http://silverlight.net/samples/sl3/toolkitcontrolsamples/run/– Gleichförmige Entwurfsmuster: http://quince.infragistics.com/

• Stift und Papier und/oderIllustrator und Photoshop (Komposition)

Sascha Wolter | wolter.biz

Page 16: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Prototyping

• Axure RP pro (vom Wireframezum Prototype)

• SketchFlow (Expression Blend)• Hinweise im Design per

Annotations

Sascha Wolter | wolter.biz

Page 17: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

WORKFLOWDesigner-Developer-Workflow

Sascha Wolter | wolter.biz

Page 18: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Vermischung von Design und Code

Sascha Wolter | wolter.biz

Vermischung von Code und Design! Warum machen Leute das?

Page 19: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Vermischung von Design und Code

Sascha Wolter | wolter.biz

Page 20: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Trennung von Design und Code

Sascha Wolter | wolter.biz

Curtain Wall (Vorhangfassade)

Page 21: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Trennung von Design und Code: Styling

Sascha Wolter | wolter.biz

Andy Warhol Monroe Style

Page 22: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Trennung von Design und Code: Skinning

Skinning Kenntnis über die Komponente und deren Aufbau ist erforderlich Vorgegebene Elemente können per Skin ausgetauscht werden

Theme Sammlung von Styles und Skins

Sascha Wolter | wolter.biz

Page 23: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Skinning: Tipps

• Scale 9• Flex Component Kit for Flash• Flex Component Templates• Eigene Erweiterung (Flash)

– MXP (Flash Extension)– z. B. JavaScript API– z. B. Komponenten– z. B. Templates

• Degrafa: Declarative Graphics Framework– Für die deklarative Beschreibung

eines Skins!– http://www.degrafa.org/

Sascha Wolter | wolter.biz

Page 24: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Ich frag michwas ich

brauche um es in meineVorlage ….

Trennung von Design und Code: Templating

Ich brauch eineMini-Ansicht, Knopfdruck,

etc..

Ich hab deineMini-Ansicht,

Gedrückt-Zustand, etc..

Page 25: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Zusammen: Silverlight

Sascha Wolter | wolter.biz

XAMLeXtensible Application

Markup Language

.SLNSolution und Projekt

Page 26: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Zusammen: Flex/AIR

Sascha Wolter | wolter.biz

Visual Designer

3) Development

4) Design Optimierungen

Developer

(z. B. Flash Catalyst)Design Produktion

Gemeinsame Sprachen MXML (Magic eXtensible Markup Language) FXG (Flash XML graphics) XFL (XML Flash)

Gemeinsame Projektstrukturen FXP (Flex Builder Projekt)

Page 27: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Zusammen: Enterprise-Umgebung

• Gemeinsame Umgebung– Gemeinsame Sprachen– Gemeinsame Projektstrukturen– Roundtrip

• Tests– Unit-Tests– Designzeitdaten

• Buildprozesse– Nightly Build– Continuous Integration

Sascha Wolter | wolter.biz

Page 28: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Trennung: Mehrsprachigkeit

Mehrsprachigkeit im Design Beachten beim Layout Nutzen zur Konfiguration

Locale Zur Kompilier- und zur Laufzeit Property-Dateien, Resource-File

RessourceBundle in Flex <mx:Label text="@Resource(key='helloWorld', bundle='Application')" />

Ressource-File in Silverlight <Button x:Name="SaveBtn" Content="{Binding Path=saveBtnLabel,

Source={StaticResource Resource}, Mode=OneTime}“ /> Zahlreiche Datentypen möglich

getClassLogo=Embed("logo.png")Sorter=ClassReference("sorters.Urdu")

Sascha Wolter | wolter.biz

Page 29: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

PRAXIS ENTWURFSMUSTERDesigner-Developer-Workflow

Sascha Wolter | wolter.biz

Page 30: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Code-Behind

Sascha Wolter | wolter.biz

Design

Page 31: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Code-Behind

Sascha Wolter | wolter.biz

Design-Beschreibung

Page 32: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Code-Behind

Sascha Wolter | wolter.biz

Code

Page 33: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Trennen und Verheiraten

• Entwurfsmuster– Code Behind– Model View Controller– Presentation Model– MVVM– usw.

• Bindungen– oneway, twoway

• Ereignisse– Bubbling– Weiterreichen an das Modell– …oder gleich Methodenaufrufe!

• Behaviors

Sascha Wolter | wolter.biz

View

Model

http://www.martinfowler.com/eaaDev/PresentationModel.html

Page 34: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Presentation Model und MVVM

Sascha Wolter | wolter.biz

Design-Beschreibung

Page 35: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Presentation Model und MVVM

Sascha Wolter | wolter.biz

Code

Page 36: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Presentation Model und MVVM

Sascha Wolter | wolter.biz

Andere Design-Beschreibung für gleichen Code

Page 37: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Mocken und Testen

Sascha Wolter | wolter.biz

Code für den Designer: Eine Schnittstelle reicht.

Page 38: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Mocken und Testen

Sascha Wolter | wolter.biz

Eine Schnittstelle erlaubt, nur so zu tun als ob (engl. to mock)

Page 39: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Mocken und Testen

Sascha Wolter | wolter.biz

Das UI lässt sich nur schwer testen. Leichter geht das beim Modell.

Page 40: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

ZUSAMMENFASSUNGFRAGEN UND ANTWORTEN

Designer-Developer-Workflow

Sascha Wolter | wolter.biz

Page 41: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Sascha Wolter | wolter.biz

Danke für Ihre GeduldDesigner-Developer-Workflow

Page 42: Sascha Wolter | wolter.biz Designer-Developer-Workflo · Sascha Wolter | wolter.biz Designer-Developer-Workflow Methoden zur Verbesserung der Zusammenarbeit von Gestaltern und Programmierern

Demnächst in Köln

Sascha Wolter | wolter.biz

[email protected]