Peter Bucher Ralf Westphal

Blog

Nutze den Augenblick
und teile der Welt mit, was Du zu sagen hast.

.NET UG Konstanz-Kreuzlingen: .NET 4 und Visual Studio 2010

Donnerstag, 11. März 2010, 01:38 Uhr
Permalink | Kommentare (0) | Kommentare als RSSRSS

Gestern Abend war ich bei der .NET Usergroup Konstanz-Kreuzlingen bereits zum zweiten Mal zu Gast – das erste Treffen in neuen Räumlichkeiten, das zudem von einem – zumindest teilweise – neuen Team organisiert wurde.

Als Thema des Abends hatten wir im Vorfeld

.NET 4 und Visual Studio 2010

ausgewählt- also das gleiche Thema wie bei meinem Besuch bei der .NET Usergroup Nordwestschweiz vor rund einer Woche. Auch gestern habe ich deshalb die aus meiner Sicht wichtigsten Aspekte herausgegriffen und in einem kompakten, aber detaillierten Überblick zusammengefasst:

  • Visual Studio 2010 als Editor
  • Visual Studio 2010 als Plattform
  • CLR 4.0
  • Visual C# 4.0
  • Visual F#
  • Parallelprogrammierung
  • Managed Extensibility Framework
  • Historical Debugging

Auch gestern bin ich neben der reinen Vorstellung dieser Aspekte auch auf potenzielle Nachteile eingegangen, insbesondere C# 4.0 bietet doch Anlass für einige Kritikpunkte.

Eingebettet in all dies habe ich auch zahlreiche Detailverbesserungen angesprochen – von Verbesserungen in der grafischen Oberfläche von Visual Studio bis hin zu verbesserten Best Practices.

Auch eine kurze Präsentation meines derzeit favorisierten Werkzeugs .NET Reflector Pro durfte zu Anfang nicht fehlen.

Im Anschluss an den rund 90-minütigen Vortrag gab es noch interessante Gespräche, so dass mir auch der gestrige Abend wieder sehr viel Spaß gemacht hat – und den Teilnehmern augenscheinlich ebenfalls.

Die Planung für die nächsten Treffen der .NET Usergroup Konstanz-Kreuzlingen ist zwar bereits in trockenen Tüchern, aber ich bin mir dennoch sehr sicher, dass es nicht mein letzter Besuch bei dieser Usergroup war.

.NET Usergroup Nordwestschweiz: .NET 4 und Visual Studio 2010

Dienstag, 2. März 2010, 00:01 Uhr
Permalink | Kommentare (0) | Kommentare als RSSRSS

Am heutigen Abend fand das initiale Treffen der .NET Usergroup Nordwestschweiz in Basel in den Räumen der YooApplications AG statt – und ich hatte die Ehre, von den beiden Veranstaltern Laurin Stoll und David Richter als Referent eingeladen worden zu sein.

Als Thema des Abends hatten wir im Vorfeld

.NET 4 und Visual Studio 2010

ausgewählt. Auf Grund der Vielzahl an Neuerungen habe ich deshalb die aus meiner Sicht wichtigsten Aspekte herausgegriffen und in einem kompakten, aber detaillierten Überblick zusammengefasst:

  • Visual Studio 2010 als Editor
  • Visual Studio 2010 als Plattform
  • CLR 4.0
  • Visual C# 4.0
  • Visual F#
  • Parallelprogrammierung
  • Managed Extensibility Framework
  • Historical Debugging
  • Code Contracts

Neben der reinen Vorstellung bin ich dabei auch auf potenzielle Nachteile eingegangen, quasi ein wenig abseits der Hochglanzfolien. Außerdem habe ich viele Kleinigkeiten und Detailverbesserungen angesprochen – von Verbesserungen in der grafischen Oberfläche von Visual Studio bis hin zu verbesserten Best Practices.

Auch eine kurze Präsentation meines derzeit favorisierten Werkzeugs .NET Reflector Pro durfte zu Anfang nicht fehlen.

Im Anschluss an den rund 90-minütigen Vortrag haben sich mit den Teilnehmern noch zahlreiche interessante Gespräche ergeben, so dass mir der Abend ausgesprochen viel Spaß gemacht hat, und ich mich schon sehr auf das nächste Mal freue.

Danken möchte ich den beiden Veranstaltern dabei nicht nur für die Einladung, sondern auch für die viele Mühe, die sie sich gemacht haben: Man merkt ihnen an, dass sie sehr motiviert sind und ihnen das Thema Community sehr am Herzen liegt.

Insgesamt bleibt mir damit nur noch, der .NET Usergroup Nordwestschweiz viel Erfolg für die Zukunft zu wünschen!

guide to C# Live! 2009

Montag, 30. März 2009, 22:04 Uhr
Permalink | Kommentare (0) | Kommentare als RSSRSS

Vom 30. Mai bis zum 1. Juni 2009 findet wieder guide to C# Live! statt – dieses Mal mit dem Fokus auf dem Thema Softwarequalität.

Die Veranstaltung findet in Pforzheim statt, die Teilnahme ist auf 25 Personen begrenzt. Dabei kostet die Teilnahme regulär 360 Euro, beziehungsweise 60 Euro für Schüler und Studenten, sofern ein entsprechender gültiger Nachweis erbracht wird, jeweils zuzüglich der Kosten für An- und Abreise, Übernachtung und Verpflegung.

Nachdem guide to C# Live! im vergangenen Jahr zwei Mal von Golo Roden alleine durchgeführt wurde, sind dieses Mal drei Referenten vertreten, die durch ihr Engagement in der Community bekannt sind:

Seit Januar 2009 bieten sie zudem unter ihrer gemeinsamen Marke architeXis qualitativ hochwertiges Training und Consulting zu C#, .NET und verwandten Technologien wie beispielsweise SQL Server und IIS an.

Nähere Informationen sowie die Möglichkeit zur Anmeldung finden sich ab sofort auf der Webseite von guide to C# Live!.

Post von Vivien

Freitag, 30. Januar 2009, 11:01 Uhr
Permalink | Kommentare (4) | Kommentare als RSSRSS

Im Briefkasten fand ich heute Morgen eine Postkarte von Vivien. Das merkwürdige ist nur - ich kenne keine Vivien. Obwohl die Karte an mich adressiert war, war ich über den Text eher irritiert:

Liebe Angie,

ich habe viel über die Dinge und Geschehnisse des letzten Jahres nachgedacht, und dabei auch sehr viel an Dich und die Anderen, wie ihr mich bei den schwierigen Rätseln unterstützt habt. Wahrscheinlich ist mir deshalb die Idee zu SunnySideLane.com gekommen. Lass dich überraschen.

Sonnige Grüße,

Vivien

Meine erste Vermutung war, dass die Karte von einem ehemaligen Kollegen stammt, zu dem diese Art von Humor passen würde, allerdings verwarf ich diese Idee nach einem kurzen Blick auf die Webseite Sunny Side of the Lane: Offensichtlich hat Microsoft irgendetwas mit der ganzen Sache zu tun.

Ein unauffällig auf der Postkarte angebrachter Buchstabencode entpuppte sich als Invitationcode, mit dem ich in der Lage war, mich einem Rätsel zu stellen. Genauer gesagt, einem Bilderrätsel, in dem das Bild in einzelne Teile zerschnitten und durcheinandergewürfelt wurde. Die passende Frage dazu war:

Wie heißt die Autorin des Blogs?

Eine Weile, etwas Fummelei und eine Suche bei Google später habe ich das gesuchte Blog dann auch gefunden, und nach einer weiteren Weile herausbekommen, wie die gesuchte Autorin heißt. Die von mir auf der Webseite dann eingegebene Lösung ist korrekt, nun geht es mit einem weiteren Rätsel weiter, das im Moment aber noch nicht zugreifbar ist, sondern später erst freigeschaltet wird.

Wer weiß, was sich dahinter verbirgt? Auf jeden Fall ist und bleibt die Sache spannend ...

guide to C# Live! 2008 Winter Edition

Sonntag, 9. November 2008, 21:09 Uhr
Permalink | Kommentare (1) | Kommentare als RSSRSS

Vom 7. bis zum 9. November 2008 fand zum zweiten Mal guide to C# Live! statt, eine Veranstaltung speziell für die Community mit Themen zu .NET und verwandten Technologien. Nachdem das Thema der ersten Veranstaltung im Februar dieses Jahres die Sprache C# 3.0 gewesen war, lag der Schwerpunkt nun auf Architektur, ergänzt um LINQ und WPF.

Der erste Tag widmete sich der Frage, was überhaupt unter Architektur zu verstehen ist, und warum die Beschäftigung mit Architektur für die Entwicklung von Software relevant ist. Ergänzt wurde dies durch die Diskussion einiger theoretischer Konzepte und der Präsentation geeigneter Maßnahmen zur Erreichung einer lose gekoppelten Architektur so wohl auf Klassen- wie auch auf Komponentenebene.

Thema des zweiten Tages war LINQ, wobei die grundlegende Idee zunächst an Hand von LINQ to Objects erläutert wurde. Neben den Standardabfrageoperatoren und den für LINQ notwendigen Erweiterungen von C# 3.0 wurden danach auch Kernkonzepte von LINQ wie beispielsweise die verzögerte Ausführung vorgestellt.

Außerdem wurden mit LINQ to XML und LINQ to SQL zwei weitere Varianten von LINQ diskutiert, wobei auch die jeweiligen Besonderheiten wie beispielsweise Transaktionen und Locking besprochen wurden. Abgerundet wurde der zweite Tag am Abend durch eine zusätzliche und ausgesprochen interessante Einführung von Hagen Siegel in das Thema WCF.

Am dritten Tag stand WPF im Mittelpunkt, wobei auch hier wiederum zunächst die grundlegenden Konzepte und die Sprache XAML besprochen wurden, bevor die verschiedenen Steuerelemente und Layoutcontainer vorgestellt wurden. Insbesondere auf die umfangreichen Möglichkeiten, die in WPF mit den Layoutcontainern zur Verfügung stehen, wurde ausführlich eingegangen.

Insgesamt haben die drei Tage sehr viel Spaß gemacht. Vor allem der zweite Abend, an dem sich zwischen den Teilnehmern sehr interessante Gespräche und Diskussionen ergeben haben, hat viel zu der sehr angenehmen Atmosphäre beigetragen. Zu guter letzt möchte ich mich noch einmal bei allen Teilnehmern für ihre Aufmerksamkeit und ihr Interesse bedanken. Es war sehr schön und interessant, einige von Euch wieder zu sehen, beziehungsweise die anderen neu kennen zu lernen.

In diesem Sinne: Auf ein neues guide to C# Live! im Jahr 2009 ...

Was ist die Aufgabe eines CMS?

Freitag, 10. Oktober 2008, 16:04 Uhr
Permalink | Kommentare (5) | Kommentare als RSSRSS

Vor einigen Tagen habe ich einen Blogeintrag über Umbraco, ein CMS auf Basis von ASP.NET, geschrieben. Seither bin ich von einigen Personen gefragt worden, warum ich ausgerechnet Umbraco als verhältnismäßig unbekanntes CMS präferiere, und was aus meiner Sicht gegen den Einsatz eines deutlich bekannteren Systems wie beispielsweise DotNetNuke spricht.

Das Interessante an dieser Frage ist, dass ich sie nicht aus dem Stegreif beantworten konnte, sondern lediglich auf mein Gefühl verweisen konnte, dass Umbraco das bessere System sei. Nachdem mich diese Frage nun in den vergangenen Tagen immer wieder beschäftigt hat, bin ich inzwischen zu einer Antwort gekommen, die ich rational begründen kann.

Zunächst muss jedoch eine andere Frage beantwortet werden, nämlich, was die grundlegende Aufgabe eines CMS ist. Vertraut man auf Wikipedia, so lautet die Antwort:

Ein Content-Management-System (kurz CMS [...]) ist ein Anwendungsprogramm, das die gemeinschaftliche Erstellung und Bearbeitung des Inhalts von Text- und Multimediadokumenten ermöglicht und organisiert, [...] Der darzustellende Informationsgehalt wird in diesem Zusammenhang als Content (Inhalt) bezeichnet.

Relevant ist dabei meiner Meinung nach insbesondere weniger das, was in dieser Definition genannt wird, als vielmehr das, was in dieser Definition nicht genannt wird. Folgt man nämlich strikt dieser Definition eines CMS, so beschäftigt sich ein CMS ausschließlich mit dem reinen Inhalt, aber nicht mit der grafischen Repräsentation oder den zugehörigen Workflows - genau dies besagt schließlich auch der Begriff CMS.

Die gängigen Content Management Systeme am Markt erfüllen diese Definition jedoch nicht. Zwar ist es mit allen Systemen möglich, Content zu verwalten, aber die meisten Systeme liefern darüber hinaus noch eine Unmenge an Modulen mit, die für die grafische Repräsentation oder für Workflows zuständig sind. Sobald man versucht, sich außerhalb der Grenzen dieser Module zu bewegen, wird der Weg sofort steinig und häufig auch unnötig schwer.

An dieser Stelle weicht Umbraco ganz eklatant von dem für Content Management Systeme üblichen Weg ab: Die grafische Darstellung obliegt vollständig dem Designer der Lösung, insbesondere verändert Umbraco die vorgegebene Darstellung in keiner Weise. Das System beschränkt sich darauf, seine Kernaufgabe zu erfüllen, nämlich das Verwalten des Contents - aber nicht mehr.

Diese strikte Trennung von Content und Darstellung, die sich bei Umbraco direkt im System findet, hat zur Folge, dass es zwar zunächst ein wenig aufwändiger ist, eine Lösung zu erstellen, dass der eigenen Kreativität aber zugleich auch keinerlei Schranken auferlegt werden. Und genau dieser Fakt ist es, was mir an Umbraco wesentlich besser gefällt als an den meisten anderen Content Management Systemen: Die Konzentration auf das Wesentliche.

Ein CMS auf Basis von ASP.NET

Samstag, 4. Oktober 2008, 12:43 Uhr
Permalink | Kommentare (1) | Kommentare als RSSRSS

Schon seit geraumer Zeit bin ich auf der Suche nach einem Content Management System (CMS), das auf ASP.NET basiert, kostenfrei und idealerweise Opensource wie auch leistungsfähig und skalierbar ist. Zugleich darf die Einarbeitung in ein entsprechendes System aber auch nicht zu aufwändig und kompliziert sein, schließlich geht es mir ausschließlich um den privaten und KMU-Einsatz.

Aus verschiedenen Gründen scheiden die Platzhirsche der Branche leider aus, allen voran AxCMS.net der Firma Axinom, das zwar so wohl kostenfrei wie auch ausgesprochen leistungsfähig ist, für das genannte Einsatzgebiet aber leider zu umfangreich ist, wodurch der notwendige Einarbeitungs- und Wartungsaufwand in nicht mehr zu vertretende Höhen schießt.

Nach einiger Suche bin ich nun, wie es scheint, auf ein System gestoßen, das alle meine Anforderungen erfüllt und zudem äußerst flexibel und zudem erweiterbar ist: Die Rede ist von Umbraco. Dieses System basiert auf ASP.NET 2.0, unterstützt verschiedene Datenbanken, unter anderem auch SQL Server 2005 und 2008, und legt dem Webdesigner keinerlei Einschränkungen auf, wenn es um das Design der Webseite geht.

Auch wenn der erste Anfang ein wenig mühsam ist, so ist das Konzept von Umbraco doch letztlich sehr durchdacht und übersichtlich, wenn man sich erst einmal an die Terminologie gewöhnt hat:

  • Das grundlegende Element in Umbraco sind sogenannte Document Types, die analog zu einer Tabellenbeschreibung in einer Datenbank vorgeben, aus welchen Element ein einzelnes Objekt bestehen kann - im einfachsten Fall wird durch einen Document Type eine ganze Seite beschrieben, die beispielsweise aus einer Überschrift, einem Bild und einer Textbox für Richtext besteht. Ein Document Type muss aber nicht zwingendermaßen eine ganze Seite beschreiben, auch der Teil einer Seite ist abbildbar.
  • Passend zu jedem Document Type gibt es ein sogenanntes Template, das als beliebiger Code in HTML oder XHTML definiert sein kann, und welches die optische Darstellung des Document Types definiert. Auch hier gilt wiederum, dass ein Template im einfachsten Fall die ganze Seite beschreibt, in komplexeren Szenarien durchaus aber nur einen Ausschnitt der Seite beschreibt. Da sich so wohl Document Types wie auch Templates ineinander verschachteln lassen, ist es problemlos möglich, hierarchische Strukturen zu erstellen, die dem Konzept der Masterseiten in ASP.NET ähneln.
  • Gefüllt wird die Kombination aus Document Type und Template nun mit Leben, indem der Benutzer Content zur Verfügung stellt, der sich von seiner Struktur an den Document Type und von seiner Optik an dem passenden Template orientiert.
  • Ergänzt wird das ganze durch die Möglichkeit, dynamischen Content in ein Template einbinden zu können - dies geschieht über sogenannte Makros, wobei ein Makro im Grunde genommen nichts anderes als ein Wrapper um ein Stück Code ist. Dieser Code wiederum kann in verschiedenen Sprachen angebunden werden, beispielsweise in XSLT, C# oder Python.
  • Ein XSLT-Makro bietet sich immer dann an, wenn Daten verarbeitet werden sollen, die bereits in Umbraco vorliegen - intern bildet Umbraco sämtlichen Content und sämtliche Strukturen nämlich als XML ab, so dass sich der Einsatz von XSLT anbietet. Sollen hingegen externe Inhalte wie beispielsweise Datenbank- oder Webserviceabfragen eingebunden werden, so bietet sich der Einsatz von C# an. In Umbraco ist es sogar möglich, ASP.NET-Webcontrols direkt als Makro einzubinden, so dass keine spezielle Vererbungshierarchie notwendig ist.

Aktuell ist derzeit noch die Umbraco-Version 3, Version 4 ist aber bereits für Ende des Jahres angekündigt. Diese Version wird dann die Fähigkeiten von ASP.NET noch deutlich besser ausnutzen, da zahlreiche Konzepte nicht mehr proprietär umgesetzt werden, sondern so, wie man es in ASP.NET auch machen würde - begonnen bei Masterseiten für Templates über die Verwendung von ASP.NET-Membership- und -Role-Providern bis hin zu einer Überarbeitung aller Umbraco-eigenen Schlüsselworte auf eine Syntax, die der von ASP.NET entspricht.

Alles in allem bietet das System zwar nicht so viel out of the box wie manch kommerzielles oder größeres System, dafür bietet es dem Entwickler aber alle Freiheiten, seine Wünsche und Ideen umzusetzen, ohne ihm irgendwelche Einschränkungen aufzuerlegen.

Als einziger Wermutstropfen bleibt derzeit eigentlich nur, dass sich ein Einstieg in Version 3 derzeit nicht mehr wirklich lohnt, da Version 4 dermaßen viele Neuerungen mitbringt, dass man dann lieber direkt auf dieser Version aufsetzen sollte. Wem es aber nicht auf ein paar Monate ankommt, dem sei dieses System uneingeschränkt empfohlen.