Dienstag, 29. April 2008

WPF goes Transitions

Effekte a la PowerPoint? Mit WPF kein Problem!?

WPF bietet zwar Animationsunterstützungen, doch diese müssen mühsam programmiert werden.

Nun gibt es ein Framework das Übergangseffekte für WPF bereitsstellt.
z.B. Wipe, Fade, oder RotatingCube. Auch aufwendige 3D Animation sind frei verfügbar.

Entwickelt hat dies Jaraed Bienz.
Download auf CodePlex: Transitionals

Wer jetzt vielleicht sagt: "He, das habe ich schonmal gesehen!"
der hat vollkommen recht. Auf der letzten Basta habe ich einen Vortrag über CAB gehalten und auch Acropolis vorgestellt. Für mich hatte Acropolis keine Zukunfstaussichten (Wurde ja auch eingestampft). Jedoch einige Bestandteile hatten Potential in WPF intigriert zu werden. U.a. auch das Transitionframework.

Zwar ist das Transitionframework (noch) kein Teil von WPF. Aber dennoch sehr nützlich, zumal frei zugänglich und erweiterbar.

Montag, 10. Dezember 2007

Basta! 2008 Spring Edition

Schon zum 2. Mal werde ich auf der BASTA! sprechen.

Meine Session(s)

Reflection in Action


Reflection gehört zu den coolesten und nützlichsten Features von .NET. In dieser Session schauen wir uns die bekannten und unbekannten Möglichkeiten von Reflection an. U.a. Wie performant ist Reflection und wie kann man die Performance optimieren? Wie generiert man dynamisch IL Code und kann ihn wieder auslesen!? Und vieles vieles mehr.

Allein dafür lohnt es sich auf die BASTA! zukommen.

Benny





Freitag, 7. Dezember 2007

PDC2008 announced!

Nachdem die PDC2007 ausgefallen ist, weil "zu wenig Neues" und die TechEd2007 Europe tatsächlich wenig Neues zu bieten hatte, findet sie nun statt:

die PDC2008 in Los Angeles!


Link

Vermutliche Themen:
- .NET Framework 4.0
- Volta (MSIL Recompiler)
- Software + Services
- WPF Composite Smart Clients
- (hoffentlich neue (WPF Controls bzw. Features))
- Silverlight 2.0 und DLR

Urlaub ist schon geplant!

Benny

Dienstag, 30. Oktober 2007

WPF Composite Clients formally known as Acropolis

Das war es also mit "Acropolis". Dem Produkt das eigentlich CAB (Composite UI Application Block) ersetzen sollte...

Hier die offizielle Bekanntmachung:
Acropolis Team Blog

Die Erkenntnisse aus dem Acropolis Projekt werden zerstückelt und fließen in die .NET Klassenbibliothek ein (Version 4.0?). Dies Vermutung habe ich bereits auf der BASTA! 2007 in Mainz geäußert, wo ich einen Vortrag über CAB gehalten habe und einen Ausblick auf Acropolis gezeigt habe. Ein Artikel für das dotnet Magazin war bereits in Arbeit. Aber eine innere Stimme hat mich zurückgehalten weiter zu machen. Jetzt weiß ich warum!

Von Seiten der CAB-Community hagelte es eine Menge Kritik an Acropolis. Der Ärger bestand darin dass CAB und die Smart Client Software Factory nicht mehr weiterentwickelt werden. Stattdessen wurde das ehrgeizige Projekt Acropolis hochgezogen, dass viel wollte aber nichts konnte. Das größte Problem war eine nicht existierende Roadmap für das Produkt.

Hier ein Kommentar dazu aus der CAB Comunity.

Requiem for Acropolis; Fanfare for CAB +


Aber es gibt schon wieder ein Neues Projekt: WPF Composite Clients

Diesmal wieder unter der Leitung der Patterns & Practices Group. Hier fließt die ganze Erfahrung aus CAB mit ein. Acropolis ist (war) nähmlich ein Projekt der UIFX Teams, das für ASP.NET und WPF zuständig ist.

Glen Block bescheibt in seinem Blog das neue Projekt.
Glenn Block

WPF Composite Client ist keine neue Version von CAB. Es wird eine neue Library und Guidance geben. Zielplattform ist WPF. Der Grund für den Aufbau einer neuen Klassenbibliothek besteht darin, dass CAB nicht für WPF designt wurde. WPF bringt eigene Konzepte wie Commands und RoutedEvents mit sich, die es in WinForms nicht gibt und somit auch nicht in CAB unterstützt werden.

WPF bietet außerdem eine komplette andere "experience". Es wird daher keinen Migrationspfad von WinForms geben. (So wie dies noch in Acropolis vorgesehen war).

Wie herausklang wird es weiter Verbesserungen an WinForms geben! WinForms geht also noch nicht in Rente.

Ich lass erstmal die Korken knallen, dass wir das Thema Acropolis hinter uns lassen können! Ich habe schon befürchtet, dass wir uns ernsthaft mit dem Produkt auseinandersetzen müssen!

Mittwoch, 10. Oktober 2007

CSV Dateien verarbeiten mit LINQ

Mein erster (langer) Artikel in der dotnetpro (http://www.dotnetpro.de/) ist erschienen!

Ich zeige, dass man mit LINQ nicht nur Datenbanken ansprechen kann, sondern ganz simple auch CSV Dateien einlesen, filtern und ausgeben kann. Mit LINQ und C# 3.0 ist das eine Sache von 3 Zeilen Code.

Auf die Idee bin ich durch den Contest der dotnetpro gekommen. Die Aufgabenstellung war CSV Daten zu verarbeiten. Es war abzusehen, dass die jeder mit einer Datenbank angehen würde. Der eine verwendet SQLServer, der andere MySQL. Besonders beliebt bei dem Contest war aber SQLLight.

Und der der Gewinner ist....

Gewonnen habe ich dann, mit meiner Lösung nicht. Und das obwohl ich 25% schneller war als die Siegerlösung!!!
(Ja Mama! Es waren wieder einmal die Flüchtigkeitsfehler)

Samstag, 22. September 2007

Neulich auf der BASTA

Hallo,

da bin ich also Zurück vom Abenteuer BASTA. Ich kann nur sagen ich hab's überlebt!

Die Keynote sollte eigentlich Dirk Primps halten. Das hat er aber irgendwie verpennt!
Er wurde natürlich von den anden Speakern ständig daran aufgezogen.

Das Essen beim Speakerdinner war nicht nach dem Geschmack der Meisten. So gab es z.B. Schafskäse an Raffaello. Das Essen auf der Konferenz war tiefkühlfraß und schlimmer als bei McDonalds. Kein Wunder, dass einige Teilnehmer und auch Speaker so ihre Probleme hatten. Holger S. hat seine Session mit Durchfall gehalten, Neno stand aber bereit um für Ihn einzuspringen.

Christian Groß hat sich bei seinem Workshop, das Handy eines Teilnehmers geschnappt und sich damit auf den Boden geworfen! Er wollte das Thema Security etwas verdeutlichen.

Der Oberhammer war Oliver Sturm. Hat er doch die 10 coolsten Features in C# 3.0 gezeigt. Er hat sich extra einen Timer programmiert und die Features auf die Sekunde vorgeführt. Man hat er die Leute weggeblasen. Er von Dingen geredet die die Leute noch in C# 5.0 kappieren werden.

Feucht fröhlich ging es beim Abschlussessen weiter:
Jörg N.: "Jetzt geht schon wieder die Diskussion los, was besser ist C# oder VB
Jörg N.: "Ich bin einfach nur müde"
Benny G.: "VB ist eine Lebenseinstellung"
Daniel F.: "VB ist eine Krankheit"
Oliver S.: "VB ist eine Lebenseinstellung -
so wie Arbeitslosigkeit!"

In diesem Sinne, bis zur nächsten BASTA!

Benjamin

Samstag, 8. September 2007

Der Name "InitializeComponent" wurde nicht deklariert

Hallo WPF Freunde!

In letzter Zeit verwende ich immer mehr WPF in meinen Anwendungen. Ganz auf WinForms möchte ich aber nicht versichten. Aus Gewohnheit nehme ich für einen neues VisualStudio Projekt die Projektvorlage "WinForms Anwendung". Wenn ich nun versuche ein WPF-UserControl zu meinem Projekt hinzufüge erscheint beim Kompilieren diese Fehlermeldung:

Der Name "InitializeComponent" wurde nicht deklariert

Mir kamen sofort einige Fragen in den Sinn:
-Habe ich .NET 3.0 richtig installiert?
- Habe ich die .NET 3.0 Extensions für VisualStuido richtig installiert?
- Ist meine XAML Datei in Ordnung?
- Macht ExpressionBlend die Probleme (damit designe ich die UserControls)?

Die Lösung ist dann doch relativ einfach.
Man muss die Projektdatei *.proj öffnen und dem BuildSystem von VisualStuido MSBuild mitteilen wie es XAML und Code-Behind Dateien zu kompilieren hat.

Diese Zeile muss man einfügen:

<import project="$(MSBuildBinPath)\Microsoft.WinFX.targets">


Klar, dass die normale .NET 2.0 WinForms Anwendung Projektvorlage noch nichts von XAML und WPF gehört hat und dementsprechend die Dateien nicht richtig kompilieren kann.

Benjamin Gopp