Caliburn.Micro.

Slides:



Advertisements
Ähnliche Präsentationen
Vortrag Code-Dokumentation
Advertisements

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
PHP Extension und Application Repository
Forschungszentrum Informatik
www.materna.de1 Evaluierung einer aus Open Source Komponenten bestehenden J2EE Umgebung Marcus Jäger ~ Fachinformatiker Anwendungsentwicklung ~
Multi-Server Shutdown
SOAP Simple Object Access Protocol
Bewertung des Prozessoptimierungsansatzes 'ITIL' am Beispiel des Projektes PolyWorkPlace bei Bayer Business Services GmbH.
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Release Q1- funktional Pilotentreffen Publication Management Berlin, 19. April 2007 Harnack-Haus.
Content-Management-System
Betreuer: Christian Brose
Memoir von Andreas Heinze Eine Klasse für sich Die Memoir- Klasse -- Andreas Heinze 2 Gliederung 1. Geschichtlicher Abriss 2. Eigenschaften.
Einführung in KDE (Desktop Environment)
Hänchen & Partner GmbH 1 Web-Anwendungen mit dem Jakarta Struts Framework 3.Juli 2003 Martin Burkhardt.
Uwe Habermann WPF Avalon Formulare aus VFP verwenden Venelina Jordanova
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 10 Die erste, eigene Klassenbibliothek (Level 100) Presenter: Daniel Walzenbach Technologieberater.
Projektplan Experimentelle Gestaltung 2 SS 10 TU-Wien
Coccon das Web-XML-Publishing System Thomas Haller.
Aichinger Christian, Strasser Jürgen
InfoPoint vom 9. November Was ist Joomla? Theorie Installation Extensions Administration Demo.
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
Einfache Automaten mit Lego Mindstorms praktisch umsetzen
08. September 2010Entwicklungsstrategien in Liferay 1 Christian Krause, URZ FSU Jena, IDM-Arbeitsgruppe.
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
Mit 3 Schichte zum Erfolg
Video Streaming mit Silverlight
Michael Köster User Experience Specialist Microsoft Corporation.
Mahmoud Zoabi Khaled Isa
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Developer Day Webseiten auf Windows Azure hosten Britta Labud bbv Software Services AG Roland Krummenacher bbv Software Services AG.
Das Model-View-ViewModel-Pattern
Applikationsarchitektur modularer Rich Client-Anwendungen am Beispiel der Windows Presentation Foundation Jörg Jooss MTC Architect
Entwickeln von Windows Phone Unternehmens-Apps
Cooperation unlimited © Zühlke Juni 2009 Hansjörg Scherer Folie 1 Cooperation unlimited TFS als BackEnd für Visual Studio und Eclipse.
MVVM in Windows 8 und Windows Phone 8
PresenterCompanyContact Windows Azure ASP.NET Web-Anwendungen schnell und zuverlässig bereitstellen.
Windows Presentation Foundation WS 2013/14 Prof. Dr. Herrad Schmidt
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 8 Folie 2 Commands (1) s.a.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 Dependency Properties s.a.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 7 Folie 2 Styles (1) s.a.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 5 Folie 2 Windows Communication Foundation (WCF) s.a.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 11 Folie 2 Model-View-ViewModel s.a.
Connect Event Vortrag vom bei der FoxPro User Group Schweiz © Marc Voillat, Interbrain AG, 8048 Zürich.
Bonn-to-code.net Nutzung von.NET User Controls in Legacy Code Sascha Lehmann
Was dir Trivialbeispiele in Async and Await nicht sagen! Marcus Kimpenhaus und Martin Möllenbeck.
VU Semistrukturierte Daten 1
Marktübersicht für Content Management Systeme
Veranstalter: Building & Connecting Know-how Februar 2011, München Partner: WP7: Mehr als nur SL und XNA.
Agenda Rückblick 2. Aufbau der Software Benutzeroberfläche 4. Ausblick
3. Juni 2003Moritz Petersen Minimales Markup und Templates zur Erstellung von strukturierten Texten Ein Zwischenbericht zur Diplomarbeit.
Der Pin-Chat im Vergleich zum Standard-Chat
Real World Windows Azure Die Cloud richtig nutzen.
HiG401-D.ppt Seite 1 20 SIMATIC Industrie Software S7-HiGraph V4.01 Graphengruppe Mehrere Graphengruppen können gleichzeitig geöffnet und bearbeitet werden.
1 DEUTSCHES ELEKTRONEN-SYNCHROTRON NOTKESTR HAMBURG PHONE FAX KDS-Anwendertreffen K. Wittenburg.
Die Management-Tools von Z&H COACH beinhalten zentrale Hilfsmittel für ein Management-System. Sorgfältig angewendet führen diese Tools Ihr Unternehmen.
© 2014 Fake the Unfakeable Isolating Code Under Test with Microsoft Fakes ©
Thomas Schissler – artiso solutions GmbH Artur Speth – Microsoft Deutschland GmbH.
Goldpartner: Veranstalter: Der Werkzeugkasten für Entwickler Ein UI-Framework in AngularJS Timo Korinth.
Open Source und Open Office Referenten: Anja Stadler & Fabian Gebauer.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
Cubido business solutions gmbh Haidfeldstrasse 33 A-4060 Leonding di(fh) Wolfgang Straßer ° Rundumblick.
XML-basierte Beschreibungssprachen für grafische Benutzerschnittstellen Seminarvortrag im Studiengang „Scientific Programming“ von Steffen Richter.
Jakarta Struts Quasi-Standard für JSP-basierte Entwicklung: Jakarta Struts Key Features von Struts: Implementierung des Action-Command-Pattern („Model.
Data/Code driven UI mit WPF Teil 2
 Präsentation transkript:

Caliburn.Micro

Agenda Einführung in Caliburn.Micro Actions Screen-Lifecycle UI-Komposition EventAggregator Module/Regions

Kurze Historie Lehnt sich an das Caliburn Projekt http://www.caliburnproject.org/ Entwickelt von Rob Einsenberg @EisenbergEffect, http://devlicio.us/blogs/rob_eisenberg/ Entstand nach dem Vortrag auf der MIX10 „Build your own MVVM Framework“ von Rob Einsenberg Aktuelle Version ist 1.5.2 (Juni 2013) Ist frei auf der Codeplex zu erhalten http://caliburnmicro.codeplex.com

MIX 10 Quelle: http://channel9.msdn.com/Events/MIX/MIX10/EX15

Was ist Caliburn.Micro? WinForms WPF WPF + CM • Ist ein Opensource Framework für WPF Vereinfacht die Arbeit mit WPF und MVVM Ist ein reines UI-Framework Unterstützt auch Silverlight, WP7 und WinRT/Metro WinForms WPF WPF + CM Grafishe Möglichkeiten • Binding Support Einfache Click-Events Einfache MDI-Formulare

Vorteile Bietet „Entwicklungs-Komfort“ Automatische Property-, Command und View/ViewModel-Bindings Screen Lifecyle (GuardClose) UI-Composition via Conductoren (ähnlich wie LEGO®-Bausteine) Wichtige Hilfsklassen, die bei der Täglichen Arbeit (fast) immer gebraucht werden (z.B.: WindowManager, EventAggregtor, Coroutines) Umsetzung ist nach Clean Code Standards (EAP) Quellcode ist offen Ist Dokumentiert Neue Entwickler können sich einlesen Unternehmen muss sein Framework nicht selbst dokumentieren ViewModels sind testbar Framework besteht aus wenigen KB (ca. 400 kb und 50 Files, Stand Juni 2013) Fazit: Vereinfacht die Arbeit mit WPF (MVVM)

Basics Convention over Configuration View- & ViewModel-Binding Property- & Command Binding Bootstrapper initialisiert die Shell beim Start der Applikation Demo 01 Initialization

Actions Demo 02 Actions + 03 ActionParameters 1. Möglichkeit: Convention 2. Möglichkeit: Message.Attach Vordefinierte Parameter-Variablen $eventArgs $dataContext $source $view $executionContext $this Implementiert automatisch Commands Demo 02 Actions + 03 ActionParameters

Screen-Lifecyle

UI-Komposition Demo 04 SimpleNavigation + 05 SimpleMDI Screen = Inhalt, das angezeigt wird (hat Lifecycle) Conductor = Verwaltet Screens Screen-Komposition mit (T ist in den meisten Fällen Screen) Conductor<T> (ActiveItem) Conductor<T>.Collection.OneActive (Items) Conductor<T>.Collection.AllActive (Items) ViewModel wird abgeleitet von: Screen, falls Screen-Lifecycle notwendig ist. Screen ist von PropertyChangedBase abgeleitet Conductor<T>, falls UI-Komposition mit einem aktiven Fenster. Conductor<T>.Collection.OneActive oder Conductor<T>.Collection.AllActive, falls UI-Komposition mit mehreren Fenstern PropertyChangedBase, falls kein Screen-Lifecycle notwendig ist Demo 04 SimpleNavigation + 05 SimpleMDI

Event Aggregator Demo 06 EventAggregator Sendet Nachrichten (entspricht einer Action) zwischen unterschiedlichen UI-Komponenten. Demo 06 EventAggregator

Module/Regions Demo 07 Caliburn-Composite-Final Vorteile Applikation wird in kleinere Teile zerlegt Fehleranfälligkeit der Software wird weniger Module können in verschiedenen Applikationen wieder verwendet Shell kennt die Module nicht und Umgekehrt Shell kann angepasst werden ohne dass eine Anpasung der Module notwendig ist. Regions: Shell wird in Bereiche Aufgeteilt, die als ganzes verschoben werden können. https://github.com/lukebuehler/Caliburn-Composite-Prototype Demo 07 Caliburn-Composite-Final