Version 1.1 von Caliburn Micro als RTW verfügbar

 

Seit gestern kann die aktuelle Version 1.1 von Caliburn Micro per Nuget oder Codeplex-Seite bezogen werden. Es gibt zahlreiche Bugfixes und Verbesserungen wie beispielsweise:

 

Windows Phone 7 (WP7)
  • Eine neue Tombstoning API, welche sich an Fluent NHibernate orientiert
  • Eine neue Start/Auswahl API
  • Stark typisierte Navigation SimpleContainer ist jetzt enthalten
  • Bessere App-Lifecycle Steuerung
Windows Presentation Foundation (WPF)
  • Unterstützt das Client Profile
  • Bessere Unterstützung für WinForms Integration
Alle
  • Neuer RegEx-basierter ViewModelLocator
  • Polymorphe Subscriptions und Custom Thread Marshaling beim EventAggregator

Ich empfehle den Einsatz per Nuget. Damit wird das Einbinden des Frameworks zum Kinderspiel. Viel Spaß beim Ausprobieren der neuen Features.

MMVM Training von Microsofts Karl Shifflett

Das Model-View-ViewModel (MVVM) Pattern ist mittlerweile zu einer Standardanforderung für moderne Oberflächen mit WPF oder Silverlight geworden. Die Vorteile liegen klar auf der Hand:

  • Saubere Trennung von Layout und UI-Logik
  • Erhöhung der Testbarkeit von UI-Logik
  • Verbesserung der Wartbarkeit einer Programmoberfläche
  • Optimierung der Umsetzung durch Arbeitsteilung (Design / Development)

Natürlich hat der Einsatz des Patterns jedoch seinen Preis: die Komplexität. Schon seine Vorgänger (Model-View-Controler & Model-View-Presenter) haben manchen Entwickler hoffnungslos überfordert. Das lag jedoch weniger an den Pattern selber, als vielmehr an der Tatsache, dass zu wenige Personen ausreichende Erfahrung im Umgang hiermit hatten.

Um diese Probleme bei MVVM zu reduzieren gibt es von Microsoft viel Material zur Unterstützung der .NET Entwickler. Brandaktuell ist das in Visual Studio 2010 integrierte Training von Karl Shifflett. Sein MVVM Training "In the box" enthält Schulungsvideos, Visual Studio Vorlagen, Beispiele und viele weitere Informationen. Es bietet Inhalte für Einsteiger bis Experten. Der Name "In the Box" bezieht sich auf die Tatsache, dass das gesamte Training in Visual Studio genutzt und betrachtet werden kann.

Den Download finden sie unter: http://karlshifflett.wordpress.com/2010/11/07/in-the-box-ndash-mvvm-training/.

Viel Erfolg mit Ihrem nächsten MVVM-Projekt!

Convention over Configuration Begriffserklärung

Die meisten Frameworks benötigen eine umfangreiche Konfiguration um zu funktionieren. Für Entwickler ohne ausreichende Erfahrung kommt es hierbei häufig zu Verständnisproblemen. Die Hürde für den Einstieg muss genommen werden und nicht selten verzweifelt manch einer und stoppt das Projekt "Neues Framework evaluieren" mit dem Fazit: unbrauchbar.

Natürlich versuchen viele Frameworks deshalb den Einstieg so leicht wie möglich zu machen und nehmen Standardwerte für die meisten Einstellungen an. Diese können bei Bedarf vom Entwickler punktuell oder komplett angepasst werden.

Kunde_1[6] Kunde_2[3]
Dieses Problem existiert genauso in Bezug auf Nutzung von Framework Komponenten. Hier muss ein Interface ausimplementiert, dort ein Property mit einem passenden Wert versehen werden. Um diesen Problemen zu begegnen, setzen mittlerweile einige Frameworks auf "Convention over Configuration". Ein Vorgehen, bei welchem das Framework gewisse Annahmen trifft, welche bei Bedarf vom Entwickler genutzt werden können. So abstrakt diese Aussage klingt, so einfach lässt sich das Ganze an einem Beispiel beschreiben: Geht man von einem Framework für Objektpersistenz (z.B. Entity Framework) aus, so erwartet dieses für alle zu speichernden Objekte eine eindeutige Id. Diese wird zur Identifizierung der Objekte genutzt. Hierzu muss zuerst eine Konfiguration erstellt werden, welche dem Entity Framework für jeden Typen das identifizierende Property aufzeigt. Das kann über ein Attribut erfolgen, XML Konfiguration, eine externe Mapping-Klasse, etc. Am Beispiel eines Kundenobjekts (Abbildung 1) muss das Property Kundennummer konfiguriert werden. Da diese Mapping-Konfiguration für jeden Typen erfolgen muss, steigt der Aufwand proportional mit der Größe der Solution. Es stellt sich die Frage, ob hierfür nicht eine Konvention genutzt werden kann. Diese gibt vor, dass falls ein Objekt eine Property mit Namen ID enthält, diese automatisch als Identifier angenommen wird, ohne dass eine extra Konfiguration notwendig ist (Abbildung 2). Der Entwickler muss somit dafür sorgen, dass seine Objekte alle das Property ID haben.

Zugegebenermaßen klingt das ein wenig nach Gängelung. Was, wenn wir einen Composite Key, also Eindeutigkeit über mehrere Felder haben. Wenn also eher mit fachlichen Schlüsseln zur Identifikation gearbeitet wird? Auch wenn ein Surrogate Key (technischer Schlüssel) die empfohlene Vorgehensweise darstellt, kommen die fachlichen Schlüsselkombinationen in freier Wildbahn häufig vor. Hierfür können explizite Mappings definiert werden, welche dann Priorität genießen. Spezialisierung vor Allgemein, sozusagen. Der entscheidende Punkt ist hierbei, dass Konventionen allgemeine Annahmen darstellen, welche – wenn notwendig – angepasst werden können.

Nachdem die Begrifflichkeit "Convention over Configuration" hiermit erläutert wurde, folgen in einem der nächsten Einträge konkrete Konventionen im Feature CTP 4 Release des neuen Entity Frameworks.

SAP setzt auf Silverlight

Wenn das nicht mal eine ganz besondere Referenz ist: SAP setzt für seine neue Mittelstand-Lösung Business by Design auf Silverlight als Frontend-Technologie

SAP Business ByDesign ist als innovatives Zukunftsprodukt für SAP von strategischer Bedeutung. Wichtig sind daher eine kurze Time-to-Market, eine hohe Benutzerakzeptanz und eine schnelle Marktdurchdringung – diese Ziele werden wir auch dank der äußerst leistungsfähigen Microsoft Silverlight-Technologie erreichen.
Rainer Zinow, Senior Vice President – ByDesign Solution Management, SME Strategic Solution Management, SAP AG, St. Leon Rot

PDF hierzu als Download.

Microsoft’s Streetview Killer

Nachdem Google mit dem Streetview Feature einen ersten Schritt in Richtung realistischer Straßendarstellungen gemacht hat, kommt nun Microsofts Antwort. Das MS Research Team stellt Streetslide vor:

Das veröffentlichte Video zeigt eindrucksvoll wie der nächste Schritt auf diesem Weg aussieht. Hoffentlich dauert es nicht zu lange, bis Streetslide öffentlich verfügbar gemacht wird.