Nach langer Wartezeit und den letzten Updates zu Composite UI Application Block und Smart Client Software Factory mit Visual Studio 2008 Unterstützung ist nun endlich das Nachfolge-Framework zum Composite UI Application Block da! Die Composite WPF Guidance, ursprünglich unter dem Codenamen "Prism" bekannt geworden, ist gestern in der ersten Release - June 2008 Release - veröffentlicht worden.

Bitte clicken Sie hier um zur Composite WPF Guidance Home Page zu gelangen.

Die Composite WPF Guidance stellt ein Framework zur Entwicklung von Smart Client Anwendungen dar - ähnlich wie dies CAB für Windows Forms getan hat. Diesmal wurde die Guidance allerdings von Grund auf mit WPF entwickelt und nutzt viele Möglichkeiten von WPF auch auf sehr schöne Art und Weise. Die Guidance adressiert folgende Aspekte:

  • Modularität
    Das Framework ermöglicht die Entwicklung von modular aufgebauten Smart Clients, welche dynamisch und über Konfiguration durch einen "Plug-In" Mechanismus mit Modulen erweitert werden können.
  • Unterstützung von Client Patterns
    Das Framework unterstützt - ähnlich wie CAB - gängige Patterns wie Command, MVC / MVP oder Event Broker Systeme. Allerdings ist das Framework diesmal so gebaut, dass der Entwickler sehr gut Entscheiden kann, welche Dinge von Composite WPF er verwenden möchte und welche nicht. Die Bestanteile sind nicht voneinander abhängig, man kann sich also genau aussuchen, was für einen selbst am besten geeignet ist und begibt sich in keinerlei Abhängigkeiten zu anderen Framework-Bestandteilen.
  • Dependency Injection über das neue Unity Framework
    Der lahme ObjectBuilder von CAB/SCSF ist tot - es lebe Unity. Unity ist das neue Dependency Injection Framework welches mit der Enterprise Library 4.0 veröffentlicht wurde. Composite WPF Guidance verwendet dieses. Das Framework ist wesentlich eleganter aufgebaut, kann unabhängig vom Composite WPF Guidance Framework verwendet werden und verspricht auch, etwas flotter zu sein...
  • User Interface Composition
    Das Framework nutzt WPF Features wie Data Binding um dynamisch User Interface Elemente aus verschiedenen, dynamisch geladenen Modulen in einem von Ihnen definierten UI (mit Platzhaltern versehen) zusammenzufügen, ohne dass die einzelnen Module über diese Platzhalter und dieses UI im Detail Bescheid wissen müssen.

Alles in allem fand ich die ersten Blicke auf die WPF Composite Guidance sehr positive - vor allem scheint der Einarbeitungsaufwand verglichen mit CAB etwas geringer auszufallen, da die Elemente von Composite WPF Guidance keine Abhängigkeiten untereinander haben. Das macht vieles wesentlich einfacher. Was noch fehlt sind die Guidance Packages die aber bei CAB auch erst später mit der Smart Client Software Factory geliefert wurden... mir haben diese bei den ersten Versuchen vor einigen Wochen allerdings nicht wirklich gefehlt;)

MarioSzpuszta_VerySmall

mszCool