WPF - A New Direction for GUI's
The next revolution in the software foundation for Microsoft's architecture is here. It's called WPF - Windows Presentation Foundation.
This is no minor fix. It's a full-scale new direction that will become the mainstream way to program your application. It's available now and now is the time to start learning it.
Some of the main features:
- Design is separate from coding.
Right now, the programmer does most of the design because it's all done in one step. WPF features an XML based declarative design called "XAML". Instead of dragging and dropping components onto forms, you build an XML file that "declares" what the design will look like. (VB.NET 2008 has "drag and drop" tools that make the process somewhat similar, but the end result is still a XAML file.) The application code doesn't depend on what the design looks like and can be done independently.
- The interface is a vector display instead of a raster display.
Instead of 1024 by 768 small dots (the most common resolution - your monitor may be different), graphics are created by drawing lines, called vectors, for each and every thing that appears on the screen. It may seem like it's more complicated (and, in some ways, it is) but consider these advantages: - Hardware graphics acceleration (that is, the hot new video cards) can do the job using the new DirectX technology used for games. That isn't possible with raster graphics.
- Images are scalable. A 500 percent image still looks good.
- A vector image can be converted into a raster image, but the reverse isn't possible.
- And, of course, there are scads of new, cool, components in WPF!
Because most of WPF is the new XAML coding, there's not a lot out there that addresses the Visual Basic programmer's questions. There is now ... A First Introduction to WPF and XAML for Visual Basic Programmmers


Comments
I cant stand XML. Its overly bloated. INI files were smaller and more efficient. XML and XSLT and XSL and, no, XAML and whatever else there is related to XML is so verbose that it loses its punch in terms of efficiency.
When are the “powers that be” going to figure out that XML needs to go away and some sort of structured storage system (relational, object or some combination thereof) needs to be created for all purposes currently served by XML.
Everyone’s faces cringe when you mention XML to them, mine no different. I refuse to use XML, my apps are written much smaller and much tighter without the need for XML.
There ARE much better ways.
Interesting point of view. Thanks for commenting.
… however …
“Everyone’s faces cringe when you mention XML to them”
Ummmm … Not “everyone”. I don’t, for example. In fact, XML is one of the few unchallenged success stories of the last decade. I’m really not aware of a major technology that doesn’t support XML. It’s not just Microsoft. It’s Oracle, Novell, IBM, Sun, … If you know of anybody who actually shares your point of view, let us know about it. (And, don’t forget to include some documentation, not just your assertions.)
The extra text associated with XML is trivial these days. The computer compiles it down to executables based on symbols anyway, and the storage required to store the extra text or transmit it is tiny compared to things like multimedia graphics (which are also exploding in popularity). So you might not like looking at extra text but I find it’s much easier to understand and work with.
But … to each his own. Again, thanks for writing.
I have to say I’ve found XML an incredible tool. I use it in my full scale enterprise apps as well as my tiny PHP web projects.
That said, I’m just finishing my first enterprise scale solution using WPF, Linq To SQL and SQL server 2008. Dan’s right on the money. This is the way to go for more reasons than a short comment can cover!