Erklärung des Begriffs: Avalon
Was ist Avalon?

Zurück zur Stichwortliste



Begriff Avalon
Abkürzung
Synonyme/Aliase

Erläuterung des Begriffs Avalon

Neuer Name: Windows Presentation Foundation

Kurzinfo




Avalon ist der Codename für die neue Benutzerschnittstellentechnologie in Windows Longhorn, die konzeptionell an DHTML und ASP.NET angelehnt ist. Basis von Avalon ist die XML Application Markup Language (XAML).

Langtext



Avalon ist der Codename für eine völlig neue Architektur zur Entwicklung von Windows-Benutzeroberflächen. Microsoft überträgt das Konzept von ASP.NET-Webanwendungen auf Windows: Das Layout wird durch eine tagbasierte Sprache beschrieben (Listing 1), während das Verhalten in davon separaten Codeblöcken oder -dateien (Code-Behind) definiert ist (Listing 2). Die tagbasierte Sprache ist – natürlich – eine XML-Sprache, die Microsoft XML Application Markup Language (XAML) nennt.

Wie bei den bisherigen Windows-Anwendungen besteht ein Fenster aus einer Menge von Steuerelementen. Neu für die Windows-Programmierung ist, dass wie in ASP.NET die Steuerelemente durch XML-Elemente definiert und hinsichtlich ihrer Eigenschaften beschrieben werden. Ebenfalls aus ASP.NET übernommen wurde das Konzept, dass zu jedem XML-Elementtyp genau eine .NET-Klasse gehört. Tagbasierte Windows-Anwendungen waren bisher nur durch so genannte HTA (HTML Applications) möglich, die jedoch kaum Verwendung fanden. Longhorn übersetzt beim ersten Start einer Avalon-Anwendung das XAML in .NET-Quellcode, kompiliert den Quellcode und kombiniert die aus den Layout-Informationen generierte Assembly über Referenzen mit der Assembly, die aus dem das Verhalten definierenden Quellcode entstanden ist. Der Code-Behind kann dadurch zur Laufzeit die Steuerelemente beliebig beeinflussen. Ebenso wie die Vorgängerarchitektur Windows Forms können Avalon-Anwendungen im Internet Explorer und auf kleinen Endgeräten wie Pocket PCs und Windows SmartPhone ablaufen.

Anders als die bisherigen Oberflächenbibliotheken, ermöglicht Avalon von Hause eine Anpassung an gerätspezifische Gegebenheiten wie zum Beispiel Bildschirmgrößen und Eingabemethoden. Beispielsweise wird eine Anwendung keine Tablet-PC-spezifischen Steuerelemente mehr verwenden müssen, weil jedes XAML-Steuerelement automatisch auch die Stifteingabe unterstützt.

<DockPanel xmlns="http://schemas.microsoft.com/2003/xaml";>
<Border Background="LightBlue" DockPanel.Dock="Top">
<Text>Avalon Demo</Text>
</Border>
<Border DockPanel.Dock="Bottom" Background="LightYellow">
<Text>(C) Dr. Holger Schwichtenberg</Text>
</Border>
<Border DockPanel.Dock="Left" Background="Lavender"></Border>
<Border DockPanel.Dock="Fill">
<DockPanel>
<Text DockPanel.Dock="Top">Bitte geben Sie Ihren Namen ein!</Text>
<TextBox DockPanel.Dock="Top" Height="30px" Width="100px" Margin="10,10,10,10">Ihr Name</TextBox>
<Button DockPanel.Dock="Top" Height="30px" Width="100px" Margin="10,10,10,10">Anmelden</Button>
</DockPanel>
</Border>
</DockPanel>
Listing: XAML-Code einer einfachen Avalon-Anwendung

Avalon enthält aber viele zusätzliche Funktionen wie die Transparenz beliebiger Steuerelemente und Steuerelementteile, die Rotation einzelner Steuerelemente in beliebigem Winkel, fliegende Schaltflächen, dreidimensionale Registerkarten, ein an die Fenstergröße angepasstes Fluss-Layout wie bei HTML und beliebige Steuerelemente als Hintergrund anderer Steuerelemente. Neu ist auch, dass Avalon komplett vektorbasiert ist und damit in jeder Bildschirmauflösung eine optimale Darstellung liefert.

Avalon und ASP.NET



Zwar wird XAML auch im Internet Explorer darstellbar sein, doch leider ist Microsoft auf dem Wege, für Longhorn die Integration der Webserver-Entwicklungsplattform ASP.NET in Avalon zu verpassen und damit weiterhin die Migration von Anwendungen zwischen Windows und HTML-basiertem Web zu erschweren.

Architektur


- Deklatives Layout durch Markup-Language (nicht HTML, sondern XAML)
- 1:1-Abbildung zwischen Tag und Klassen
- Layout kann auch wie bisher durch Klassen erzeugt werden
- Trennung von Code und Layout möglich (durch partial classes), dadurch können Designer für Oberflächengestaltung eingesetzt werden
- Markup kann kompiliert werden
- Vektorbasiert
- basiert auf .NET Framework (Managed Code)
- Namensraum System.Windows in WinFX
- http://schemas.microsoft.com/2003/xaml

Neue Gestaltungsmöglichkeiten


- Flow-Layout möglich (wie im Web)
- Rotation von Inhalten
- Hintergrund jeder Steuerelemente kann beliebiger Inhalt sein (z.B. Grafik in Button)
- Videos als Hintergrund
- Buttons die rotierend fliegen
- 3-dimensional angeordnete Registerkarten
- Transparenz möglich für alle Steuerelement/Teile von Steuerelementen (Teil jeder Farbinformation)
- Adaptive Flow Layout passt Ausgabe optimal an Ausgabemedium an
- Unterstützung für Tablet-PC-Stifteingabe in allen Steuerelementen

Artikel in gedruckten Medien

  • Einblick: Microsofts PDC 2003
     (iX - Magazin für professionelle Informationstechnik, 2003)
  • Microsoft zieht in Longhorn klare Trennlinien
     (Computer Zeitung, 2004)
  • Das nächste Windows - Longhorn Preview
     (Admins Favorite, 2004)
  • Die Zukunft von .Net
     (iX - Magazin für professionelle Informationstechnik, 2004)
  • Objektorientierter (Durch-)Bruch: Windows Longhorn Technical Preview
     (iX - Magazin für professionelle Informationstechnik, 2003)
  • Querverweise zu anderen Begriffen im Lexikon


    siehe Windows Presentation Foundation

    Windows Presentation Foundation
    Internet Explorer
    Microsoft XML
    Windows Forms
    Steuerelement
    Managed Code
    Pocket PC
    Assembly
    Longhorn
    TextBox
    Button
    Panel