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: | | |
Oct 11
2007

Hi, eh man sich versieht, ist der erste Tag der XTOPIA in Berlin auch schon vorbei.

Die ca. 600 Teilnehmer konnten schon in den Keynotes Schlagworte wie "digitale Vernetzung", "kuenftige Innovationen kommen aus der Softwarebranche", "realitaetsnahe Infos werden kuenftig in allen Medien zur Verfuegung stehen" hoeren. Es wurden durch Achim Berg, Chef von Microsoft Deutschland die Produkte Silverlight, Microsoft Popfly und Software as a Service in das Rampenlicht gestellt.

Sehr interessant war auch der Vortrag von Sanjay Parthasarathy, der erkannte, dass tatsaechlich zur Zeit sehr viele Buzzwords herumgeistern, gleichzeitig aber auch sehr viele Chancen fuer die Softwareentwicklung bestuenden. The language of Visualizsation: XAML. Einen weiteren Schwerpunkt sieht Sanjay auch in der Emotional Connection, die der User erfahren will. Software duerfe nicht mehr langweilig sein und der Entwickler habe mit Silverlight und Co. alle dazu notwendigen Tools.

Im Anschluss an die Keynotes folgten diverse Vortraege aus den Sparten Development, Design and Business. U.a. RIA mit ASP.NET Ajax und dem Toolkit oder die Vorstellung von Astoria als kuenftiges Werkzeug zur Kapselung und Vereinfachung des Datenzugriffes.

Daniel Walzenbach demonstrierte in seiner Session "Building MashUps with Windows live" die Vermischung und Darstellung von Daten aus verschiedenen Quellen. Eine eindrucksvolle Demo zur Einbindung von Microsoft Virtual Maps in aspx-Seiten zeigte die Leistungsfähigkeit und relativ kurze Entwicklungszeit dieser Technik auf.

Sebastian Weber gab einen Überblick zu den "Office Live Technologien von A-Z", die derzeit im Betastadium vorliegen und künftig webbasierte Dienste für kleinere Unternehmen bieten sollen. Die Bereiche E-Mail, Website und Intranetfunktionen sollen preislich gestaffelt zur Verfügung stehen.

Nun ja, heute geht es in erster Linie um Silverlight. Wie wuerde ein Bekannter aus Bayern sagen: "Schau mer mal".

OK, los geht es.

PS: Die Party gestern war auch nicht schlecht. Man konnte zwischen Kinovorfuehrungen, Kabarett und DJ waehlen. 

Tags: Tags: | | |
Oct 05
2007

Der nachfolgende JS-Codeschnippsel, den ich im Blog von Nikhil Kothari entdeckt habe, eignet sich sehr gut, um die Anwesenheit des Silverlight-Plugins zu checken. Falls es vorhanden ist, werden die Infos "Silverlight/1.0" oder "Silverlight/1.1", ansonsten "(not set)" ausgegeben.

<script type="text/javascript">

function onLoad() { var version = getSilverlightVersion();
//alert('version: '+version);
spanInfoSilverlightPlugIn.innerHTML = version;
}

function getSilverlightVersion() {
  var version = '';
  var container = null;
  try {

    var control = null;
    if (window.navigator.userAgent.indexOf('MSIE') >= 0) {control =
    new ActiveXObject('AgControl.AgControl');
  }

  else {
    if (navigator.plugins['Silverlight Plug-In']) {container = document.createElement('div');
    document.body.appendChild(container);

    container.innerHTML= '<embed type="application/x-silverlight" src="data:," />';
    control = container.childNodes[0];
    }
  }

if (control) {
  if (control.isVersionSupported('1.1')) { version = 'Silverlight/1.1'; }

  else if (control.isVersionSupported('1.0')) { version = 'Silverlight/1.0'; }
  }
}

catch (e) { }if (container) {
  document.body.removeChild(container);
  }
return version;
}
</script>

Tags: Tags:
Oct 05
2007

Mit der Installation des Silverlight 1.0 SDK wird auch ein Template für das VS2005 geliefert, welches einen leichten Einstieg in die Entwicklung eines Silverlight 1.0 Projektes bietet. Es kann jedoch wie in meinem Fall passieren, dass nach der Installation des SDK in den Templates des VS2005 keine Silverlight JavaScript Application vorhanden ist. Als nach einer erneuten erfolgreichen Installation des SDK das Template noch immer nicht sichtbar war, machte ich mich per Filesearch auf die Suche nach dem gewünschten File SilverlightJSApplication.ZIP. Tatsächlich wurde dieses Template auch installiert, allerdings unter dem Profil eines anderen Users, als dies wohl die Ausführung des VS zuständig ist. Daher war das Template nicht sichtbar.

Über Tools => Options => Projects and Solutions kann man sich im VS vergewissern, in welchem Verzeichnis die Templates abgelegt sind. Dorthin muss die SilverlightJSApplication.ZIP kopiert und schon taucht das Template in der Liste auf:

SilverlightJSApplication.zip (6,62 kb)

Das Template ist zwar lt. Installationshinweis für das VS2005 gedacht. Aber sobald man das erwähnte zip-File in das entsprechende VS2008 Beta2 - Templateverzeichnis kopiert, kann auch dort damit gearbeitet werden.

Tags: Tags: |