Oct 19
2007

Im MSDN-Magazin 6.2007 schreibt auf Markus Egger auf den Seiten 65-75 einen sehr interessanten Artikel über "Flexible Inhaltsanzeige mit Flow Documents". Mit Flow Documents ist ein Entwickler in der Lage, Dokumente intern mit WPF zu erstellen. Diese werden i.d.R. mit XAML erstellt. Sofern der User das .NET Framework 3.0 auf seinem Rechner installiert hat, kann er sich ein mit FlowDocument erzeugtes Dokument im Browser ansehen (IE/FF). Ansonsten bietet der Browser den Download des XAML-Files an. Im aktuellen Mozilla raucht bei mir die Seite nach dem Aufruf mit einer Fehlermeldung ab. Bei einem Kollegen hat der Firefox automatisch eine Art PlugIn installiert, dann funktionierte die Seite. Der Einsatz des Controls ist nach diesen Erkenntnissen leider noch nicht völlig unbedenklich möglich.

Das supercoole an der ganzen Sache ist jedoch, das immer, wenn ein Flow Document angezeigt wird, Features wie Zoom, Paginierung sowie verschiedene Ansichtsmodi und sogar eine Suchfunktion angeboten werden. Diese Infos waren mir einen Eigenversuch wert. Flow Documents sind Auflistungen von Blöcken, wie z.B. nachfolgend dargestellt:

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
        <FlowDocument IsOptimalParagraphEnabled="true" IsHyphenationEnabled="true" FontFamily="Helvetica">
            <FlowDocument.Resources>
                <Style x:Key="Style_H1">
                    <Setter Property="TextElement.FontSize" Value="22" />
                    <Setter Property="TextElement.FontWeight" Value="Bold" />
                </Style>
                <Style x:Key="Style_H2">
                    <Setter Property="TextElement.FontSize" Value="16" />
                    <Setter Property="TextElement.FontWeight" Value="Bold" />
                </Style>
            </FlowDocument.Resources>

            <Paragraph Style="{StaticResource Style_H1}">
                <Figure HorizontalAnchor="ContentLeft" VerticalAnchor="ContentTop" Width="1Content">
                    <Paragraph>
                        Eindrücke von der ersten Microsoft-XTopia-Konferenz vom 9.-11.10.2007 in Berlin
                    </Paragraph>
                </Figure>
            </Paragraph>
            <Paragraph Style="{StaticResource Style_H2}">
                1. Tag
            </Paragraph></FlowDocument></Page>

Man sieht, es ist auch die Verwendung von Style-Angaben möglich. Ebenfalls können Listen und Bilder angewendet bzw. eingebunden werden. Wie leistungsfähig das FlowDocument wirklich ist, zeigt ein Sample, das unter http://msdn2.microsoft.com/en-us/library/ms771316.aspx bezogen werden kann. Da kann man nur staunen.

Problematisch war aus meiner Sicht die Texteingabe. Für die manuelle Erstellung war viel Arbeit notwendig. Aber dies kann ja auch automatisiert erledigt werden, z.B. dynamisch über einen Datenbankzugriff. Allerdings muss der Text dann dort schon im passenden Format vorliegen. Das WPF bietet ein dafür vorgesehenes RTF-Steuerelement an, das in seinen Funktionen noch sehr rudimentär ist. Ich bin mir jedoch sicher, dass hier die Zeit für den Entwickler arbeitet und das geeignete Editoren bald verfügbar sein werden.

 

Tags: Tags: | |
Oct 13
2007

Dieser Tag stand für mich, wie auch der Tag vorher, ganz im Zeichen der Developer-Sessions.

Silverlight und PopFly - Der erste Kontakt. Oliver Scheer und Lori Grosland stellten beides in der ersten Session des Tages vor. Silverlight war mir ja schon ein Begriff aber PopFly, hmmm. Unter http://www.popfly.ms/  kann man sich, einen Account vorausgesetzt, selbst ein Bild von dieser künftigen Technik machen. Fazit: Mit wenigen Mausklicks, Drag and Drops und ganz ohne Code ist erstaunlich viel in kürzester Zeit erstellbar. Z.B. meine aktuellen Bilder sofort ins Netz. Alles schön bunt und ganz easy.  Oliver Scheer demonstriert kurz die derzeit aktuellen Silverlight Versionen 1.0 und 1.1, wobei meines Erachtens erst mit V. 1.1. ein richtiges gutes Plugin kommen wird, welches neben JavaScript auch z.B. mit C# programmiert werden kann.

Frank Fischer zeigte in seiner Session über dynamischen Sprachen auf, das Microsoft wieder in diese Richtung tendiert.  Er zeigte eine ellenlange Liste dynamischer Sprachen, darunter fanden sich alte Bekannte wie VBScript, JavaScript, JScript oder PHP.

Für dynamische Sprachen gälten folgende Paradigmen:

  • Runtime over Compile-Time (die Hardware werde besser und besser und stelle daher keine Begrenzung wie früher dar),
  • Entscheidungen verzögern (Die Problemstellung sei wichtiger als die Implementierung)
  • Details der Implementierung verbergen
  • "Duck Typing" (automatisches Zuweisen von Variablentypen)

Microsoft wird eine Dynamic Language Runtime DLR entwickeln. Diese soll den notwendigen Support für dynamische Sprachen bieten und die Entwicklung mit diesen extrem vereinfachen. In Silverlight 1.1 werden laut Fischer Ruby, Python, JavaScript und VBX  implementiert. Woh, es mag losgehen :-)

Oliver Scheer zeigte in der Session "Silverlight - Hardrock im Web" die drastische Erweiterung, die Silverlight V. 1.1 im Gegensatz zu V. 1.0 bieten soll. Dieser Erweiterung sei nicht nur auf Möglichkeit der Anwendung von .NET Sprachen zu reduzieren. Er demonstrierte mit dem VS2008 Beta2 und Expression Blend das reibungslose Zusammenspiel der beiden Programme und zeigte ansatzweise, wie z.B. eine Quiz-Applikation auf diesem Wege und mit diesen technischen Mitteln leicht zu realisieren sei.

Dirk Primbs ging mit "Deep Diving XAML und WPF" nochmals eine Stufe tiefer. Auch er führte seine Demos mit VS2008 Beta2 und Expression Blend aus, arbeitete jedoch aus didaktischen Zwecken überwiegend im Code. So konnte der Zuschauer leichter verstehen, was hinter den Kulissen von Expression Blend & Co. eigentlich abläuft.

Die WPF-Vision stellt sich seiner Meinung nach in diesen Punkten dar:

  • einheitliche Architektur für UI, Dokumente, Medien etc.
  • einheitliche vektorbasierte Composition engine
  • deklaratives Programmiermodell
  • einfaches und sicheres Deployment-Modell

Eine interessante und trotz des "trockenen Stoffes" sehr unterhaltsame Session war die vorletzte dieses Tages "Services mit WCF jenseits von SOAP" von Christian Weyer. Wer kann schon von sich behaupten, tieffliegende Seifen gesehen zu haben, als der Referent einige Sätze über SOAP anbringen wollte :-)  Wirklich cool. Gut, dass ich nicht an der Stelle saß, an der das Stück Seife zu Boden ging. Christian sprach über Dinge jenseits eine Web 2.0 Applikation, keinesfalls jedoch über Klicki Bunti, Drag and Droppi, UIs, IDEs usw. Er stellt die Neuerungen des WCF im .NET Framework 3.5 in einer überaus unterhaltsamen Weise vor, so dass ich mich schon auf die nächste Session mit Christian Weyer freue. Zudem ist er ja auch wie ich ein Franke ;-)

Marc Höppner setzt schließlich mit "The Future of ASP.NET" den Schlusspunkt dieser zwei XTOPIA-Tage in Berlin. Zusammenfassend die wichtigsten künftigen Neuerungen:

  • Die History-Back oder F5-Funktionalität, die ja bei Verwendung von ASP.NET AJAX derzeit nicht oder nur eingeschränkt funktioniert, soll durch ein serverseitiges oder clientseitiges "History-Control" wieder hergestellt werden. Eine Demo zeigte auf, dass dies mit den ASP.NET Futures auch schon funktioniert.
  • Anbindung von Astoria-Dataservices (Unterstützung zur clientseitigen Anbindung)
  • XML-Skripts => Verdrahten von Objekten auf deklarative Art. Binding => Controls verbinden. Client Data Controls => Serverseite Daten an clientseitige Controls.
  • CSS-Selectors: z.B. getElementsByClassName('txtInput') => Erweiterung der JavaScript Libary
  • Neue Silverlight Controls (XAML, Media, Skins, Chapter, Marker)
  • Dynamic Data Controls zur Vereinfachung der Datenanbindung und Darstellung bzw. zur vollständigen Automatisierung. Er wird einem künftig noch mehr Arbeit abgenommen. Trotzdem bleibt alles beinflussbar.
  • Dynamic Languages.
  • Application Services (Search, Sitemaps, Diagnostics). Vorallem letzteres ist wirklich sehr interessant. Bisher ist ja z.B. JavaScript-Debugging ein nervenaufreibender Zeitvertreib. Das soll besser werden. Zum Glück!

Das war es!

Im Anschluss an die letzte Session ging es im Flugzeug in der Dunkelheit durchgeschüttelt und wie eine Sardine verpackt ab nach Hause. In München wartete am Freitag ein Bahnstreik mit den entsprechenden Folgen im Berufsverkehr.

Aber mit so vielen Eindrücken und Motivationsschüben eindeckt, was interessiert mich da ein Bahnstreik?!  :-) 

Tags: Tags: | | |
Sep 23
2007

Vereinzelt wurde dieses Beispiel für eine Windows Forms Applikation mit WPF im Netz in diversen Blogs schon beschrieben. Ich möchte es dennoch nochmals kurz aufgreifen. Natürlich war ich voller freudiger Erwartungen, als ich unter diesem Link den Quellcode für eine Microsoft Expression Blend Test-Applikation heruntergeladen hatte. Um das Example selbst Schritt für Schritt ausführen zu können, ist neben Expression Blend (gibt es derzeit als Beta2 auf 180 Tage laufzeitbegrenzt zum freien Download) auch ein HandsOnLab sinnvoll. Dieses kann als pdf hier downgeloadet werden. Das HOL hat zum Ziel, eine Outlook 2007 ähnliche Oberfläche mit den genannten Werkzeugen zu erstellen.



So bewaffnet hat man die besten Voraussetzungen, die Welt von WPF und XAML step by step zu erkunden und ganz nebenbei macht man sich mit der Bedienung von Expression Blend vertraut. Der mitgelieferte Sourcecode ist in Etappen gegliedert. Falls man sich irgendwo beim Üben verzettelt, bietet sich ein neuer Einstieg durch den mitgelieferten Code an fortgeschrittener Stelle an. Teilweise hatte ich tatsächlich Probleme, jeden der im HOL beschriebenen Schritte nachzuvollziehen. Vermutlich liegt das an der verwendeten Version von Expression Blend. Das beschriebene Beispiel wurde wohl mit MS Expression Blend 1 erstellt, während ich mit der Beta 2 das Example nachvollzog.

Aber grundsätzlich eignet sich das HOL sehr gut, um in die künftige Welt der Software Entwicklung mit Microsoftwerkzeugen und -technologien einzutauchen. Besonders der Wechsel zwischen Designansicht und XAML-Code zeigt, was hinter den Kulissen abläuft. Meine anfangs geschilderten Erwartungen haben sich erfüllt.

Tags: Tags: | |
Mar 24
2007

Grenzenlose Begeisterung, Ernüchterung, Frust, Erkenntnis und schlussendlich die realistische Einschätzung der Möglichkeiten. Das sind unserer Erfahrung nach die Stufen, die ein Entwickler durchläuft , wenn er die ersten Schritte in der Windows Presentation Foundation (WPF) wagt. Uns ist noch kaum jemand untergekommen, der angesichts der in Beispielanwendungen plakativ vorgeführten Möglichkeiten von WPF nicht begeistert gewesen wäre und voller Tatendrang seine erste Anwendung mit XAML & Co zu schreiben begonnen hat. Es folgt meist die Ernüchterung darüber, dass der Einstieg WPF alles andere als banal ist. Wie auch in anderen Entwicklungsumgebungen decken die „Hello-World“-Beispiele eben doch nicht alle Themen ab, die man für Anwendungen im wirklichen Leben braucht.

http://www.codezone.de/DetailPage.Codezone?GUID=0ba369b8-42d4-4875-bcbd-8e29940347c3 

Dem Gesagten kann ich mich nur anschließen. Um sich ein eigenes Bild von WPF zu machen, kann es nicht ausbleiben, sich mit der neuen Materie intensiver zu befassen. Klar, es ist nicht alles Gold, was glänzt. Aber die Richtung, die mit WPF aufgezeigt wird, läßt erahnen, wie in kurzer Zeit schon Anwendungen entwickelt werden. 

Tags: Tags: |