Jason Olson, an enterprising 3rd party, posts a look at the benefits of knowing about threading when building an entire UI stack from scratch. Instead of requiring you to transition from a worker thread to the UI thread to talk to a control, Avalon lets you grab the UI context that owns the control and party on:
void ShowProgress(int secondsElapsed) {
try {
this.Context.Enter();
txtSeconds.Text = secondsElapsed.ToString();
}
finally {
this.Context.Exit();
}
}
This is far simpler code than what would be required in code based on User32. Nice.
There seems to be a common misconception that since Avalon windows/pages are/can be declared in markup (XAML), it must be a web killer/reach solution. It’s not.
In this short video, Joe Beda, answers the question of whether Avalon is meant to replace HTML/the web (it’s not) and what’s Avalon’s message of “best of the web/best of Windows” message is really about, e.g. ease of deployment for Avalon apps like web apps, accessing central services for data and functionality (using web services instead of client UI generation), etc.
I gave a talk at the Twin Cities .NET User Group in Minneapolis in January and I met a guy there building a web sit to crawl .NET source code on the web. I didn't get his contact info and he didn't email me, so I don't know how to get a hold of him. If that's you, please drop me a line. Thanks!
Wow. I've seen bits and drops of Whidbey (I'm limited to builds that work on Longhorn), so haven't seen the grand, overall vision of it. In the latest Microsoft Developer Tool Roadmap, they whole darn thing is laid out and the new stuff goes on forever! Details are presented for IDE enhancements, language enhancements for VB, C#, C++ and J#, Windows Forms, ASP.NET, devices, ADO.NET, web services, Office, SQL Server, Analysis and Design (aka "Whitehorse") and even a bit about what's coming in Longhorn on the tools side. Holy New Stuff, Batman!
Kevin Lindsey has been exploring Avalon and posting some things he didn’t expect. I love how he posts pictures of what he expected alongside of what he actually got: