Peter Bucher Ralf Westphal

Blog

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

VSone: Singleton? Aber threadsicher!

Donnerstag, 25. Februar 2010, 20:05 Uhr
Permalink | Kommentare (0) | Kommentare als RSSRSS

Nachdem ich gestern Morgen – direkt nach der Keynote – meine erste Session auf der VSone in München gehalten habe, war ich gestern am späten Nachmittag mit einer weiteren Session an der Reihe. Unter dem Titel

Singleton? Aber threadsicher!

verbarg sich augenscheinlich lediglich die Frage, wie das Entwurfsmuster Singleton threadsicher umgesetzt wird – doch der Teufel steckt bei dieser Frage im Detail.

Nachdem ich vor 11 Teilnehmern zunächst in knappen Worten die Frage erläutert habe, warum die klassische Implementierung nicht threadsicher ist, habe ich einige verbreitete threadsichere oder vermeintlich threadsichere Varianten vorgestellt.

Was als scheinbar leichte Aufgabe begann, endete letztlich in der Analyse des vom C#-Compiler erzeugten MSIL-Codes, der Diskussion über eine Aspekte der Spezifikation von C# und der Erklärung einiger Spitzfindigkeiten innerhalb der .NET-Runtime.

Im Wesentlichen habe ich in der Session dabei die folgenden Punkte behandelt:

  • Singleton – klassisch
  • Singleton threadsicher – mit Locking
  • Singleton threadsicher – Double-checked locking idiom
  • Singleton threadsicher – ohne Locking
  • Verhalten von statischen Konstruktoren
  • Felder vs Eigenschaften

Besonders gefreut hat mich, dass ich mit einer ebensolchen Spitzfindigkeit innerhalb der Runtime von .NET ein nicht reproduzierbares, sporadisch auftretendes Problem im Code eines Teilnehmers lösen konnte.

Das erste Feedback zeigt mir, dass die Session auch den anderen Teilnehmern sehr gut gefallen hat – was mehr kann man sich wünschen?

VSone: XP – Extreme Programming für .NET-Entwickler

Mittwoch, 24. Februar 2010, 12:26 Uhr
Permalink | Kommentare (0) | Kommentare als RSSRSS

Heute und morgen findet im Neuen Forum am Deutschen Museum in München zum inzwischen sechsten Mal die VSone statt, unter deren Dach sich unter anderem auch die Advanced Developers Conference wiederfindet.

Dieses Jahr war ich erstmalig mit einem Vortrag auf der ADC vertreten. Im Rahmen meiner Session mit dem Titel

XP – Extreme Programming für .NET-Entwickler

habe ich XP als agile Methode vorgestellt, deren Werte und Techniken vorgestellt und die gängigen Kritikpunkte diskutiert. Als Kernelement der Session habe ich dabei auf die im agilen Manifest verankerten Werte zurückgegriffen, welche die Basis für sämtliche agilen Methoden bilden – sei es XP, Scrum, Chrystal oder eine beliebige andere agile Methode.

Wider mein persönliches Erwarten war die Session mit 34 Teilnehmern sehr gut besucht – dermaßen viel Interesse an XP hätte ich zunächst nicht erwartet. Im Wesentlichen habe ich in der Session die folgenden Punkte behandelt:

  • Was ist eine agile Methode?
  • Das agile Manifest
  • Werte von XP
  • Techniken von XP
  • Anforderungsmanagement
  • Gängige Kritikpunkte
  • XP + Scrum?

Insgesamt bin ich sehr zufrieden, wie alles gelaufen ist, und das Feedback, das ich bislang von den Teilnehmern erhalten habe, zeigt mir, dass die Session informativ und unterhaltsam zugleich war und positiv aufgenommen wurde.

prio.conference 2009: Von der Idee zur fertigen UI – für Entwickler

Donnerstag, 29. Oktober 2009, 17:29 Uhr
Permalink | Kommentare (1) | Kommentare als RSSRSS

In den vergangenen beiden Tagen fand die prio.conference statt – zum ersten Mal seit ihrem Bestehen allerdings nicht im Kurhaus von Baden-Baden, sondern im Marriott Hotel in München.

Im Gegensatz zu vielen anderen Konferenzen ist die prio eine Konzeptkonferenz, das heißt, jedes Jahr beschäftigt sie sich mit nur einem ausgewählten Thema – dieses wird aber mit sehr viel Liebe zum Detail behandelt. Nachdem die Agenda in den vergangenen Jahren eher von abstrakten Themen wie Softwarequalität und Softwarearchitektur geprägt war, wurde für 2009 das Thema User Interface ausgewählt.

Wie bereits im vergangenen Jahr war ich auch in diesem Jahr mit einer Session im Konzept-Track vertreten. Meine Session

Von der Idee zur fertigen UI – für Entwickler

behandelte dabei die Frage, wie man zu einer gut bedien- und benutzbaren UI kommt, wenn man als Entwickler auf sich allein angewiesen ist und keinen dedizierten Designer zur Hand hat.

Kernelement dieser Session waren daher die beiden Begriffe User Model und Program Model, die für eine gute User Experience miteinander in Einklang gebracht werden müssen.

Auch dieses Jahr hat meine Session sehr viele Interessierte angezogen; die Session war mit ungefähr 120 Teilnehmern äußerst gut besucht. Im Wesentlichen habe ich in der Session die folgenden Punkte behandelt:

  • Entwickler vs Designer
  • UI-Design ist kein Grafikdesign
  • Was macht eine gute UI aus?
  • UIs kontrollieren
  • UIs sind nicht intuitiv
  • User Model vs Program Model
  • Usabilitytests
  • Auswahlmöglichkeiten
  • Konsistenz von UIs
  • Benutzer lesen keine Handbücher
  • Benutzer sind unsicher mit der Maus
  • Benutzer merken sich nichts

Insgesamt bin ich sehr zufrieden, wie alles gelaufen ist, und das Feedback, das ich bislang von den Teilnehmern erhalten habe, zeigt mir, dass die Session informativ und unterhaltsam zugleich war und positiv aufgenommen wurde.

Abschließend möchte ich noch dem Team von der prio, allen voran Ralf Westphal als Konferenzmanager, Tilman Börner als Chefredakteur der dotnetpro und den Damen der Veranstaltungsorganisation für die sehr beeindruckende Konferenz und die sehr gute Vorarbeit danken.

Basta! 2009: Clientsicherheit – eine Utopie?

Donnerstag, 24. September 2009, 17:43 Uhr
Permalink | Kommentare (0) | Kommentare als RSSRSS

In Mainz fand diese Woche die Basta! 2009 statt, auf der ich am Mittwoch wieder mit einer eigenen Session vertreten war.

Das Thema meiner Session war Clientsicherheit – eine Utopie?. Grundsätzlich ging es dabei um die Frage, ob Clientsicherheit überhaupt ein erreichbares Ziel ist, oder eben eine unerreichbare Utopie. Außerdem habe ich die Frage diskutiert, warum in verteilten Anwendungen der Fokus in Bezug auf Sicherheit in der Regel auf dem Server liegt.

Vor knapp 20 Teilnehmern habe ich also folgende Themen behandelt:

  • Werkzeuge für Angreifer: ildasm, Reflector, …
  • Sinn und Unsinn von Obfuskatoren
  • Verwendung von digitale Signaturen
  • Einsatz von Zertifikaten
  • Symmetrische und asymmetrische Verschlüsselung

Ergänzt wurden diese Themen durch eine Livevorführung, wie die Sicherheitsmechanismen des GAC von .NET ausgehebelt werden können. Insbesondere das Aushebeln der vermeintlichen Sicherheit auf Basis von Strong Names sorgte für Aufsehen.

Abschließend möchte ich mich an dieser Stelle noch einmal bei den Teilnehmern für die Aufmerksamkeit und die interessanten Fragen bedanken, und hoffe, dass für jeden neue und hilfreiche Anregungen enthalten waren.

RIA World 2009: Die Qual der Wahl

Samstag, 27. Juni 2009, 11:37 Uhr
Permalink | Kommentare (0) | Kommentare als RSSRSS

Am 23. und 24. Juni 2009 fand in München zum ersten Mal die RIA World statt – eine Konferenz, die sich ausschließlich mit den diversen RIA-Technologien befasst, ohne sich dabei auf eine konkrete Technologie zu spezialisieren.

Ich war dort mit zwei Sessions vertreten, die jeweils als Entscheidungshilfe für die Teilnehmer gedacht waren. Thema meiner ersten Session Die Qual der Wahl: Silverlight, Flex, AJAX, …? war die Frage, welche RIA-Technologie für welche Aufgabe am besten geeignet ist.

Vor 45 Teilnehmern habe ich dabei folgende Themen behandelt:

  • Warum überhaupt RIA?
  • AJAX vs Silverlight und Flex
  • Wann genügt AJAX?
  • Wann genügt AJAX nicht?
  • AJAX und Silverlight / Flex als Hybrid
  • Stärken und Schwächen von Silverlight / Flex
  • Designer vs Entwickler

Direkt im Anschluss daran hatte ich meine zweite Session, die den Titel Sprache für das Web: Statisch vs dynamisch trug. Auch hier war die Fragestellung eine ähnliche: Wann eignet sich welche Programmiersprache, und wo liegen eigentlich die genauen Unterschiede zwischen den verschiedenen Typen von Sprachen.

Vor 25 Teilnehmern habe ich daher folgende Themen behandelt:

  • Was ist Typisierung?
  • Wozu braucht man Typisierung?
  • Statische vs dynamische Typisierung
  • Starke vs schwache Typisierung
  • Explizite vs implizite Typisierung
  • Kategorisierung einiger Sprachen
  • Stärken und Schwächen der jeweiligen Ansätze

Alles in allem hat die gesamte Veranstaltung sehr viel Spaß gemacht, so dass mir an dieser Stelle nur noch bleibt, mich bei den Teilnehmern für die Aufmerksamkeit und die interessanten Fragen zu bedanken. Ich hoffe, dass für jeden interessante Aspekte und hilfreiche Ideen und Anregungen enthalten waren.

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!.

Basta! 2009 Spring Edition: Sicherer Code? Aber sicher!

Samstag, 28. Februar 2009, 12:55 Uhr
Permalink | Kommentare (0) | Kommentare als RSSRSS

Diese Woche fand in Darmstadt die Basta! 2009 Spring Edition statt, auf der ich am Mittwoch wieder mit einer eigenen Session vertreten war.

Thema meiner Session Sicherer Code? Aber sicher! waren die zehn häufigsten Sicherheitslücken in Web- und Desktopanwendungen. Außerdem habe ich einige einfache Werkzeuge und Maßnahmen vorgestellt, mit denen man sich entsprechend schützen kann.

Vor knapp 40 Teilnehmern habe ich also folgende Themen behandelt:

  • "All input is evil"
  • Filtern und kanonisieren von Eingaben
  • Dedizierte Sprachen
  • BBCode in .NET mit codeparser.net
  • SQL Injection und XML Injection
  • Maskieren von Ausgaben
  • Behandeln von Fehlern
  • Least Privileged User
  • Verschlüsseln und digitales Signieren

Ergänzt wurde die Theorie durch praktische Codebeispiele, an denen ich die Vermeidung typischer Fehler demonstriert habe.

Abschließend möchte ich mich an dieser Stelle noch einmal bei den Teilnehmern für die Aufmerksamkeit und die interessanten Fragen bedanken, und hoffe, dass für jeden neue und hilfreiche Anregungen enthalten waren.

prio.conference 2008: Dependency Hell? Nein danke!

Dienstag, 11. November 2008, 21:18 Uhr
Permalink | Kommentare (6) | Kommentare als RSSRSS

In den vergangenen beiden Tagen fand im Kurhaus von Baden-Baden die prio.conference statt, eine Konferenz der besonderen Art: Die prio ist nämlich eine Konzeptkonferenz, die sich im Gegensatz zu den übrigen Konferenzen jedes Jahr mit nur einem speziell ausgewählten Thema auseinandersetzt - dafür aber mit sehr viel Tiefe und Liebe zum Detail.

Thema der diesjährigen prio war der Begriff Softwarearchitektur, wobei drei parallel laufende Tracks die Unterthemen Konzepte, Technologien und SOA behandelten. Innerhalb des Konzepte-Tracks war ich mit einer Session zum Thema Abhängigkeiten unter dem Titel "Dependency Hell? Nein danke!" vertreten.

Ich muss zugeben, dass ich angesichts der sehr stilvollen Umgebung und der sehr professionellen und zugleich angenehmen Atmosphäre ein wenig aufgeregt war, zumal meine Session deutlich mehr Besucher angezogen hat, als ich jemals erwartet hätte: Eine grobe Abschätzung von der Bühne aus ließ mich auf ungefähr 150 Teilnehmer kommen - in Anbetracht der Tatsache, dass ich bislang eher vor maximal 20 Personen gesprochen habe, durchaus eine neue Erfahrung.

Die Session an sich behandelte das Thema Abhängigkeit, und enthielt im Wesentlichen folgende Punkte:

  • Was sind Abhängigkeiten?
  • Formen von Abhängigkeiten
  • Gründe gegen Abhängigkeiten
  • Abhängigkeiten messen
  • Kopplung und Kohäsion
  • Separation of Concerns
  • Aspektorientierte Programmierung
  • Law of Demeter

Insgesamt bin ich sehr zufrieden, wie die Session verlaufen ist, und die mir danach von Teilnehmern noch gestellten Fragen zeigen, dass das Thema durchaus für viele Teilnehmer und ihre tagtägliche Arbeit von Interesse ist.

Abschließend möchte ich noch dem Team von der prio, allen voran Ralf Westphal als Konferenzmanager, Tilman Börner als Chefredakteur der dotnetpro und den Damen der Veranstaltungsorganisation für die sehr beeindruckende Konferenz und die sehr gute Vorarbeit danken. Vielleicht sieht man sich ja auf einer der nächsten prios wieder ...

AJAX in Action 2008: Silverlight 101

Mittwoch, 29. Oktober 2008, 17:42 Uhr
Permalink | Kommentare (0) | Kommentare als RSSRSS

In Mainz hat heute mit der AJAX in Action eine Konferenz speziell zu AJAX und Rich Internet Applications begonnen. Auch ich hatte dort bereits eine Session, direkt nach der Keynote, als Einführung in Silverlight.

Da ich allerdings nur eine Stunde Zeit hatte, habe ich mich weniger auf die Entwicklung mit Silverlight konzentriert, sondern eher auf die entsprechende Infrastruktur - vom Deployment des Plugins zu den Voraussetzungen auf dem Entwicklerrechner bis hin zum Deployment des eigenen Projektes. Diesen Ansatz hatte ich bereits in meinem Workshop XAML revisited auf der Basta! 2008 verfolgt, was damals großen Anklang gefunden hat, da man genau diese Informationen üblicherweise nicht überall findet.

Als Themen hatte ich dieses Mal ausgewählt:

  • tafiti als Silverlight-Anwendung
  • Desktop vs Web
  • Deployment des Plugins
  • Silverlight 1.0 vs 2.0
  • Silverlight vs WPF
  • Visual Studio vs Expression Blend
  • Entwurfsmuster MVVM
  • Deployment von Silverlight-Anwendungen
  • .xap-Dateien im Detail
  • Aufbau eines Silverlight-Projektes
  • Silverlight vs Flash & Co

Versprochen hatte ich zudem, an dieser Stelle noch die Links zu den diversen angesprochenen Anwendungen nachzureichen. Prinzipiell reicht hierfür ein Link auf die Webseite von Silverlight 2 aus, da dort alle relevanten Links in kompakter Form aufgelistet werden. Generell eignet sich diese Webseite auch ansonsten sehr gut, um sich über die Entwicklung mit Silverlight zu informieren.

Zu guter letzt möchte ich mich noch bei den Besuchern meiner Session für die Aufmerksamkeit und die anschließenden Fragen bedanken, und hoffe, dem ein oder anderen Silverlight ein wenig näher gebracht zu haben.

PDC 2008: Windows Azure

Montag, 27. Oktober 2008, 19:34 Uhr
Permalink | Kommentare (1) | Kommentare als RSSRSS

Nachdem ich gestern über die Zukunft von Windows und .NET spekuliert habe, hat der heutige Beginn der PDC 2008 die ersten Fragen beantwortet: Die Zukunft liegt auch für Microsoft im Cloud Computing und heißt Windows Azure. Doch was verbirgt sich hinter Windows Azure?

Windows Azure ist eine neue Edition von Windows, die nicht für Entwickler, ISVs oder Endkunden gedacht ist, sondern die ausschließlich in Microsofts Rechenzentren läuft. Windows Azure bietet Entwicklern und ISVs eine Infrastruktur, um Anwendungen und Dienste in der Cloud, wie Microsoft es nennt, zu hosten.

In der Cloud können so wohl Rechenzeit wie auch Speicherplatz gebucht werden, wobei in der finalen Version eine Abrechnung nach Nutzung stattfinden wird. Da die Cloud in Microsofts Rechenzentren läuft, steht hiervon quasi unbegrenzt viel zur Verfügung, was die bisher gängigen Hardwareprobleme der Skalierbarkeit einer eigenen Lösung auf einen Schlag behebt.

Ergänzt wird Windows Cloud durch die Integration diverser Dienste: So wird beispielsweise mit den SQL Server Data Services eine in der Cloud laufende Datenbank angeboten. Außerdem gibt es noch die sogenannten Windows Live Services und die .NET Services, die beispielsweise Dienste zum Identitätsmanagement, soziale Dienste und Konnektivitätsdienste anbietet.

Windows Azure basiert bei all dem auf bekannten und damit auch etablierten Technologien wie .NET, SOAP, REST, XML und RSS, wobei als Entwicklungsumgebung wiederum Visual Studio verwendet wird, so dass sich Entwickler, die bislang auf Basis von .NET gearbeitet haben, nicht all zu sehr umgewöhnen müssen.

Auch wenn derzeit Visual Studio und .NET die einzige Möglichkeit darstellen, auf Windows Azure und die Cloud zuzugreifen, wird sich dies bis zur finalen Version ändern: Die Plattform wird vollkommen offen sein, so dass beliebige Sprachen und Werkzeuge von Drittanbietern integriert werden können. Zunächst soll vor allem Unterstützung für Python und Eclipse hinzukommen.

Interessant fand ich die Aussage, dass Windows Azure bereits seit etlichen Jahren entwickelt wird, was meine gestrigen Spekulationen gar nicht so abwegig erscheinen lässt. Insgesamt denke ich, dass Microsoft mit Windows Azure ein riesengroßer Schritt in die absolut richtige Richtung gelungen ist, der zudem längst überfällig war.

Insbesondere die von Microsoft stets perfekte Integration aller Produkte und Dienste könnte Windows Azure im Vergleich zu den Mitbewerbern wie Amazon oder Google den entscheidenden Vorsprung verschaffen - doch dies muss die Zukunft zeigen ...

Details zu Windows Azure wie auch ein erster CTP finden sich auf der entsprechenden Webseite, die seit heute verfügbar ist.

PDC 2008: Die Zukunft von Windows und .NET

Sonntag, 26. Oktober 2008, 21:31 Uhr
Permalink | Kommentare (1) | Kommentare als RSSRSS

Morgen beginnt mit der Professional Developers Conference 2008 die größte hauseigene Konferenz von Microsoft, auf der vor allem die Zukunft von Windows, .NET und den damit verbundenen Diensten vorgestellt wird. Außer einigen vagen Informationen zu Windows 7 und .NET 4.0 ist im Vorfeld noch nichts wirklich relevantes bekannt geworden.

Zum Auftakt hat Microsoft vorgestern ein neues Logo für .NET vorgestellt, das die Aspekte Konsistenz, Stabilität und Benutzerfreundlichkeit von .NET unterstreichen soll, und zudem die Nähe zu den neuen Kerntechnologien Silverlight und Surface ausdrücken soll:

LogoDotNet

Prinzipiell ist an der Tatsache, dass Microsoft ein neues Logo für .NET vorstellt, nichts all zu ungewöhnliches zu finden – auch wenn die Anzahl der entsprechenden Blogeinträge in den vergangenen zwei Tagen anderes impliziert. Aus diesem Grund werde ich im Weiteren nicht näher auf die Tatsache eingehen, dass es ein neues Logo gibt, sondern mich mit der Frage beschäftigen, was dieses neue Logo symbolisieren könnte.

Denn, um ehrlich zu sein, all zu viel Nähe zu den Begriffen Konsistenz, Stabilität und Benutzerfreundlichkeit kann zumindest ich in dem neuen Logo nicht entdecken. Auch die Erklärung, dass es einer Welle ähneln soll, halte ich für nicht ausreichend – denn welchen Bezug hat .NET zu einer Welle?

Auffällig finde ich, dass das Logo einer DNS-Doppelhelix ähnelt, wenn man es um 90° zur Seite neigt – auch wenn dies außer mir anscheinend noch niemandem aufgefallen ist. Angenommen, diese Ähnlichkeit wäre beabsichtigt, welche Aussage über .NET könnte dann in diesem Logo stecken?

Verschafft man sich einen Überblick über die diversen Technologien von Microsoft der vergangenen Jahre, so fällt auf, dass es schon einmal eine Technologie mit Bezug zur DNS gab: Windows DNA, laut Wikipedia ein Überbegriff für alle Technologien, durch welche die Interaktion von Windows mit dem Internet ermöglicht wird.

Interessant ist dabei nicht nur, dass laut Wikipedia ebendiese Technologie von .NET abgelöst wurde, was auch den Ursprung des Namens von .NET erklärt, sondern insbesondere auch, dass die von Microsoft nun verfolgte Strategie viel tiefere Wurzeln haben könnte, als zunächst denkbar wäre.

Als .NET vor sechs Jahren in der ersten Version veröffentlicht wurde, wurde für einige Zeit vermutet, dass .NET zum einen der Nachfolger der klassischen Win32-API sei, und dass Microsoft zum anderen sämtliche Anwendungen nach und nach auf .NET migrieren würde. Weder das eine noch das andere ist bislang eingetreten, und daran wird auch Windows 7 nichts ändern.

Neben Windows 7 wird jedoch auf der PDC noch ein zweites Windows eine ausgesprochen wichtige Rolle spielen: Windows Cloud, das von Steve Ballmer als Betriebssystem für das Internet angekündigt wurde. Auch wenn derzeit noch niemand weiß, was genau sich hinter Windows Cloud verbirgt, so steht fest, dass es die Basis für die serverseitige Zukunft von Microsoft im Web werden wird.

Windows Cloud wiederum wird auf einer Weiterentwicklung von .NET basieren, zudem steht mit Silverlight nun eine auf .NET basierende Technologie für das Frontend im Web zur Verfügung. Windows Cloud und Silverlight stellen damit die Basis für Microsofts Erfolg im Internet dar, oder – pathetisch gesprochen – sie bilden die Grundbausteine des digitalen Lebens, eben die DNS, womit sich der Kreis zu guter letzt schließt.

Insgesamt würde das bedeuten, dass Microsoft im Hintergrund bereits viel länger an einer entsprechenden technologischen Basis für die Zukunft im Internet arbeitet, als die Live-Dienste erahnen ließen. Wenn dem so ist, dürfte das Ergebnis dementsprechend schlagkräftig ausfallen …

Wohlgemerkt, all dies ist reine Spekulation meinerseits, aber dennoch halte ich diese Überlegungen für durchaus interessant und nicht von der Hand zu weisen. Warten wir die nächsten Tage der PDC ab, vermutlich wird sich dann zeigen, welches Ziel sich Microsoft für die Zukunft gesteckt hat.

Basta! 2008: Warum Microsoft den Kampf im Web gewinnen wird

Dienstag, 23. September 2008, 22:08 Uhr
Permalink | Kommentare (2) | Kommentare als RSSRSS

Nachdem ich gestern bereits einen Workshop auf der Basta! 2008 veranstalten konnte, habe ich heute Abend noch eine Session mit dem zugegebenermaßen ein wenig provokanten Titel Warum Microsoft den Kampf im Web gewinnen wird gehalten.

Das Thema der Session war, warum Microsoft all seinen Konkurrenten im Web 2.0 wie beispielsweise Google, Adobe oder Sun zum Trotz dennoch gute Chancen hat, mit Silverlight ausgesprochen erfolgreich zu sein.

Was mich besonders gefreut hat, war, dass meine These von den Teilnehmern nicht einfach nur stillschweigend hingenommen wurde, sondern dass sich nach meiner Session noch eine rege Diskussion ergeben hat, in der einige durchaus interessante Aspekte zur Sprache kamen.

Als größtes Problem für Silverlight wurde dabei von allen Teilnehmern eindeutig das derzeitige Deployment gesehen, dass Microsoft Silverlight nämlich nur als optionales Windows-Update anbietet - was von den meisten Endanwendern aber entweder nicht bemerkt oder aus Unwissenheit ignoriert werden dürfte.

Die spannende Frage bleibt, wie Microsoft es erreichen wird, Silverlight eine Verbreitung zukommen zu lassen, die es Entwicklern ermöglicht, im großen Stil auf Silverlight zu setzen. Man darf gespannt sein ...

PS: Die nächste Gelegenheit, mich live zu treffen, besteht auf der diesjährigen AJAX in Action, auf der ich am 29. Oktober 2008 eine Session zum Thema Silverlight 101 halten werde.

Basta! 2008: XAML revisited

Montag, 22. September 2008, 22:27 Uhr
Permalink | Kommentare (1) | Kommentare als RSSRSS

Die Basta!, ihres Zeichens die größte deutschsprachige Konferenz zu .NET und Visual Studio, öffnete heute zum bereits zwanzigsten Male ihre Pforten. Nachdem ich in den vergangenen Jahren regelmäßig mit Sessions vertreten war, hatte ich heute die Ehre, direkt am ersten Tag einen halbtägigen Workshop zum Thema XAML veranstalten zu können.

Da ich mir bereits im Vorfeld überlegt hatte, dass es auch an einem halben Tag nicht möglich sein würde, alle Steuerelemente und Konzepte von XAML gebührend vorzustellen, habe ich eine andere Taktik gewählt. Anstatt also sämtliche Steuerelemente einzeln vorzustellen, habe ich mich auf die Fragen beschränkt, die in den gängigen Referenzen zu XAML nicht abgedeckt werden.

Als Themen hatte ich insbesondere gewählt:

  • Hard- und Softwarevoraussetzungen für WPF
  • WPF unter XP vs WPF unter Vista
  • WPF vs XAML
  • Der x:-Namensraum
  • Attribute in Elementschreibweise
  • Routed Events und Event Bubbling
  • WPF auf dem Desktop und WPF im Web
  • Visual Studio vs Expression Blend
  • Entwickler vs Designer
  • Prototyping mit XAML
  • Model-View-ViewModel (MVVM)

Auch wenn es ein Experiment war, in einem Workshop über XAML eher den Kontext von XAML zu beleuchten und den Einsatz von XAML zu hinterfragen, hat den Teilnehmern diese Art der Darstellung äußerst gut gefallen - die konkreten Steuerelemente kann man schließlich immer noch dann, wenn man sie eines Tages braucht, in einer geeigneten Referenz nachschlagen.

Empfehlenswert als Nachschlagewerk zu XAML halte ich insbesondere das Buch Windows Presentation Foundation von Dirk Frischalowski. Der in dem Workshop erwähnte XAML-Editor war übrigens kaxaml, ein leichtgewichtiger, kompakter, kostenloser und vor allem schneller Ersatz für Expression Blend, mit dem man sich hervorragend in die Sprache XAML einarbeiten kann.