WinFX API Primer
Just the facts, ma'am.
Sunday, September 11, 2005 by Frogboy | Discussion: PDC 2005
There's so many technologies floating out of Microsoft these days that it's really difficult to fixate on what is and isn't important. This series of guides is designed to provide you with a nuts and bolts overview of what developers should be paying attention to in Windows Vista.
Since 1994, Microsoft has been pushing a single overall API known as Win32. Starting with Windows Vista, the new API is WinFX. That doesn't mean Win32 is going away, it's still there. But WinFX is going to be the one that Microsoft is going to focus most of its attention on for most developers.
.NET
.NET is a rich sets of APIs Microsoft has been making available as a separate download for some time. .NET 1.1 is the current official release but 2.0 is in beta. While some will cringe at the comparison, .NET is kind of a much much better implementation of Microsoft's old MFC libraries. The problem today with .NET is that it requires a separate download. But in Windows Vista, it'll be part of the OS. We've used .NET internally and it is very nice. When used with C# or VB.net, you can create things much faster and much cleaner. The main downside is that it's managed code which isn't really bad for most developers but if you want to get more low level, you still need Win32. But very few people write code that wouldn't be better handled by .NET. If you're a software developer, start learning more about .NET.
AVALON
This is officially called Windows Presentation Foundation. It's the new graphics subsystem in Windows Vista. In some ways, it is similar to the various GDI implementations but has a very rich API. Its functions can be accessed from .NET languages such as C# but it also includes a mark-up language for making visual applications very easily called XAML. If you plan to create programs that are visual in nature, learn about AVALON.
INDIGO
This is officially called the Windows Communication Foundation. I can tell you from experience that writing network aware applications can be a real pain in the butt. INDIGO makes it much easier to create network programs. If you write code that talks to other computers (over a LAN or the Net) you'll want to learn about INDIGO.
These APIs put together are called WinFX. The other technologies in Windows Vista are interesting but for most developers, these are the key 3 that you will want to keep an eye on.
From a developer's point of view, Windows Vista is going to be nice because WinFX is part of the OS. On Windows XP, we don't tend to make use of .NET, even though it is so nice, because we don't want to require our users to have to download extra "stuff". Developers who know these technologies will have a significant productivity advantage in developing software for Vista over those who stick to Win32 for general application development.
Reply #2 Monday, September 12, 2005 3:17 AM
Reply #3 Monday, September 12, 2005 10:09 AM
Reply #4 Monday, September 12, 2005 11:16 AM
So WinFX is more or less a complete NT subsystem implementing the same API (plus new extensions and features) as .NET implements on top of Win32?
Is .NET to WinFX like Cygnus to Interix? (Apart from the binary compatibility in the first case.)
Reply #6 Tuesday, September 13, 2005 10:06 AM
Cygwin and Interix both implement the POSIX API for Windows, but Interix (or ather "Windows Services for UNIX") is a subsystem and Cygwin works on top of Win32 (like Wine does in the opposite direction, I wonder if Wine runs on Interix).
Reply #7 Tuesday, September 13, 2005 12:42 PM
WinFX is the replacement to Win32, which implies (to me) that it will operate at the same level that Win32 did. WinFX is going to integrate .NET into the subsystem, instead of having it run on top of it like it did in Win32, making everything theoretically more effecient.
The image in brad's post accurately shows the relation of .NET to WinFX. .NET is becoming a function within the new WinFX API
Reply #8 Tuesday, September 13, 2005 2:38 PM
Reply #9 Wednesday, September 14, 2005 6:18 AM
Please login to comment and/or vote for this skin.
Welcome Guest! Please take the time to register with us.
There are many great features available to you once you register, including:
- Richer content, access to many features that are disabled for guests like commenting on the forums and downloading skins.
- Access to a great community, with a massive database of many, many areas of interest.
- Access to contests & subscription offers like exclusive emails.
- It's simple, and FREE!
Reply #1 Monday, September 12, 2005 2:36 AM