Re: Rekompilieren von VB6 und .NET



Hallo Olaf!

Schmidt schrieb:

...
[Ajax - Sackgasse]
Langfristig mehr Chancen, ..., sehe ich in Konzepten wie der WPF,
also letztlich einheitlichen Oberflächen für Desktop _und_ Internet.
Aber eben auch in diese Richtung stellt Microsoft schon seinen Fuß
in die Tür.

An Harald: Schon? MS hat den den Fuß reichlich spät in die Tür gestellt. Das hätte schon in den ersten .NET Versionen integriert sein sollen.

Na ja, so wegen "Fuß in die Tür stellen" usw. - riecht schon wieder
verdächtig nach Innovation, oder? ;-)
Letztlich kann derjenige, der seine GUI-Vorlagen heute in HTML
und nicht in XML (WPF-XAML) ablegt, nahezu die gleichen Effekte
erreichen.
Ulrich (Korndoerfer) erwähnt so was (siehe eines seiner letzten Postings)
ja nicht ohne Grund. ;-)
...

Genau. Mit HTML/CSS und einem passendem Renderer (wie HTMLayout von Terrainformatica) ist schon viel machbar, wenn man ein "modernes" GUI haben möchte. Spaßeshalber mal dazu ein Vergleich der Fähigkeiten von WPF aus dem Artikel "Top Ten UI Development Breakthroughs in WPF" von MS:

http://msdn.microsoft.com/winfx/reference/presentation/default.aspx?pull=/msdnmag/issues/06/01/windowspresentationfoundation/default.aspx

Punkt 10. Advanced Graphics/Fewer Control Constraints

Hebt im wesentlichen darauf ab, daß nun die Controls in einem Fenster keine eigenen Fenster mehr haben, sondern sich die Zeichenfläche des Hosts teilen (also "windowless" sind). Dadurch ist es zB möglich, Controls übereinander zu zeichnen, ohne daß diese sich gegenseitig verdecken. Dieses "windowless" ist eine typische Eigenschaft von Browserfenstern. Auch der IE hat schon die "HTML"-Controls windowless gezeichnet. HTMLayout kann dies genauso.

Punkt 8. Rich Application Text

LOL! Kann jeder HTML Renderer. Die Syntax für den Rich Application Text der von MS bereitgestellten GUI Controls (TextBlock, TextFlow und DocumentView) erinnert sehr an HTML (und das wahrscheinlich nicht ganz grundlos ;-) Das Styling via CSS scheint aber nicht möglich zu sein. Es ist schon mehr als überfällig, daß MS seine Kompetenz und Codebasis, was das Rendern von rich text anbetrifft, dazu benutzt, endlich eigene, IE unabhängige, "application embeddable" Controls bereitzustellen und deren zugrundeliegendes Format von dem veraltetem, proprietären RTF löst.

Punkt 7. Adaptable UI Layout

Das ist fast 1:1 der Table-Mechanismus in HTML. Damit müssen Entwickler wieder mit den unter HMTL bereits obsoleten Tablemechanismen arbeiten. Unter HTML mit CSS hat man da mehr Möglichkeiten.

Punkt 6. Flexible Content Model

Das ist die Möglichkeit, zB einen Button mit "rich application text" versorgen zu können (also gestylter Text inklusive Bildchen etc). Mit HTMLayout kein Problem: zB kann jedes DIV als Button verwendet werden und DIVs können alles enthalten, was HTML/CSS hergibt.

Punkt 5. Lookless Controls

Dazu ein Zitat (weils so schön ist):

"WPF takes the radical step of disassociating the appearance from the control. Most WPF controls are lookless, meaning they just provide behavior. The appearance is supplied separately in the form of a template."

Und

"Controls have behavior and (usually) a replaceable appearance. This makes WPF controls much more flexible than Windows Forms or Win32 UI components—you can change anything about how the control looks without losing any of its functionality."

Nun ja, ein alter Hut zB für (ich wiederhole mich ja ungern :-) HTMLayout. Appearance wird durch HTML/CSS bereitgestellt, Behaviour durch CSS und Eventhandler im Code der Applikation. Für ein geändertes Appearance braucht nur der im SSS für jenes zuständige Bereich ausgetauscht werden.

Punkt 4. Data-Driven UI

Im wesentlichen geht es darum, das Appearance eines Controls in Abhängigkeit von irgendwelchen Daten dynamisch zu ändern, also zB einen Button je nach Datensatz einen anderen Text anzeigen zu lassen. Das ghet mit HTML/CSS natürlich auch. Zugegebenermassen muß man sich hier die nötigen Mechanismen selber coden, WPF stellt hier bereits eine höherklassige Kapselung zur Verfügung.

Punkt 3. Consistent Styles

Trennung von Aussehen und dem Rest, Änderung des Aussehens durch Auswechseln der Style-Templates. Muß ich jetzt wirklich CSS erwähnen ? ;-)

Punkt 2. Triggers

Hier geht es um die deklarative Festlegung der Änderung des Aussehens eines Controls bei bestimmten Ereignissen (MouseOver, MouseEnter etc). Es ist also nicht nötig, Code für Eventhandler zu schreiben, die dies bewerkstelligen. Damit kann der Designer einer Applikation bereits deren Aussehen und dem Aussehen als Reaktion auf bestimmte Ereignisse festlegen, ohne daß ein Entwickler dafür Code schreiben muss. Fällt jemandem die Ähnlichkeit zu CSS auf ?

Punkt 1. Declarative Programming

Na was wohl ist Arbeiten mit HTML/CSS?

Zusammenfassend für mich, was den GUI-Teil einer Applikation betrifft:

Das, was hier als allerneueste Errungenschaft und Achtes Weltwunder angepriesen wird, ist mit anderen Mitteln und anderen Programmierumgebungen ebenfalls zu erreichen. .NET nimmt einem allenfalls Kapselungsarbeit ab. Aber ganz ohne Arbeit (deklarativ und Programmlogik betreffend) gehts auch unter .NET nicht.

Ich würde sagen: wie üblich bei MS dürften einfache Anwendungen stark (im Sinne von Arbeitserleichterung/Produktivität) von den Neuerungen profitieren. Sobald es komplexer wird, wird man sich wieder seine Süppchen selber kochen müssen. Damit schafft man sich dann eine neue Codebasis und steht vor der Frage, wie lange diese anwendbar bleibt.

--
Ulrich Korndoerfer

VB tips, helpers, solutions -> http://www.proSource.de/Downloads/

-----------------------------------------------------------------------
Plea for a bright future for VB classic.
Sign the petition to Microsoft: -> http://classicvb.org/petition/
-----------------------------------------------------------------------
.


Quantcast