Archiv

Posts Tagged ‘XAML’

Buch-Rezension zu “Building Enterprise Applications with WPF and the MVVM Pattern”

25. April 2011 3 Kommentare

Building Enterprise Applications with Windows Presentation Foundation and the Model View ViewModel Pattern” von Raffaele Garofolo erschien im März 2011 bei Microsoft Press. Das MVVM Pattern ist für Silverlight und WPF Anwendungen schon fast ein Muss. Für den geringen Betrag von 15$ bekommt man ein gutes Buch zu MVVM.

 

Das Buch startet wie zu erwarten mit einer Einführung ins Model View ViewModel Pattern und dessen Abgrenzung gegenüber den sonstigen UI Patterns wie MVC oder MVP. Mit diesen Grundlagen ist man gerüstet um die einzelnen Schichten einer Anwendung anzuschauen. Vom Domänenmodell geht es über den Data Access Layer durch die Geschäftslogik zur Oberfläche der Anwendung.

Als Abschluss bietet das Buch eine kurze Übersicht zu MVVM Frameworks und Toolkits wie Caliburn, Prism, MVVM Light Toolkit oder Cinch.

Am Ende jedes Kapitels findet man ein grösseres Beispiel in dem die gerade beschriebenen Punkte zu einem realistischen Szenario verbunden werden. Dies sollte man unbedingt anschauen, da der Text im Kapitel selber wohl nicht jedem genügen wird.

 
Klein, aber fein?
Das Buch ist mit nur 224 Seiten recht dünn, behandelt aber dennoch eine grosse Anzahl von Themen. So kann vieles nur angeschnitten werden, für eine Vertiefung fehlt es an Platz. Wer hier eine detaillierte Einführung in Caliburn erwartet muss zwangsläufig enttäuscht werden.

Es gibt aber Themen wie das Repository- oder das Unit of Work Pattern, die mit ausreichendem Tiefgang beschreiben werden. Der Mehrwert dieses Buches liegt für mich beim kombinieren der einzelnen Themen und Ansätze zu einem Gesamtbild.

Im Grossen und Ganzen hätte der Verzicht aufs eine oder andere Toolkit oder Framework dem Buch wohl mehr Profil gegeben. Jetzt wird zwar jeder angesprochen, doch wer eine Empfehlung für ein spezifisches Produkt sucht wird enttäuscht.

 
Test-Driven
Garofolo legt sehr viel Wert auf die Testbarkeit der vorgestellten Ansätze. So findet man neben einer minimalen Einführung in Test Driven Development über das ganze Buch verteilt immer wiederkehrende Beispiele wie man in dieser Situation nun genau den Code testen kann. Diese Hilfestellung fand ich sehr gut und ich wünschte mir, dass mehr Autoren so viel Wert auf die Testbarkeit legen würden.

 
Downloads
Beim Link zu den Code-Beispielen gab es scheinbar einige Probleme. Der Source Code finden sich auf http://examples.oreilly.com/9780735650923-files/9780735650923_files.zip. Man könnte für die Zukunft noch die ReSharper-Dateien und Binaries weglassen, wodurch das Zip deutlich kleiner würde.

 
Fazit
Wer eine kurze und günstige Einführung ins MVVM Pattern sucht wird in diesem Buch das gewünschte finden. Man muss sich aber mit WPF oder Silverlight auskennen, denn dies ist keine Einführung in diese Technologien.

 
Zum Buch
Building Enterprise Applications with Windows Presentation Foundation and the Model View ViewModel Pattern” von Raffaele Garofolo, 2011 Microsoft Press, ISBN Print 978-0-7356-5092-3, ISBN E-Book 978-0-7356-4982-8, 224 Seiten, Englisch

Schlagworte: , , ,

Rezension zum Training Kit “Windows Applications Development with Microsoft .Net Framework 4″

22. März 2011 1 Kommentar

Windows Applications Development with Microsoft .Net Framework 4” von Matthew A. Stoecker erschien vor wenigen Wochen bei Microsoft Press als offizielles Training Kit für die Zertifizierung 70-511. Für .Net 4 wurden die Zertifizierungen für WPF und Windows Forms zu einer einzigen kombiniert.

Wie für ein Training Kit üblich versucht das Buch den Prüfungsumfang abzudecken um einem möglichst gut auf die Zertifizierung vorzubereiten. Das umfangreiche Thema wird in diese 12 Kapitel aufgeteilt:

  1. Building a User Interface
  2. Working with Events and Commands
  3. Adding and Managing Content
  4. Windows Forms and Windows Forms Controls
  5. Working with User-Defined Controls
  6. Working with Data Binding
  7. Configuring Data Binding
  8. Working with Data Grids and Validating User Input
  9. Enhancing Usability
  10. Advanced Topics
  11. Testing and Debugging WPF Applications
  12. Deployment

Jedes Kapitel ist wiederum in 2-4 Lektionen unterteilt, die man meist in weniger als 30 Minuten durcharbeiten kann.

 
Zusatzmaterial
Die beigelegte CD enthält den ganzen Beispielcode und einen Testsimulator. Dieser vermittelt einen guten Eindruck vom Ablauf der Prüfung und hilft einem dabei das Zeitlimit im Auge zu behalten. Eine elektronische Version des Buches sowohl als PDF wie auch als XPS ist für die Suche nach einem Begriff äusserst praktisch. Auch bei diesem Kit liegt ein 15% Gutschein für eine Microsoft Zertifizierung bei.

 
Stärken
Stoecker gelingt es das sehr umfangreiche Gebiet der Zertifizierung in verständliche und begreifbare Stücke zu teilen. Wenn man die Beispiele durcharbeitet und mit dem Testsimulator fortlaufend prüft ob man es auch verstanden hat ist man in einer guten Ausgangslage für die Zertifizierung.

Die behandelten Themen sind meiner Meinung nach hier besser auf die Prüfung abgestimmt als beim Kit zu 70-502 (WPF für .Net 3.5). Allerdings ist noch immer das praktische Wissen gefragt, das man nur durchs verwenden von Windows Forms und WPF erlangen kann. Ohne selber zu programmieren wird man es an der Prüfung schwer haben.

Das Verhältnis zwischen WPF und Windows Forms im Buch ist vergleichbar mit dem was auch auf der Seite zur Zertifizierung genannt wird. Wer WPF kennt und sich nun in Windows Forms einarbeiten muss hat es deutlich leichter als umgekehrt. Dabei gilt zu bedenken das beide Technologien Teil der Prüfung sind.

 
Schwächen
Data Binding wird erst im Kapitel 6 erklärt, aber schon in den vorherigen Kapiteln ausführlich verwendet. Wer sich erst ins Thema einarbeiten will wird dadurch grosse Mühe haben zu verstehen was da nun eigentlich passiert. Zumal der Hinweis fehlt das man diese Technik im Kapitel 6 und 7 ausführlich erklärt. Ein didaktisch sinnvollerer Aufbau wäre nicht nur für Einsteiger sehr angenehm.

Das Buch entstand wohl in recht grossem Zeitdruck. Die Rechtschreibefehler und leider auch Fehler im abgedruckten Code schienen mir in der 2. Hälfte deutlich zuzunehmen. Wer vor einem Problem steht sollte daher nicht lange überlegen sondern gleich einen Blick in die Errata werfen.

Ich hätte mir an manchen Stellen einen Abdruck des ganzen Code-Beispiels gewünscht. Wenn nur Zeilenweise Anweisungen gegeben werden wie man ein App.Config ergänzen soll ist man schnell einmal einen Block verschoben und hat dann nur noch Errors.

 
Fazit
Das Training Kit ist ein gutes Paket aus Buch, Beispielen und Testfragen um sich auf die Zertifizierung 70-511 vorzubereiten. Wer nur ein Buch zu WPF oder Windows Forms sucht wird allerdings zu oft nicht verstehen was da nun eigentlich passiert. Das Kit wie auch die Zertifizierung setzen voraus das man über Erfahrungen in den Technologien verfügt. Wem dies bewusst ist kann das Kit zur Vorbereitung gut gebrauchen.

 
Zum Buch
MCTS Self-Paced Training Kit (Exam 70-511): Windows Applications Development with Microsoft .Net Framework 4” von Matthew A. Stoecker, 2011 Microsoft Press, ISBN 978-0-7356-2742-0, 662 Seiten, [Englisch]

Rezension zu “MCTS Self-Paced Training Kit WPF”

28. Juni 2010 1 Kommentar

MCTS Self-Paced Training Kit (Exam 70-502): Microsoft® .NET Framework 3.5 Windows® Presentation Foundation” von Matthew A. Stoecker erschien 2008 bei Microsoft Press als offizielles Training Kit für die WPF Zertifizierung. Neben dem Buch gibt es auch noch einen elektronischen Fragenkatalog, der einem auf die Prüfung vorbereiten soll.

Das Buch folgt dem Umfang der Prüfung 70-502 und gliedert sich in diese 10 Kapitel:

  1. Grundlagen WPF
  2. Events, Commands und Settings
  3. User Interface erstellen
  4. Inhalte hinzufügen und verwalten
  5. Databinding konfigurieren
  6. Konvertieren und Validieren von Daten
  7. Styles und Animationen
  8. User Interface anpassen
  9. Resourcen, Dokumente und Lokalisierung
  10. Deployment

Die Kapitel sind jeweils in 2 bis 4 Lektionen unterteilt und können meist in der angegebenen Zeit (30-45 Minuten) erledigt werden. Im Anhang des Buches gibt es zudem einen 15% Gutschein für die WPF-Zertifizierung.

Der Fragenkatalog nutzt wie die Zertifizierung einen Multiple-Choice Tests mit meist 4 möglichen Antworten, von denen eine oder mehrere Korrekt sein können. Hilfreich ist die Auswertung nach der Beendigung des Tests, die grafisch aufzeigt in welchem Gebiet man noch schwächen hat.

 
Abgrenzung
Das Training Kit ist nicht für Leute die sich zum 1. Mal mit WPF beschäftigen. Die Einführungen sind dazu zu kurz und setzten stellenweise Wissen voraus, das erst später behandelt wird. Die Beispiele behandeln jeweils genau das was in der Lektion besprochen wird. Gegen Ende wird zwar auf die ersten Beispiele zurückgegriffen, allerdings primär um etwas fürs Deployment zu haben.

 
Stärken
Die starke Orientierung an der Prüfung hilft beim Fokussieren und gibt einem ein Gefühl was bei der Prüfung auf einem zukommen wird. Wer sich schon mit WPF auskennt erfährt auf eine kompakte Art, worauf Microsoft bei der Zertifizierung wert legt.
Die Grösse der Lektionen fand ich sehr angenehm. Es ist genug Zeit um das Thema zu bearbeiten und kurz genug das man dafür Zeit findet.

 
Schwächen
Wer das Training Kit kauft will sicher die Zertifizierung machen. Leider werden im Buch nicht alle Bereiche der Prüfung behandelt. Auf der Rückseite des Buches wird 3D zwar explizit erwähnt, allerdings fehlt dies im Buch komplett.

Deutlich schlechter fand ich den Unterschied beim Schwierigkeitsgrad der Fragen. Im Training Kit sind die Fragen oft konzeptionell und relativ einfach, in der Prüfung geht es sehr ins Detail und weit über WPF hinaus.

Bei einigen Punkten musste ich nach der Prüfung feststellen, dass es zwar im Buch steht, allerdings zu wenig deutlich hervorgehoben wird. Gerade wenn es um die kleinen aber wichtigen Details geht wären viel mehr “Exam Tips” äusserst hilfreich gewesen.

Man sollte unbedingt auch einen Blick ins Errata werfen. Die Qualität ist zwar sehr gut, allerdings gibt es gerade bei den Navigations-Events einen sehr mühsamen Fehler der nicht hätte passieren dürfen.

 
Fazit
Das Training Kit hilft auf dem Weg zur Zertifizierung, bringt einem aber alleine nicht durch die Prüfung. Wie (wohl) immer muss man neben einem tiefgründigen Detailwissen auch einiges an Praxiserfahrung haben. Ich fand “WPF in Action” eine gute Ergänzung und war froh auch dort die Beispiele durchgearbeitet zu haben.

Das Training Kit ist aber nur etwas für Leute die auch die Zertifizierung zum MCTS machen wollen. Wer daran nicht interessiert ist wird vom Buch kaum profitieren können.

 
Zum Buch
MCTS Self-Paced Training Kit (Exam 70-502): Microsoft .NET Framework 3.5 Windows Presentation Foundation” von Matthew A. Stoecker, 2008 Microsoft Press, ISBN 978-0-7356-2566-2, 524 Seiten

Schlagworte: , ,

TechDays 2010 in Basel

11. April 2010 3 Kommentare

Am 6. und 7. April durfte ich die TechDays in Basel besuchen. Nachdem die letztjährigen TechDays bei uns während Wochen für Gesprächsthemen sorgten, freute ich mich auf 2 interessante Tage.

 
Keynote: eine verpasste Gelegenheit
Die TechDays starteten allerdings nicht gerade vielversprechend. Wir waren ein wenig zu früh in Basel und mussten draussen aufs öffnen der Türen warten. Nach einem Kaffee und einem ersten Rundgang durch die Ausstellerstände begann die Keynote. Neben einigen Informationen rund um die TechDays (dieses Jahr nahmen 1100 Personen teil) startete der Hauptteil über visuelle Filmeffekte.

Christoph Ammann versuchte dieses an sich spannende Thema zu präsentieren. Dies gelang allerdings nicht wirklich. Anhand vom Endprodukt in HellBoy 2 zeigte er was sie gemacht hatten. Uns wurden zwar einige Filmausschnitte (ohne Ton) gezeigt, doch was alles dahinter steckt wurde nur angetönt. Es war so oberflächlich, dass man es auch hätte sein lassen können. Zudem wirkte der ganze Vortrag unvorbereitet.

Die Keynote endete mit der Verleihung des .NET Swiss Innovation Awards. Die ausgezeichneten Applikationen nutzten Silverlight, WPF, Azure, WCF oder am besten alles zusammen. Microsoft konnte zeigen, dass es produktionsreife Produkte gibt, die auf diese “neuen” Technologien setzen.

 
Silverlight
Ein grosses Thema an den TechDays war Silverlight. Ronnie Saurenmann war einmal mehr super. Seine Präsentation “Silverlight 4 Overview: The key Microsoft UI technology” wie auch “Silverlight 4 Advanced” waren kurzweilig und boten eine hohe Informationsdichte. Zudem gab es sehr viel zu lachen, was bei einer solchen Veranstaltung nicht alltäglich ist. Es gibt eine neue DeepZoom-Anwendung von Ronnie für das Kunsthaus.

Silverlight ist mit Version 4 bereit für Geschäftsanwendungen (Line of Business – oder kurz LOB). Das DataGrid, die RIA-Services und der Designer in Visual Studio 2010 sind nun fertig und werden in Kürze veröffentlicht.

 

WPF
Bei all der Aufmerksamkeit für Silverlight kam WPF ein wenig kurz. Nur eine Session beschäftigte sich mit den Neuerungen von Version 4. Endlich gibt es aber auch da ein DataGrid und einen DatePicker, die man nicht mehr aus dem Toolkit holen muss. Die Schrift soll nun auch endlich besser steuerbar sein. Die Unschärfe beim scrollen oder während einer Animation könnten somit endlich der Vergangenheit angehören. Auch das DataBinding wurde cleverer. Ein setzen des aktuellen Werts soll nun das Binding nicht mehr entfernen.

Microsoft will nun WPF (und auch Silverlight) auch für LOB-Anwendungen pushen. Bisher lag das Augenmerk vor allem auf den grafischen Spielereien die damit möglich sind. Das DataGrid und die weiteren neuen Controls sind dafür eine Notwendigkeit. Bleibt nur die Frage wieso dies nicht schon mit der letzten Version angegangen wurde. Gerade das Grid ist doch wirklich unverzichtbar.

 

Azure
Ein weiteres sehr grosses Thema war Azure. Cloud Computing wächst und wird immer wichtiger. Mittlerweile gibt es auch in Europa ein Datacenter. Somit müssen die Daten nicht mehr über Nordamerika geholt werden.

Die Präsentation “Learn how to build your first .NET application for the Cloud using Windows Azure” zeigte wie einfach das deployment in die Wolke ist. Eine Datenbank wird über einen gewöhnlichen Connection-String angesprochen. Die ganzen Zusatzservices wie die gespiegelten Datenbanken sind transparent dahinter “versteckt”. Für den Entwickler spielt es somit fast keine Rolle, worauf er sich nun verbindet.

 
MIX, Entity Framework und TFS
Sascha P. Corti steckte einem mit seiner Begeisterung auch diesmal wieder an. Seine Zusammenfassung der MIX zeigte viele Neuerungen bei Microsoft. Der IE 9 wird endlich SVG anzeigen können und rendert so schnell wie derzeit kein anderer Browser. Wird auch endlich Zeit mag da mancher denken. Gerade bei SVG musste man ja lange genug warten.

Das Pivot Control gibt es derzeit nur für WPF. Hoffentlich kommt das auch bald für Silverlight. Was auf der Demo wie eine Spielerei aussieht könnte enorm praktisch bei der Visualisierung grosser Datenmengen sein. Ebenfalls sehr interessant tönt oData. Dies ist quasi ein RSS für Daten. Nur können Daten damit auch erzeugt und verändert werden. Ich bin sehr gespannt wie sich dies entwickeln wird.

Auch beim Entity Framework gibt es in Version 4 zahlrieche Verbesserungen. Ein lazy loading ist nun ebenso möglich wie die Einflussnahme auf die generierten Entitäten. Mittels der Template Engine T4 kann man seine Entitäten nach Belieben umschreiben lassen.

Der Team Foundation Server wartet mit einer ganzen Reihe von Verbesserungen für das Requirements- und Projektmanagement auf. Der Vortrag von Neno Loje dazu war ebenfalls spitze. Die teils sehr zynischen Bemerkungen sorgten für einen würdigen Abschluss der TechDays.

 
Was enttäuschte
Auch wenn mir die TechDays zum grossen Teil gut gefielen, so gibt es auch Punkte und Vorträge, die mich enttäuscht haben.

“RIA Services: Geschäftsorientierte Anwendungen mit Silverlight 4″ von Laurent Bugnion war so eine Präsentation. Von einer Session die sich an Experten richtet erwarte ich deutlich mehr als das vorzeigen des Hands-On Lab von Microsoft zu Silverlight RIA Services. Auf dies lief die ganze Präsentation am Ende leider hinaus. Dabei hätte es zu RIA Services etliches zu erzählen gegeben: Kompatibilität zwischen Versionen, Upgrade-Szenarien oder wann man eigentlich auf RIA-Services setzen soll und wann nicht. Doch all dies fehlte.

Fürs nächste Jahr sollte sich Microsoft überlegen, ob man wirklich alle 5 parallelen Sessions immer gleichzeitig in die Mittagspause lassen will. Wenn 1100 Leute an der Essensausgabe warten kann sich jeder die Schlangen vorstellen. Es gibt sicher einige Sessions die nach 45 Minuten fertig wären und auch solche, die gerne noch 15 Minuten anhängen würden. Diese Staffelung zusammen mit einem Küchenteam das dann auch bereit ist würde das alles deutlich angehemer machen. Grössere Teller würden ebenfalls den ganze Essensdownload beschleunigen…

Das Abschiedsgeschenk muss ich hier ebenfalls erwähnen. Beim Verlassen am Mittwoch gab es für jeden Teilnehmer noch einen Seesack. Dieser war gut gefüllt mit all der Werbung, die man einem die letzten 2 Tage an den Ausstellerständen schon in die Hand gedrückt hat. Ich behielt nur die Broschüre zum Azure-Wettbewerb. Der Rest landete zusammen mit dem fürchterlich stinkenden Seesack in der runden Aktenablage. Das “Geschenk” sollte man vor der nächsten Veranstaltung bitte ebenfalls überdenken.

 
Fazit
Wenn man in den richtigen Sessions war, hat man sehr viel lernen können und die 2 Tage sind wie im Flug vergangen. Hat man aber Pech und sass in den “falschen” Sessions, waren die TechDays alles andere als interessant (Siehe das Fazit von Dani Meier).

Mir hat es gefallen und ich konnte viele neue Ideen mitnehmen. Fürs nächste Jahr sollte Microsoft aber über die Bücher. Sich für 520.– an einem Glücksspiel um die richtigen Sessions zu beteiligen kann ich meinem Chef nicht wirklich vermitteln. Zumal mit der Shape im Herbst eine Konkurrenzveranstaltung aus dem gleichen Haus ansteht.

Schlagworte: , ,

Buch-Rezension zu “WPF in Action”

15. März 2010 1 Kommentar

WPF in Action with Visual Studio 2008” von Arlen Feldman und Maxx Daymon erschien im November 2008 bei Manning. Nachdem mich das letzte Buch zu WPF schwer enttäuschte, hoffte ich hier auf die gewohnte Qualität von Manning. Und das Buch lohnt sich.

Das Buch passt sehr gut in die “In Action” Reihe. Auch hier ist der Praxisnutzen sehr gross und die Sprache sehr direkt. Die Autoren sind von WPF überzeugt und dies wird unmissverständlich klar gemacht. Das bedeutet aber keinesfalls, das WPF ohne Fehler ist. Auf Probleme, Unstimmigkeiten und fehlende Funktionen wird ebenso deutlich hingewiesen wie auf die guten Teile.

 
Der Weg zu Avalon
Die Einführung zeigt auf, wie weit die grundlegenden Konzepte für die Erstellung von GUIs zurück reichen. Entfernt man die einzelnen Abstraktionsschichten, arbeitet man auch heute noch mit einem Kern, der schon bei Windows 3.x verwendet wurde. WPF macht den lange fälligen Schnitt und nutzt die moderne Hardware, die heutzutage im Einsatz ist.

Die Entwicklung Web- und von Desktop-Applikationen unterscheidet sich deutlich. Beide Seiten haben Vor- und Nachteile, doch waren diese bisher strikt getrennt. Bis jetzt. WPF verwischt diese Grenze und ermöglicht ganz neue Ansätze.

Visual Studio ist die bevorzugte Entwicklungsumgebung für WPF. Kapitel 2 liefert eine Übersicht wo man was für WPF in Visual Studio 2008 findet. Wird irgendwo im Buch etwas neues vorgestellt, wird auch immer erklärt, wie man dies am besten löst. Sei dies der Designer, der Formeditor oder wo man die entsprechende Vorlage für die Klasse finden kann.

 
Ein Taschenrechner zur Einführung
Als erstes grosses Beispiel wird ein Taschenrechner erstellt. Jeder kennt die Funktionsweise und weiss, was ein Taschenrechner machen soll. So kann man sich auf die Implementierung mittels WPF konzentrieren. Das Beispiel ist einfach genug und bietet dennoch zahlreiche Möglichkeiten.

Wie sich die einzelnen Layout-Manager auswirken zeigt sich schön an den Knöpfen des Taschenrechners. Das StackPanel liefert eine ganz andere Darstellung als ein Canvas oder ein Grid. Die gewählte Tabelle die all die Manager auf einer Seite einander gegenüberstellt hilft sehr beim Verständnis.

Die Verwendung von Styles, Templates und Animationen lassen sich hier genauso gut erklären wie das Event-Handling. Die Knöpfe für die 9 Ziffern und 5 Operatoren sind zwar überschaubar, doch man sieht sehr schnell wie viel einfacher alles wird, wenn man Komponenten wiederverwendet.

 
Ein Desktop Wiki als anspruchsvollere Anwendung
Nachdem man mit dem Taschenrechner die grundlegenden Teile aufzeigen konnte, braucht es nun etwas anspruchsvolleres. Dazu wird im dritten Teil des Buches ein Desktop Wiki erstellt. Die vorgeschlagenen Ideen für die Planung der Applikation sind einfach, helfen einem aber sehr. Man sollte sich daher von der Skizze der Applikation nicht abschrecken lassen.

Das Wiki hat einen Bereich zur Eingabe von Text. Da wäre es natürlich schön, wenn man den Text formatieren könnte. Dies dient als Einstieg ins Thema Commands. Damit kann man das GUI auf Befehle wie “linksbündig Ausrichten” oder “Text zentrieren” reagieren. Auch Shortcuts lassen sich damit festlegen.

 
DataBinding: Eine Stärke von WPF
DataBinding kann auf verschiedene Arten erreicht werden. Um ein wenig damit zu spielen, wir das Wiki kurz zurück gestellt und ein Prozess Monitor eingeschoben. Die Klasse System.Diagnostics.Process hat eine Methode GetProcesses, die für dieses Beispiel als Datenquelle verwendet wird. Nach dem Einbinden der Klasse als Ressource kann man die Prozesse bereits anzeigen. Das sieht zwar noch nicht gut aus, aber ein DataTemplate mit den gewünschten Angaben ist schnell definiert.

DataBinding funktioniert auch mit XML. Als passendes Beispiel wird ein Viewer für Common Vulnerabilities and Exposures (kurz CVE) Meldungen erstellt. Die Meldungen liegen als XML-Datei vor und sollen nun mit geringem Aufwand im GUI gezeigt werden. Auch dies ist sehr einfach, wodurch man verschiedene Ansätze für einen Master-Detail Report besprechen kann.

Das Model-View-ViewModel (MVVM) Pattern wird ebenfalls kurz angesprochen. Dieser Teil hätte gerne noch ausführlicher sein können.

 
Von Grafiken und der letzten Meile
Auch hier wird zwischen 2D und 3D Grafiken unterschieden. Das Zeichnen von 2D Grafiken wird mittels Shapes, direct Rendering und Visuals gezeigt. Die einzelnen Methoden mögen für einfache Grafiken unnötig erscheinen. Sobald es aber komplexer wird, ist man froh für diese Auswahl.

Teil 4 behandelt Themen, die für die Bereitstellung der Applikation hilfreich sind oder neue Möglichkeiten eröffnen. Dies umfasst navigierbare Fenster, WPF im Webbrowser, ClickOnce zur Verteilung der Applikation, Drucken und Threading.

 
Ein Vergleich zu “Windows Presentation Foundation .NET WPF”
Im Gegensatz zu “Windows Presentation Foundation .NET WPF” sind die Fehler nicht der Rede wert. Hier mal ein D statt einem d in einer Tabelle von Optionen oder ein “oneway” zu viel im Satz. Referenzen sind korrekt, Bilder zeigen was sie zeigen sollen, Methoden heissen auch so und es gibt grosse, zusammenhängende Beispiele. MEAP hat auch hier geholfen, die Qualität während der Erstellung zu erhöhen. In der Sandbox kann man ein Errata rund 6 Monate vor dem Erscheinen des Buches finden, das noch sehr umfangreich war. Aber eben, 6 Monate bevor man das Buch verkauft hat, nicht danach.

Was die behandelten Themen betrifft, sind die Bücher vergleichbar. Es ist aber erstaunlich, wie viel mehr Inhalt WPF in Action liefert – dabei erst noch billiger ist und auch ein gratis E-Book ohne DRM beinhaltet.

 
Fazit
Der Schwerpunkt liegt im Vermitteln der Zusammenhänge und dem “Big Picture” und nicht in der Detailtiefe. Den Autoren gelingt es mittels zahlreicher Beispiele sehr gut einem WPF näher zu bringen. Man kann die Beispiele meistens einfach nachprogrammieren oder auf der Webseite zum Buch herunterladen. Diese sind einfach, aber bieten dennoch immer einen Nutzen. Die zahlreichen Informationen über Fehler und Unschönheiten bei WPF und wie man diese umgehen kann erleichtern die Arbeit. Der Praxisnutzen ist so ganz klar vorhanden.

Wer sich in WPF einarbeiten will, bekommt mit dem Buch eine sehr gute Einführung. Ich kann dies voller Überzeugung weiterempfehlen.

 
Zum Buch
WPF in Action with Visual Studio 2008” von Arlen Feldman und Maxx Daymon, 2008 Manning, ISBN 978-1-933-98822-1, 520 Seiten

Schlagworte: , ,

Buch-Rezension zu “Windows Presentation Foundation .NET WPF”

3. März 2010 1 Kommentar

Windows Presentation Foundation .NET WPF” von Jörg Wegener erschien im Dezember 2008 bei HANSER. Es behandelt die neue Technologie von Microsoft für die Entwicklung von Benutzeroberflächen in .Net. Die Buchrückseite preist das Buch als Leitfaden für den praktischen Einsatz. Im Mittelpunkt stehe weniger das “Was”, als vielmehr das “Wie”. Entsprechend freute ich mich auf ein hilfreiches Praxisbuch.

 
Der Inhalt
Die Einführung beschreibt die Hintergründe von WPF und wieso Microsoft eine neue Benutzerschnittstelle entwickelt hat. Klar und Verständlich werden die Vorteile der Vektorgrafik dargelegt. Das Kapitel zur Extensible Application Markup Language, kurz XAML, ist ebenfalls sehr gut gelungen. Mit wenig Worten gelingt es Wegener aufzuzeigen, wie die einzelnen Teile ineinander greifen.

Im Kapitel Layout werden die einzelnen Möglichkeiten zur Gliederung der Oberflächen vorgestellt. Hat man schon mit Java grafische Oberflächen entwickelt, kommen einem die Layouts sehr bekannt vor. Die Namen mögen stellenweise anders sein, die grundlegende Funktionsweise ist aber fast identisch.

Die Verwendung von Styles und Templates ist sehr mächtig und wird eingehend beschrieben. Das Thema Databinding findet ebenso Platz wie 2D-Grafiken und Multimedia. Ebenfalls angesprochen werden 3D-Grafik, Animationen, eigene Steuerelemente, Dokumente und Drucken. Es hat auch noch Platz für Mehrsprachigkeit und Browseranwendungen. Bei letzterem merkt man aber wie schnell die Zeit vergeht. Bei der Erstellung des Buches war Silverlight ein mit JavaScript angereichertes XAML. Entsprechend kurz ist der Abschnitt dazu. Heute käme man damit nicht mehr durch.

 
Die Schwächen
Die durchwegs positiven ersten Kapitel werden leider zu schnell durch die Fehler getrübt. Das fängt bei kleinen Buchstabendrehern an und geht dann richtig los. Nicht zum Text passende Grafiken (wie Abbildung 6.5) gehören zu den kleineren Fehlern. Zu oft ist die Nummer falsch oder die Grafik fehlt ganz. Das beschränkt sich leider nicht auf ein Kapitel, sondern verteilt sich quer durch das ganze Buch. Wenn gar auf falsche Kapitel verwiesen wird, stellt sich mir schon die Frage, ob das Buch vor dem Druck geprüft wurde.

Dagegen sind falsche Variablen in den Listings schon fast wieder Kleinigkeiten. (Als Beispiel: in 14.15 wird die Variable document initialisiert, aber doc verwendet.) Für ein Praxisbuch unhaltbar sind die vielen falsch betitelten Eigenschaftsfelder. Wenn man schon bei jeder sich bietenden Gelegenheit auf den grossen Praxisnutzen des Buches hinweisen muss, darf so etwas nicht in dem Umfang passieren. Das Errata ist schon jetzt viel zu gross und man findet problemlos noch weitere Fehler.

Neben diesen ganz klaren Fehlern gibt es noch etliche Punkte, über die man debattieren könnte. Ich fand die unzähligen Füllsätze und wiederholende Abschnitte mühsam. In Kapitel 9 bei Multimedia findet sich dieser Satz:

Eine Alternative wird aber am Ende des Kapitels beschrieben.

Dieses Ende des Kapitels folgt ein Hinweisblock später. Den Verweis streichen, den Hinweisblock an einer passenderen Stelle platzieren und man könnte gleich hier die Alternative beschreiben. Dies würde das Buch aber um 2 Seiten kürzen…

Das Kapitel zu 3D-Grafik wurde wohl nachträglich umgestellt. Sowohl bei Kamera wie auch bei Licht wird erwähnt das diese gleich wie 3D-Modelle hinzugefügt werden. Allerdings werden die 3D-Modelle erst ein Kapitel später vorgestellt. Ich würde da eher eine andere Abfolge der Beschreibung wählen oder einen Hinweis aufs entsprechende Kapitel liefern. So blättert man zurück und sucht das Kapitel. Hätte ja sein können das man es überlesen hat.

Das komplexe Figuren in 3D immer auf Dreiecke zurück zu führen sind, wird ebenfalls immer wieder erwähnt. Ein entsprechendes Beispiel kommt aber ebenfalls erst bei 3D-Modellen hinterher. Bis das dann endlich als Grafik gezeigt wird, hat man es 3 mal in Textform erklärt. Ist dies wirklich nötig?

Bei der Mehrsprachigkeit zeigt man in Abbildung 15.1 die unterschiedliche Darstellung von arabischem Text und Zahlen, je nach Einstellung des umgebenden Controls. Allerdings wird man es per Sprachumstellung nie auf diese Ausgabe bekommen. Die beiden Summanden wurden in der 2. Zeile vertauscht. Ein weiterer kleiner Fehler, den es nicht gebraucht hätte.

 
Gesucht: Beispiel mit Praxisbezug
Was ich bei dem Buch aber am meisten vermisse, ist ein grösseres Beispiel mit Bezug zur Praxis. Es gibt zwar unzählige kleine Beispiele, aber die haben alle die Grössenordnung von 2-3 Controls. Unzählige kleinste Teile werden beschrieben und erklärt. Es fehlt aber der Schritt, an dem man diese nimmt und zu einer Anwendung kombiniert.

Ansätze davon sind sogar vorhanden. Es wird häufig ein Customer-Objekt dargestellt. Statt immer wieder zu erwähnen das man auf das nicht weiter eingeht, hätte man eine kleine Kundenverwaltung aufbauen können. XML zur Datenspeicherung wird bei Databinding erklärt, ebenso hat man dort schon das GUI um den Kunden anzuzeigen. Ein klein wenig mehr Aufwand und man hätte den so oft gepriesenen Praxisnutzen. So aber hat man einen Haufen Einzelteile, der nicht wirklich einen Mehrwert gegenüber der Dokumentation im MSDN bietet.

 
Fazit
Zu viele Fehler, zu viel “Füllmaterial” und zu wenig Praxisnutzen. Die Ansätze sind gut, die ersten Kapitel wie erwähnt sehr gelungen. Doch sobald die spannenden Teile von WPF behandelt werden, geht es qualitätsmässig nur noch hinunter. Leider.

Natürlich bin ich von Manning und der “In Action”-Serie enorm verwöhnt. Aber dennoch: Mir genügt es nicht, dass der Text in besserem Deutsch geschrieben wurde als es die automatische Übersetzung von MSDN hin bekommt. Zumal es MSDN schafft, die Felder korrekt zu benennen und praktische Beispiele zu liefern.

Die Grundlage für ein gutes Buch wäre an sich vorhanden. Mit ein wenig mehr Aufwand, besserer Qualitätskontrolle und grösseren Praxisbeispielen könnte man aus dem Buch sehr viel machen. Vielleicht nutzt man die Chance beim bald erscheinenden WPF 4.

Das wäre, könnte und sollte kann ich aber hier nicht berücksichtigen. Es ist nun mal nicht da und das was da ist, ist kein gutes Buch. Ich bin sehr enttäuscht und werde vor allem die vielen Fehler in Erinnerung behalten. In der aktuellen Form ist es für mich das Geld schlicht nicht wert. Auf das Buch dann auch noch den Stempel “Kompetenz gewinnt” zu setzen grenzt schon an Frechheit.

 
Zum Buch
Windows Presentation Foundation .NET WPF – Grafische Benutzerschnittstellen mit .Net 3.5” von Jörg Wegener, 2008 HANSER, ISBN 978-3-446-41041-1, 566 Seiten

Schlagworte: ,

Silverlight 4 Hands-On Lab

17. Januar 2010 3 Kommentare

Am 15. Januar besuchte ich das Hands-On Lab zu Silverlight 4 bei Microsoft in Wallisellen. Bisher habe ich nur ein wenig mit den Beispielen zu Silverlight experimentiert. Hier mal ein wenig mit den Komponenten gespielt, da ein wenig Code angepasst. Meine Erfahrungen mit Silverlight waren somit bisher vor allem theoretischer Art. Das Hands-On Lab war daher eine gute Gelegenheit, endlich mehr zu machen als nur ein wenig zu Spielen.

 
Was ist ein Hands-On Lab?
Bei einem Hands-On Lab nimmt man sein eigenes Laptop mit und kann selber die vorgegebenen Beispiele ausführen. Beim Lab zu Silverlight war die Einführung sehr kurz, dafür die Aufgabe umso grösser. Auf 104 Seiten wurde ausführlich beschrieben, wie man eine Silverlight Applikation mit WCF RIA Services baut. Die Applikation nutzt die Nordwind Demo-DB und zeigt die Bestellungen an. Ein Sub-Report ermöglicht die Bearbeitung von Details der ausgewählten Bestellung. Neben dieser Grundfunktionalität gibt es einige kleine Helfer wie die Validierung der Eingabe, einen Busy Indikator beim Laden der Daten, eine Autocomplete-Box für die Suche nach Städten und die Druckfunktion.

Kurzum: Die Applikation des Hands-On Lab ermöglicht einem komprimiert und in sich stimmig die wohl am häufigsten benötigte Funktionalität auszuprobieren.

 
Derzeit noch alles Beta
Sowohl Silverlight 4 wie auch Visual Studio 2010 sind erst in Betaversionen erhältlich. Die finalen Versionen sollten wohl in 3-6 Monaten erscheinen. Mich erstaunte die Geschwindigkeit von Visual Studio. Von 2008 ist man sich einen langsamen Start gewöhnt. 2010 dagegen startet sehr schnell.
In der Beta muss man noch bei fast jeder Aktion im Server-Teil ein rebuild all durchführen. Das lässt sich zwar einfach von Hand machen, doch wenn man dies vergisst, bekommt man nur noch Fehlermeldungen zu Gesicht. Ein automatisches nachziehen der generierten Proxy-Klassen wird die Entwicklung nochmals deutlich angenehmer machen. Zudem stürzt Visual Studio 2010 in der Beta 2 zu häufig ab. 1 Absturz pro 45 Minuten ist auch bei dem schnellen Start einfach noch zu viel. Für eine Beta-Version ist der Gesamteindruck aber schon sehr gut.

 
Fazit
Ich fand das Lab eine gute Erfahrung. Man kann selber im eigenen Tempo arbeiten und stösst man auf Probleme, hat man sehr kompetente Personen im Raum, die einem helfen können. Bei Silverlight gefiel mir wie einfach und vor allem schnell man ein Grid anzeigen konnte. Kein herumschlagen mit Requests, Postbacks oder Session – einfach nur hineinziehen, verbinden und es lief.

Auch die einfache Verwendung von RIA Services hat mich positiv erstaunt. Die Objekte werden zum DB-Schema passend angelegt und man kann damit loslegen. Kein Aufbau von Sessions und keine Proxy-Errors. Werden die Daten im Subreport geändert, wird erst validiert und dann gespeichert. Hat man es dann gespeichert, bleibt es dies auch. Und vor allem wird nicht schon gespeichert, wenn der Benutzer nur etwas im Formular ändert. Somit fällt auch viel von dem Overhead weg, der mich derzeit bei der WebForms-Entwicklung stört.

Silverlight ist definitiv eine sehr interessante Technologie. Und mit Version 4 gibt es einen grossen Schritt nach vorne.

Schlagworte: ,
Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.

Schließe dich 296 Followern an