TO ABUSE AN ALREADY ABUSED CLICHÉ, we are at a tipping point for the Web and application development in general. The past several years have seen a notable shift away from basic full-page-based, postback-intensive web applications that minimized the use of JavaScript in favor of server-side code for maximum browser compatibility. Today, some amount of AJAX is assumed for any new web application, and every day we see new "Web 2.0" applications and companies popping up.

At the same time, and in part because of this shift, the old "thin client" versus "rich client" dichotomy has increasingly faded. It is entirely possible, and, indeed, it is often the case, for a web-based application using AJAX to truly have a richer experience than most desktop-based applications, be they Windows Forms-, Java-, or MFC-based. In fact, one might say that web applications today set the bar (excluding games, of course).

Enter Windows Presentation Foundation (WPF), the long-awaited, updated Microsoft desktop-application user interface (UI) framework. WPF borrowed from what has been learned on the Web (such as markup-based interface declaration and good separation of UI concerns), unified multiple Windows graphics APIs, and introduced new capabilities to Windows-based applications and new platform features (such as the enriched dependency property system, commanding, triggers, declarative animations, and more). WPF reestablished the desktop as the new "rich client," although not without contest ...

Get Professional Silverlight® 4 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.