Using pre-release software is always a risky business, there isn’t much help, code examples are sparse and bugs are prevalent, but that is mostly made up for by the large community that’s embracing it, the openness and willingnesss of the product team to deal with developers and the hugely passionate ‘Evangelists’ who are pushing awareness of the technology. I’ve experienced this with everything I’ve worked on over the last few years, MDX, .NET 2.0 etc. I have no doubt that without this emergent support structure I wouldn’t have been able to get the first release of the Regatta Manager completed on time.
(Can you sense the but coming?)
But…WPF is different. It’s different because so much is new, not just in technology but in process and concept. So much can be defined declaratively, for example, that you run the risk (as I have) of getting into the same traps that web development used to, markup so complex that it’s too hard to manage. XAMLs power is at the same time it’s (current) major weakness. Work for too long in EID and you’ll go back to Visual Studio and not know where to start, but at the same time custom controls are so hard to work with because of resource loading issues that sometimes you wonder if it’s worth it. Which brings on to the main topic off this post, debugging. Specifically the lack of it in any conventional sense.
As XAML is decalarative you are solely reliant on schema support, design time value checking and the accuracy of any samples you use for help. With the breaking changes between CTPs, the disparity between the XAML that EID produces and the schema VS uses to validate it and Cider not being able to render controls in clr-namespaces you’re not in for an easy time.
The software developer without his debugger is like a physician without his stethoscope, there are other ways to diagnose problems, but you feel slightly impotent without your first line of attack. Things will obviously get better over time as platform and tool support is refined and improved, but until then be prepared to make extensive use of the other instruments in your bag.