Microsoft: Avalon

 


 

Die sichtbarsten Änderungen an Windows Longhorn zeigen sich natürlich an dem neuen GUI (Graphical User Interface). Innerhalb von WinFX nennt sich die neue Basis für die Bildschirmrepräsentation von Inhalten Avalon und bietet eine Fülle an neuen Funktionen und Features, die den Umgang mit vielen Daten, vor allem Multimedia, aber auch die „normalen” Office-Dokumenten, Emails, etc. deutlich vereinfachen soll. Avalon soll, zumindest nach der Meinung von Microsoft, Dokumente, Benutzeroberfläche und Multimediainhalte miteinander verbinden. Mit Avalon will Microsoft verschiedenste Probleme auf eine neue, nach eigenen Angaben innovative, Art und Weise lösen. Avalon stellt quasi ein „best of” aus den Win32, Direct 3D und Web-APIs dar und verbindet so die Vorteile einer Webapplikation - einfache Verteilung, simple Erstellung, flexibler Textumbruch, einfaches Einbinden von Multimediainhalten und Fonts - mit der Mächtigkeit der klassischen APIs. Da der neue Stack aber „neben” dem alten implementiert wurde, funktionieren auch die alten APIs weiter. Vorteile ergeben sich aber unter anderem daraus, dass man jetzt GPU unterstützte 3D-Beschleunigung in jeder Applikation hat und nicht mehr nur in Vollbildschirm-Programmen, die direkt auf Active X setzten.



Eigenschaften
Avalon basiert auf dem .NET Framework und Direct 3D, stellt aber einen komplett neu implementierten Stack dar, der sich über managed APIs auf verschiedensten Ebenen dem Programmierer öffnet.
Wirft man einen Blick in die Zukunft, so erwartet Microsoft immer größere Bildschirme mit immer höheren Auflösungen. Mit einem Bitmap-basierten System stößt man dann früher oder später an die Grenzen des Machbaren - klassische Applikationen erscheinen auf diesen Displays dann als Mini-Grafiken, die nicht mehr erkennbar sind – Microsoft demonstrierte das im Hands-On-Lab im einem riesigen, hochauflösenden IBM-Display, das durch zwei Grafikkarten mit Daten gefüttert wurde.
Die Entwickler von WinFX haben daraus die Konsequenzen gezogen und Avalon Vektor-basiert konzeptioniert. Damit lassen sich auch große Displays ohne Probleme mit stufenfreien Schriften und Grafiken versorgen. Als Bonus erhält man auch noch einen stufenlosen Zoom, der auch in stark vergrößert keine Treppenbildung zeigt. Da nun alle Elemente über Vektoren beschrieben werden, lassen sich die einzelnen Elemente am Bildschirm auch beliebig drehen, verzerren, spiegeln, etc., ohne dass dies für den Entwickler viel Aufwand bedeuten würde. Damit lässt sich auch die Accessibility verbessern – was aufgrund der Gesetzeslage in den USA für Microsoft sehr wichtig war – Personen mit Sehbehinderungen können sich so den Bildschirm beliebig vergrößern, damit sie etwas erkennen können – ohne das der Entwickler hierfür spezielle Vorkehrungen treffen muss.

Web vs. Desktop
Momentan haben Entwickler im Prinzip zwei Möglichkeiten – entweder sie entwicheln eine Web- oder eine Desktop-Applikation. Entscheiden sie sich für das Web, so ist die Verbreitung der Applikation einfach – sie wird nur auf den Server gestellt. Die Seiten werden deklarativ aufgebaut, das flexible Rendering übernimmt der Browser. So ist es recht einfach, ansprechende, flexible Anwendungen zu erstellen, die sich auch einfach verteilen lassen.
Entscheidet man sich für eine Desktop-Anwendung, so hat man die Möglichkeit, diese offline zu laufen zu lassen, sie integrieren sich wesentlich besser in den Desktop, sie skalieren besser, sie sind zumeist auch schneller, da sie nicht dauernd mit dem Server kommunizieren müssen und auch die Werkzeuge für die Entwickler sind bereits wesentlich weiter ausgereift.
Mit WinFX und dessen Bestandteil Avalon wachsen diese Welten nun zusammen.

Layout
Etwas das die Entwickler von WinFX vom Browser abgeschaut haben, sind die verschiedenen Layout-Möglichkeiten für Text. So kann dieser entweder „fixed” sein, für Layouts, bei denen es auf die genaue Positionierung ankommt, oder sich flexibel an die Fenstergröße anpassen. Hier hat Microsoft nach eigenen Angaben viel Grundlagenforschung betrieben, um zu ermitteln, bei welchen Zeilenlängen die Lesegeschwindigkeit nachlässt, welche Zeilen- und Zeichenabstände optimal sind, usw. Daher kann sich der Text automatisch auf mehrere Spalten aufteilen, wenn das Fenster zu breit wird, um andere Elemente herumfließen, die Zeichen- und Zeilenabstände werden, je nach Größe des Fensters angepasst, usw. - ohne dass der Programmierer etwas dafür tun muss!

Ein ganz wichtiges „Element” der Avalon-Programmierung ist die „Composition”, also das Übereinanderlegen mehrerer Controls zu einem neuen. So lässt sich etwas ein Button mit einem Text, einer netten Grafik und einem Farbverlauf überlagern, um so ein Bildschirmelement zu erzeugen, das sich wie ein klassischer Button verhält, aber nicht danach aussieht. Mit Composition lassen sich aber auch noch ganz andere Sachen „anstellen”. So lässt sich über den Scrollbar einer Applikation eine Vorschau (Thumbnail) auf die nächsten Seiten anzeigen – komplett mit Text, Bildern und bewegten (!) Videos, die auch noch mit dem Mauszeiger mitwandern. Auch hier wurden einfach mehrere Controls mittels Composition verbunden – und das ganze wird natürlich via Alpha-Blending transparent auf dem Bildschirm angezeigt. Wer schon mal mit Subclassing und anderen Methoden versucht hat, derartige Features zu erzeugen wird überrascht sein, wie einfach das mit Longhorn möglich ist.

Controls
Zu erwarten war natürlich auch, das sich im Bereich der Controls einiges verbessert hat. Neben einem neuen Look & Feel (Aero) hat Microsoft auch eine Menge neuer und verbesserter Controls mit Longhorn herausgebracht, die natürlich alle mittels Composition erweiterbar und veränderbar sind.
Eines der in meinen Augen „wichtigsten” Control ist das neue „Contact Common Control”. Zusammen mit WinFS stellt Microsoft hier erstmals ein zentrales Control für den Zugriff auf die verschiedensten Attribute einer Person her – angefangen bei Name, Adresse, Email, bis hin zu IM-Adresse, Photo und anderen Attributen, die sich natürlich auch via XML-Schemas erweitern lassen. So gibt es nun endlich in Windows eine zentrale Ablage für Kontaktdaten für alle Applikationen, die über ein immer gleich aussehendes Control abgerufen werden können.

„Immer gleich aussehend” ist aber etwas irreführend. Dieses Control kann wie eine normale Listbox aussehen, kann aber auch ein Bild der Person mit anzeigen, oder deren Onlinestatus im Instant Messaging (anklickbar, sodass gleich eine Chat begonnen werden kann), usw. Die Möglichkeiten sind vielfältig – es wird interessant, wie die Programmierer diese neuen Fähigkeiten nutzen werden.
Aber auch bei den Databinding-Control hat sich einiges getan. Diese lösen sich nun aus dem starren Grid-Layout und bieten verschiedenste Präsentationsmöglichkeiten. Ganz gemäß dem neuen Paradigma von Microsoft, dass man jetzt neue Möglichkeiten benötigt, um die Unmenge an Daten, die mittlerweile auf einen einströmen auch auf neue Arten anzuzeigen. So bieten sie nun neben den klassischen Grids und Listen auch eine Karusell-Ansicht, wie man sie von Apples Dock kennt und natürlich lassen sie sich auch durch Composition ändern, sodass sich auch Bilder beinhalten können, …

XAML
XAML, die Extensible Application Markup Language, ist Microsofts neuer Ansatz das GUI für Appliaktionen zu definieren. Die einzelnen Elemente einer Appliaktion wie Fenster, Eingabefelder, DropDowns, Listboxen, etc. werden in einem XAML-File, also nichts anderem als XML, definiert. Microsoft nannte dies oftmals „Deklarative Programmierung”, wobei diese Bezeichnung, auch innerhalb Microsofts, nicht unumstritten ist. Zwischen den XAML Elementen und dem Objekt-Modell von Avalon gibt es eine 1:1 Beziehung, sodass man im Code auf die einzelnen, im XAML-File definierten Elemente als Objekte zugreifen kann, um auch Events zu reagieren, etc.
Obwohl XAML-Dateien auch Code enthalten können, sieht Microsoft XAML als gute Möglichkeit, endlich eine strikte Trennung von Code und Repräsentation einzuführen und dabei gleichzeitig den Code und den Markup für die Oberfläche gleichberechtigt nebeneinander zu stellen. Wie das im Endeffekt aussehen kann, zeigte Adobe auf der Keynote der PDC. In dieser Präsentation wurde die Oberfläche eines Börsentickers in deren Videoeffekt-Werkzeug AfterEffects erzeugt und als XAML abgespeichert. Der Entwickler musste nur mehr in seinen Codefiles einige Event-Handler überschreiben und Daten via Indigo (siehe weiter hinten) aus einem Web Service lesen und schon erschienen die Daten schön aufbereitet in der gut aussehenden Appliaktion, die natürlich voll skalierbar war – selbts bei mitlaufendem Video.

Aufgabenorientiert
Die PDC hat deutlich gezeigt, dass sich die Entwicklung weg von den klassischen Applikationen mit ihren starren, immer gleichen Oberflächen, hin zu aufgabenorientierten Programmen bewegt. Microsoft hat bereits einige „Archetypen” für diese Programme zusammengestellt und arbeitet gerade an Richtlinien, wie diese Auszusehen haben, kann Avalon und dessen Freiheitn doch für ein neues GUI-Chaos sorgen, wie wir es schon in den Anfangszeiten des Computer haben.

Fazit
Auch wenn Avalon technologisch nicht eine revolutionäre Neuheit darstellt – Apple, KDE und Gnome haben vergleichbare Technologien schon länger – so hat es Microsoft aber dennoch geschafft, ein beeindruckendes „best of” Zusammenstellen, das dem Entwickler viele neue, mächtige Funktionalitäten und Möglichkeiten einräumt, während sich die Benutzer auf wesentlich „sexyere” Applikationen mit völlig neuen Oberflächen freuen dürfen.

MSDN Avalon


WinFS

Yukon

Indigo

Dies ist der Name des neuen Storage-Systems für Windows Longhorn, das über die normale Dokument-orientierte Betrachtungsweise eines Filesystems hinausgeht. Durch die Integration von Datenbanktechnologien kann man nun auf verschiedenste Weise Informationen suchen, anzeigen und bearbeiten. Durch XML-Schemas ist es leicht erweiterbar und bietet so nette Features wie eine gemeinsame Kontakt-Datenbank für alle Applikationen und „Agenten” kümmern sich darum, dass die Benutzer nicht mit Informationen überflutet werden. Yukon ist der Codename für die langerwartete neue Version des Microsoft SQL Servers, in die Microsoft viel Zeit und Geld investiert hat. Mit Yukon und der kommenden Visual Studio Version mit dem Codenamen „Whidbey” ändert sich einiges für Entwickler, die auch auf Datenbanken zugreifen wollen/müssen. Indigo ist die Basis für die Kommunikation unter Longhorn. Egal ob zwischen Applikationen, zwischen PCs oder zwischen PC und WebService – die Kommunikation erfolgt über Indigo. So kann man über Indigo Daten eines WebServices abrufen oder an ein solches schicken, aber auch Transaktionen durchführen. Gezeigt wurden aber auch Beispiele, wie man aus einer Applikation heraus Daten im Sidebar anzeigen kann oder einen „Videostream” des eigenen Dekstops an einen anderen PC senden kann. Aber auch Instant Messaging oder Datenaustausch über ein Peer-to-Peer Netzwerk wird in Longhorn über Indigo abgewickelt.

Avalon

Whidbey

.NET

Avalon ist der Name für die GUI-Klassen bzw. das GUI-Framework für das neue Betriebssystem. Neben vielen neuen Controls ist vor allem das Compositing - also das einfache überlagern von mehreren Elementen zu einem neuen - eines der herausragensten Merkmale in Avalon. Hinzu kommt, dass die Oberflächen mit XAML, einer XML-basierten Auszeichnungssprache, definiert werden, was völlig neue Möglichkeiten eröffnet. Hinzu kommt noch der One-Klick-Install, der auch schon mit der nächsten Visual Studio Version kommen soll, mit dem sich Applikationen ganz einfach von einer Webseiten installieren lassen sollen. Die Verbesserungen in Whidbey, der Entwicklungsumgebung Visual Studio, sind vielfältig. Bereits lange vor Longhorn wird Whidbey die Technologien und Tools zur Verfügung stellen, dass Entwickler ihre bestehenden oder geplanten Applikationen auf die kommende Windows-Version und die damit verbundenen Änderungen (WinFX) anpassen können.
Neben technischen Features wie „partial types”, C++ with CLR types und anderen Verbesserungen die Hardcore-Programmierer erfreuen werden, legt Whidbey vor allem auch auf die Verbesserung für den „Gelegenheitsprogrammierer” bzw. auf Verbesserungen, welche die Produktivität der Entwickler verbessern, wert.
Bill Gates, seines Zeichens reichster Mann der Welt und bald auch Knight Commander of the British Empire, begrüßt morgen, am 28.1.2004 rund 1.500 Entwickler zum Microsoft .NET DAY.
Dieses IT-Ereignis, man kann es durchaus so nennen, findet im Austria Center Vienna statt und gilt als Wegweiser im Software-Bereich, zumindest wenn man sich in der Fensterwelt bewegt.
Bill Gates wird freilich auch Longhorn, den Windows XP-Nachfolger ansprechen. WCM berichtete schon ausführlich über die Kernkomponenten Avalon, Indigo und WinFS, nun werden wir hoffentlich noch ein paar Neuigkeiten erfahren, außer dass es viel verändern und alles besser wird…


Martin Leyrer Die Meldung finden Sie im Original unter http://www.wcm.at/story.php?id=5992

Tagged as: , | Author:
[Montag, 20040126, 11:04 | permanent link | 0 Kommentar(e)

Comments are closed for this story.


Disclaimer

„Leyrers Online Pamphlet“ ist die persönliche Website von mir, Martin Leyrer. Die hier veröffentlichten Beiträge spiegeln meine Ideen, Interessen, meinen Humor und fallweise auch mein Leben wider.
The postings on this site are my own and do not represent the positions, strategies or opinions of any former, current or future employer of mine.

Search

RSS Feed RSS Feed

Tag Cloud

2007, a-trust, a.trust, a1, accessability, acta, advent, age, amazon, ankündigung, apache, apple, audio, austria, backup, barcamp, bba, big brother awards, birthday, blog, blogging, book, books, browser, Browser_-_Firefox, buch, bürgerkarte, cars, cartoon, ccc, cfp, christmas, cloud, collection, computer, computing, concert, conference, copyright, database, date, datenschutz, debian, delicious, demokratie, design, desktop, deutsch, deutschland, dev, developer, digitalks, dilbert, disobay, dna, dns, Doctor Who, documentation, Domino, domino, Douglas Adams, download, drm, dsk, dvd, e-card, e-government, e-mail, e-voting, E71, Ein_Tag_im_Leben, email, eu, event, exchange, Extensions, fail, feedback, film, firefox, flightexpress, food, foto, fsfe, fun, future, games, gaming, geek, geld, gleichberechtigung, google, graz, grüne, grüninnen, hack, hacker, handtuch, handy, hardware, HHGTTG, history, how-to, howto, hp, html, humor, ibm, IBM, ical, image, innovation, intel, internet, internet explorer, iphone, ipod, isp, it, IT, java, javascript, job, journalismus, keyboard, knowledge, konzert, language, laptop, law, lego, lenovo, life, links, Linux, linux, linuxwochen, linuxwochenende, living, lol, london, lost+found, Lotus, lotus, lotus notes, Lotus Notes, LotusNotes, lotusnotes, lotusphere, Lotusphere, Lotusphere2006, lotusphere2007, Lotusphere2008, lotusphere2008, lustig, m3_bei_der_Arbeit, mac, mail, marketing, mathematik, media, medien, metalab, microsoft, Microsoft, mITtendrin, mobile, mood, movie, mp3, multimedia, music, musik, männer, nasa, netwatcher, network, netzpolitik, news, nokia, Notes, notes, Notes+Domino, office, online, OOXML, open source, openoffice, opensource, orf, orlando, os, outlook, patents, pc, pdf, perl, personal, php, picture, pictures, podcast, politics, politik, pr, press, presse, privacy, privatsphäre, productivity, programming, protest, qtalk, quintessenz, quote, quotes, radio, rant, recherche, recht, release, review, rezension, rss, science, search, security, server, sf, shaarli, Show-n-tell thursday, sicherheit, silverlight, SnTT, social media, software, sony, sound, space, spam, sprache, spö, ssh, ssl, standards, storage, story, stupid, summerspecial, sun, sysadmin, talk, technology, The Hitchhikers Guide to the Galaxy, theme, think, thinkpad, tip, tipp, tools, topgear, torrent, towel, Towel Day, TowelDay, travel, truth, tv, twitter, ubuntu, uk, unix, update, usa, vds, video, videoüberwachung, vienna, Vim, vim, vista, vorratsdatenspeicherung, vortrag, wahl, wcm, web, web 2.0, web2.0, Web20, web20, webdesign, werbung, wien, wiener linien, wikileaks, windows, windows 7, wired, wishlist, wissen, Wissen_ist_Macht, wlan, work, wow, wtf, Wunschzettel, wunschzettel, www, xbox, xml, xp, zensur, zukunft, zune, österreich, övp, übersetzung, überwachung

AFK Readinglist