10/27/2003 2:18:48 PM


Now, the PDC has begun, I could spill the beans.

It's official. "WINFX" is the new name for next evolution (or, should I say, revolution) of .NET Frameworks. It encompasses all of the managed APIs that Microsoft will ship in Longhorn, including Avalon, Indigo, and WinFS, and .NET Frameworks.

Microsoft made a HUGE bet on .NET with the next version of Windows. How huge! I doubt there are any new traditional Win32 API calls; they are all managed. Like it or not, you will be dragged into .NET; you will have to deal with managed code. Virtually everything in the OS is being rewritten in managed code. The new explorer is managed, which I also think will make it easier for developers to extend, who can simply inherit from shell objects. The new command line shell is managed.

I urge you to look at the Longhorn SDK reference at It has the new Longhorn namespaces. Tthe number of classes and namespaces have grown several fold.

The Avalon APIs resides in the System.Windows.* namespace and acts as a new Windows presentation layer, that no longer uses but completely bypasses USER or GDI. That's right. Avalon utilizes DirectX and it does away with the Windows message loop. When you program in Avalon, you won't see System.Drawing anymore--it's gone; GDI calls don't work on Avalon windows. In return, you get visual effects that you only see in video games and Flash apps. The programming model is declarative, not just in markup but in code, which has a one-to-one correspondence with code. You use Windows Vector Graphics (essentially, SVG) to render graphics. Graphics is done on top of Managed DirectX, but most programmers won't go that even go that to level.

WinFS likes in System.Storage.*. This API completely changes how you program against the filesystem. The harddisk is basically a database--storage has become relational rather than hierachical. You no longer think about or use physical files, you think about high-level objects that you use.

An application can still use both WinForms with Avalon. WinForms and Avalon will be separate windows, which can each be hosted on the other. Plus, there are lots of other support, like document support API, that Avalon and WinFX provides, that are available to WinForm apps. I've heard that XAML, Avalon's markup language, may work with WinForms as well.

It's a whole new world.

Disclaimer: I don't work at Microsoft and these are my own opinions.






Net Undocumented is a blog about the internals of .NET including Xamarin implementations. Other topics include managed and web languages (C#, C++, Javascript), computer science theory, software engineering and software entrepreneurship.

Social Media