Juli - Dezember 2006
...und einen guten Rutsch in's neue Jahr!
Auf dem Novembertreffen von Bonn-to-Code.Net mit insgesamt 20 Teilnehmern lag der Schwerpunkt beim Thema Visual Studio Extensibility.
Zunächst stellte Ralf Karle jedoch ein Tool mit dem Code-Namen "SandCastle" von Microsoft vor, das zur Zeit als monatlich erscheinende Community Technical Previews (CTPs) verfügbar ist. SandCastle lässt sich kurz gesagt als "NDoc-Ersatz für .NET 2.0" beschreiben, wobei es (zur Zeit) den gleichen Komfort wie NDoc nur dann bietet, wenn es mit dem GUI-Aufsatz SandCastleBuilder von Eric Woodruff kombiniert wird, den Ralf auch gleich demonstrierte.
Der Hauptvortrag von Jens Schaller und Roland Weigelt stellte die Möglichkeiten vor, die Macros, Add-ins und VSPackages für die Erweiterung von Visual Studio 2005 bieten. Sie konnten dabei auf ihre Erfahrungen bei der Entwicklung der Add-ins SonicFileFinder und GhostDoc zurückgreifen und auf Fallstricke hinweisen, die sich z.B. durch internationale Versionen von Windows und/oder Visual Studio ergeben.
Zu gewinnen gab es auch wieder etwas, u.a. für Lizenzen der Tools Resharper und dotTrace der Firma JetBrains sowie ein Buch zu SQL Server 2005. Wieder war neben Glück bei der Verlosung auch etwas Grips bei einem kleinen Programmierrätsel gefragt.
Als echter Hingucker entpuppte sich der kleine ferngesteuerte Hubschrauber von Thomas Oppenhoff, der im Vortragsraum einige Runden flog und bei vielen Anwesenden ein sofortiges "Cool, muss ich unbedingt haben"-Gefühl erzeugte.
Wegen der Weihnachtszeit und dem für viele damit verbundenen Stress findet das nächste Treffen erst im Januar statt, eine genaue Terminankündigung folgt noch.
Das Oktobertreffen mit ingesamt 21 Teilnehmern hatte dieses Mal neben dem Hauptvortrag zwei neue Elemente zu bieten, nämlich die Vorstellung einer Community Website sowie ein Programmierrätsel, bei dem es natürlich auch etwas zu gewinnen gab.
Jan Welker stellte seine Website http://dotnet-snippets.de vor, auf der eine ständig wachsende Zahl Code-Snippets zu den verschiedensten Themen zu finden ist. In der Zeit vom 15.10.2006 bis 15.12.2006 läuft ein Wettbewerb, bei dem die besten in diesem Zeitraum eingereichten Snippets prämiert werden.
Der erste Platz erhält eine Lizenz für die deutsche Version von Windows Vista Ultimate, der zweite Platz ein attraktives Buchpaket und der dritte Platz ein Jahresabo einer Entwicklerzeitschrift - mehr dazu hier.
Stefan Wittke bestritt den Hauptvortrag des Abends, das Thema war die Windows Presentation Foundation. Nach einer kurzen Einführung ging er auf das Tool "Expression Interactive Designer" und die Visual Studio Erweiterungen für den WPF-Designer (Codename "Cider") ein.
Der "Expression Interactive Designer" soll von der Zielsetzung her auch von Screen-Designern bedienbar sein, während der WPF-Designer für Visual Studio (der Teil des nächsten Visual Studio Version, Codename "Orcas" sein wird) sich klar an Entwickler richtet.
Beide Tools befinden sich noch in der Entwicklung (in unterschiedlichen Reifegraden) und dass die Verwendung der Vorschau-Versionen (Community Technical Previews, kurz CTPs) nicht immer einfach ist, davon wusste Stefan auch einiges zu berichten.
Nach der Verlosung von je einer Lizenz der Tools Resharper und dotTrace der Firma JetBrains, bei der eher Glück gefragt war, wurden die grauen Zellen gefordert:
Stefan Lange stellte ein kleines Programm vor, das nichts weiter tat als den gesamten Bildschirm mit der Struktur einer Rauhfasertapete zu versehen - die Windows-GUI blieb dabei weiter mit Maus und Tastatur bedienbar.
Stellte sich nun die Frage: Wie programmiert man so etwas mit vertretbarem Aufwand in C#?
Ralf Karle erriet als erster den Ansatz (halbtransparentes, rahmenloses Fenster mit einer Hintergrundbitmap, ständig im Vordergrund) und gewann dafür das Buch "O'Reillys Tierleben". Der zweite Teil des Problems, nämlich wieso Maus und Tastatur weiterhin funktionierten, konnte hingegen nicht gelöst werden, sodass der Preis (ein Buch zum SQL-Server 2005) für das nächste Treffen aufgehoben wird.
Das September-Treffen fiel dieses Mal mit dem letzten Tag der Großkirmes "Pützchens Markt" zusammen. Trotz der Aussicht auf Verkehrchaos und Parkplatznot (das Chaos hielt sich in Grenzen, und die Parkplätze wurden bereits frühmorgens reserviert) fanden sich insgesamt 17 Teilnehmer in den Räumen der Comma Soft AG auf der Pützchens Chaussee ein.
Sascha Lehmann gab eine Einführung in die CLR-Integration in SQL Server 2005. Der Vortrag war dabei auch für Nicht-Datenbankler interessant, um einen plastischen Eindruck vom "Wie" und "Warum" zu gewinnen. In einigen kleinen Demos zeigte sich recht schnell, dass Managed Code in einer Datenbank ein mächtiges Werkzeug darstellt, gleichzeitig aber (glücklicherweise) durch sinnvollen Einsatz von Sprachelementen wie Attributen verständlich und nachvollziehbar bleibt.
Stefan Lieser stellte im zweiten Vortrag des Abends das Visual Studio Add-in "ReSharper" der Firma JetBrains vor, mit dem er schon seit längerer Zeit täglich arbeitet. Anhand von diversen Code-Beispielen demonstrierte er die vielen Features des Add-ins, von denen einige auf den ersten Blick auch in Visual Studio 2005 "out-of-the-box" enthalten sind. Die Unterschiede zeigten sich jedoch bald im Detail; die Refactoring-Funktionen von ReSharper sind deutlich umfassender als die von Visual Studio 2005, und die "Live Templates" lassen die Code Snippets ziemlich dumm aussehen.
Im Anschluss an den Vortrag wurden je eine Lizenz für ReSharper und dotTrace verlost, die beide dankenswerterweise von der Firma JetBrains zur Verfügung gestellt wurden. Weitere Lizenzen der beiden Tools werden bei den nächsten beiden User-Treffen verlost. Mitgliedern von Bonn-to-Code.Net bietet die Firma JetBrains übrigens einen Rabatt von 20% beim Kauf von ReSharper. Wobei sich die "Mitgliedschaft" dadurch definiert, dass man in der Mailingliste ist, in die man sich bei den User-Treffen eintragen kann. Weitere Infos per Mail an die Kontakt-Adresse.
Der gemütliche Teil des Abends verlief dieses Mal etwas anders als sonst gewohnt, da im Café Clear wegen Pützchens Markt die Küche kalt blieb. Rund die Hälfte der Teilnehmer blieb noch bis 22:00, um sich vom Dach des Comma Soft Gebäudes bei bester Sicht auf das Geschehen das große Abschlussfeuerwerk von Pützchens Markt anzuschauen.
Beim gestrigen September-Treffen der DNUG Köln lag der Schwerpunkt im Bereich ASP.Net. Stefan Lange gab einen Einblick in die Entwicklung von ASP.Net Controls und stellte verschiedene Ansätze (UserControls, Ableitung und Spezialisierung von existierenden Controls, Entwicklung vollständig selbst entwickelte Controls) vor.
Der ursprünglich geplante zweite Vortrag über Unit-Testing musste leider verschoben werden, Roland Weigelt sprang mit einer kurzfristig improvisierten Demo von GhostDoc ein.
Sowohl bei den Vortragenden als auch beim Publikum gab es mal wieder große Überschneidungen zwischen DNUG Köln und Bonn-to-Code.Net; so gibt es auch für die meisten der insgesamt 15 Teilnehmer bereits am nächsten Dienstag (12.9.) beim September-Treffen von Bonn-to-Code.Net ein Wiedersehen.
Die Temperaturen sinken, die Teilnehmerzahl steigt - das August-Treffen stellte mit insgesamt 28 Teilnehmern eine neue Bestmarke auf.
Stefan Lieser hielt den Hauptvortrag des Abends über das Thema Object-Relational-Mapping. Nach einer Einführung in die grundlegenden Konzepte zeigte er in Beispielen die Verwendung von NHibernate und gab einen kurzen Ausblick auf LINQ. Die ausführliche Fragerunde nach dem Vortrag zeugte von regem Interesse an OR-Mapping und seinen Vor- und Nachteilen.
Ralf Karle steuerte einen QuickTip zum Thema Break- und Tracepoints bei. Eigentlich kennt jeder seit Jahren die netten roten Punkte neben dem Quellcode und die Taste F9 ist längst in Fleisch und Blut übergegangen. Aber viele waren dann doch erstaunt, welche interessanten Funktionen sich seit Visual Studio 2005 im Kontextmenü verstecken.
Roland Weigelt sprach im letzten Vortrag des Abends über Item Templates für Visual Studio 2005. Neben den Grundlagen ging es um die verschiedenen Möglichkeiten der Installation sowie um fortgeschrittene Themen wie die Implementation von Wizards (Aufruf von .NET Code beim Erzeugen einer neuen Datei).
Im organisatorischen Teil folgte eine Verlosung von Lizenzen der Produkte Genome Express (TechTalk) und SmartInspect (GurockSoftware), an dieser Stelle ein herzlicher Dank an die beiden Firmen für die Bereitstellung der Preise. Wie üblich endete der Abend im Café Clear - angesichts des etwas ungemütlichen Wetters dieses Mal allerdings nicht im Freien.
Ein ganzer Tag voll mit Vorträgen ist schon unter normalen Bedingungen nicht unbedingt ein Zuckerschlecken, aber auf der gestrigen NRW06 wurde die Belastungsfähigkeit der Zuhörer auf die Probe gestellt. Es war ziemlich warm in den Veranstaltungsräumen und man war froh über jeden Lufthauch.
Trotzdem war es im Endeffekt ein netter Tag. Trotz einiger Programmänderungen in letzter Minute war in den vier parallelen Tracks eigentlich immer ein interessantes Thema zu finden. Die beiden User-Gruppen Bonn-to-Code.Net und DNUG Köln waren zahlreich vertreten, und nach Ende des letzten Vortrages saß man noch lange im Freien zusammen.
Das Juli-Treffen von Bonn-to-Code.Net lockte trotz Urlaubszeit und traumhaften Wetter immerhin 17 Teilnehmer in die Räume der Comma Soft AG. Vielleicht hatte ja der dezente Hinweis in der Mailingliste auf die gut funktionierende Klimaanlage den einen oder anderen angelockt... Schön war auch, dass wieder drei neue Interessenten begrüßt werden konnten.
Das Programm war mal wieder voll gepackt: Ralf Karle gab in dem Hauptvortrag des Abends eine Einführung in MSBuild, das eigentlich jeder irgendwie benutzt, ohne allzuviel davon mitzubekommen - nämlich bei jedem Kompiliervorgang in Visual Studio 2005.
Dass man mit MSBuild mehr anstellen kann, als einfach nur Code zu übersetzen (was genau genommen MSBuild ja auch gar nicht macht, diese Aufgabe übernimmt schließlich der Compiler, der von MSBuild nur angesteutert wird) wurde schnell klar. Der eine oder andere Zuhörer wird jedenfalls beim Automatisieren von Abläufen in Zukunft sicherlich eher mal an MSBuild denken.
Moritz Pfennig sprach in seinem Vortrag über das Thema Anwendungs- und benutzerspezifische Einstellungen in Windows Forms Programmen. Mit den Windows Forms Application Settings hat sich in .NET 2.0 da einiges getan. Bestimmte einfache Anwendungsfälle sind im Forms Designer quasi ohne Code zu bewältigen, gleichzeitig ist der Ansatz flexibel genug, bei Bedarf durch Entwicklung eigener SettingsProvider den Ort und die Form der Ablage selbst bestimmen zu können.
Der letzte Vortrag stand wieder im Zeichen der "QuickTips". Jens Schaller stellte zunächst ein Makro zum Kollabieren der Ordner im Solution Explorer vor und gab danach eine Demonstration einer frühen Version seines Add-ins "SonicFileFinder", an dessen Fertigstellung er gerade arbeitet. Das Add-in ermöglicht eine sehr schnelle und bequeme Suche von Dateien in Visual Studio Solutions und kann sowohl als Tool-Window als auch als Popup-Dialog betrieben werden. Die Reaktion der Zuhörer im Raum war jedenfalls eindeutig: "Haben wollen". Der "SonicFileFinder" befindet sich bis Ende des Monats in einer geschlossenen Testphase, dann ist ein erstes öffentliches Release geplant.
Abgeschlossen wurde der Abend schließlich durch eine gemütliche Runde im Café Clear im Innenhof. Mittlerweile waren die Temperaturen auf sehr angenehme Werte gesunken, so dass die letzten "Bonn-to-Coder" sich erst um kurz nach halb zwölf auf den Weg nach Hause machten.
Nachdem sich Deutschland nicht länger im Ausnahmezustand befindet, kann man ja auch langsam mal wieder in an .NET denken. Das Juli-Treffen von Bonn-to-Code.Net am 18. Juli um 19:00 beschäftigt sich mit MSBuild, Windows Forms Application Settings und Thema Visual Studio (weitere Infos hier).
Übrigens keine Sorge, dass es bei warmen Wetter im Veranstaltungsraum (immerhin direkt unter dem Dach) zu warm werden könnte, der Raum ist mit einer Klimaanlage ausgestattet.