What is it?: WinFX is the application programming
interface (API) used in Vista, the forthcoming version of Windows.
FX stands for Framework Extension, and WinFX is literally an
extension of the .net Framework.
In 2003, when Microsoft unveiled WinFX, the replacement for Win32,
analyst firm Gartner warned that developers would need to gain
skills in the .net Framework to make use of the new API. Recent
announcements concerning Windows Vista, better known by the
codename Longhorn, spell the long-term demise of the Win32
programming model, and unmanaged code.
However, Microsoft has committed itself to ensuring that older
applications will continue to run, and said all features will also
be accessible to Win32 developers. "Existing source code and
training skills apply to Windows Vista, whether developing in
C++/MFC or VB.net/Windows Forms," it said.
WinFX is designed to be used primarily by .net languages, providing
a consistent managed-code programming model. Windows Vista's new
approaches to presentation and communications, the Windows
Presentation and Communications Foundations (codenamed Avalon
and
Indigo respectively) will both be exposed through WinFX.
Where did it originate?
The Win32 APIs (there are approximately 70,000 individual APIs in
Win32) superseded Win16 in 1992, with the introduction of Windows
NT. WinFX builds on the .net Framework, which was announced and
released for public testing in 2000.
What is it for?
The three basic components of WinFX are the .net Framework, and the
Avalon and Indigo subsystems. An XML-based markup language, XAML,
has been developed for use with Avalon.
Managed code runs under the control of .net's Common Language
Runtime, which takes care of burdens such as memory management -
concerns that would otherwise have to be addressed by the
developers themselves.
What makes it special?
As part of the operating system, WinFX has a closer relationship
with low-level system resources than Win32. Developers may continue
to develop applications with Win32, but the advantages of WinFX are
persuasive, and include developing applications that should run
unmodified both on the Windows Vista platform and other .net
platforms. Existing .net applications should also be able to run
without modification on Vista.
However, Gartner said the benefits of WinFX come at a cost. "While
established Win32 applications will continue to run, a new
application that takes full advantage of Avalon, Indigo and WinFS
will not be backward-portable to platforms other than Longhorn," it
said.
How difficult is it to master?
According to Microsoft, those who can already write managed code
on the .net Framework will find WinFX "like second nature". Win32
programmers should see this as an opportunity to make the move to
.net. Microsoft said, "Existing applications can incorporate
WinFX-based functionality very easily."
What systems does it run on?
WinFX will also be made available on Windows XP and Windows Server
2003.
What is coming up?
The Windows Vista client, including WinFX, is due in 2006. Beta
versions of the WinFX SDK and the Visual Studio extensions for
WinFX can be downloaded from the Microsoft website.
www.microsoft.com/downloads