I spoke to someone in the WPF team regarding a post I wrote about my eventual plans to incorporate WPF into a future release of my product. The post was http://wesnerm.blogs.com/net_undocumented/2007/07/orcas-beta-2.html. My prior concerns were alleviated in the discussion.
The Complete Package
There were some bloggers who mentioned the WPF wasn't ready for prime-time and this was because of the lack of controls, but that's not really a problem if WinForms interoperability or third-party controls are used. I am currently looking at four different control providers--Infragistics, Actipro Software, DevExpress, and DevComponents DotNetBar. At least one of them (DevComponents) recently came out with a full set of user interface controls.
Download Bits
Another point was raised about my comment regarding 2.8 megabytes being added to my setup package. I was referring to the WPF redistributable dotnetfx3setup.exe for Windows XP: http://www.microsoft.com/downloads/details.aspx?FamilyID=10CC340B-F857-4A14-83F5-25634C3BF043&displaylang=en. Actually, that's just the initial download size; .NET 3.0 install actually adds ~26mb on top of the ~25mb .NET 2.0 install. For my purposes, anyone using latest versions of Visual Studio will already have these installed anyway, and download size and bandwidth costs aren't really issues anymore.
WPF Isn't Always Pretty.
In the second major version of my product, I will likely go full-steam with WPF. WPF doesn't seem to be a major hurdle as it once was. My major motivation is that there are user interface enhancements that I want to realize that aren't currently possible in the WinForms platform.
WPF won't automatically make an application more beautiful; as used to be the case with many Microsoft applications at least three or more years ago, the default settings tend to the ugly. Eric Sink expounds on this with his post "What Microsoft Doesn't Want You to Know about WPF" regarding his experience creating the Sawdust app using WPF:
In fact, many developers are under the impression that WPF apps are just naturally pretty. They believe that something about the platform makes the user interface look great, automatically, with no extra effort.
This is not true.
What Microsoft doesn't want you to know is that it is possible to make ugly applications using WPF. In fact, ugly is not merely possible -- it's the default.
Nevertheless, the potential for great-looking applications is there.
I'm not blaming WPF for the fact that my application is ugly. I'm just trying to dispel the myth that WPF applications are naturally easy on the eyes. Just as with any other UI platform, making a nice-looking app with WPF requires design skills, and I don't have any. Eventually I'll get some help and make it not so hard to look at.
I was a bit surprised at the "open-sourcing" of WPF. I never regarded the source of WinForms as being very valuable, which is very much a wrapper over Win32, where the real meat is hidden, but WPF contains some core IP like the text engine. My first thought was what happens when engineers from a country like China that doesn't respect IP reviews documented source code. I guess these same issues exist for real open source.
WPF is also a wrapper around a lower-level API, and you can bet your bottom dollar that the text engine isnt being "open-sourced".
It will be interesting to see to what extent the lower-level API is documented, as it is currently not documented at all.
Posted by: damien morton | October 09, 2007 at 09:16 AM
May I ask why you didn't include Xceed in your list? (Didn't know about Xceed DataGrid for WPF, the first complex control released for WPF, or other reason?)
Posted by: Odi Kosmatos | October 09, 2007 at 10:19 AM
As damien noted, WPF is a wrapper has a significant un-managed portion known as MILCore (also used by the desktop window manager). I don't know where the text layout stuff in WPF resides. It will be interesting to see the code (plus lots of comments I hope) when the WPF source is released.
Posted by: JosephCooney | November 12, 2007 at 08:59 PM