WinFX: the new Windows API in Longhorn

WinFX Longhorn API Tutorial: WinFX, the Longhorn API, is the API for Windows in Longhorn. While the WinFX API in its first release within Longhorn is actually a peer to the Win32 API; it will eventually supersede the Win32 API. There is strong support for migration and interoperability scenarios between WinFX and the Win32 API, as well as between and managed code and COM components. This .NET/C++ Win32 API tutorial covers the WinFX managed classes and managed code in general, key differences between Win32 and WinFX, the software development kit (SDK), and interoperability with unmanaged code. Get the WinFX tutorial download here.

from Intel Corp.

The introduction of WinFX API in Longhorn has some developers wondering if this is really out with the old (the Win32 API) and in with the new. The answer is that for the time being, at least, both APIs will coexist.

WinFX, the Longhorn API, is the API for Windows in Longhorn. While WinFX in its first release within Longhorn is actually a peer to the Win32 API; it will eventually supersede the Win32 API. There is strong support for migration and interoperability scenarios between WinFX and the Win32 API, as well as between and managed code and COM components.

This article covers the WinFX managed classes and managed code in general, key differences between Win32 and WinFX, the Software Development Kit (SDK), and interoperability with unmanaged code.

The .NET Framework Provides the Basis for WinFX
Microsoft introduced .NET in 2000 as a software-development platform for quickly producing highly functional, secure Windows applications using modern technologies such as XML and Web services. This .NET platform has two main components: the Common Language Runtime (CLR) and the .NET Framework Base Class Library (BCL).

The CLR manages running code (hence the term "managed code"), verifies type safety, and provides garbage collection, error handling, and security. It also provides access to system resources via native APIs such as Win32 and COM interoperability.

The .NET Framework BCL is a comprehensive and unified object-oriented collection of reusable classes. Developers using the BCL can build applications that range from the traditional command-line or Graphical User Interface (GUI) Windows applications to applications based on the latest Web and Web services technologies. WinFX now joins this unified set of classes.

When combined, the BCL and the CLR offer a productive environment for writing code and developing applications. The CLR facilitates the creation of managed code during initial compile when it translates .NET code into Intermediate Language (IL) and later at runtime when the CLR compiles the IL and executes it using the Just-In-Time (JIT) compiler. The IL compilation phase results in an .EXE or .DLL file. The benefit of the .NET compilation model is that everything is turned into native code which yields a fast application

Subscribers who liked this article also read:
Multiprocessors, clusters, grids, and parallel computing: what's the difference
by Andrew Binstock, principal analyst, Pacific Data Works LLC. Intel C...

If you're interested in this topic, these articles may be helpful:

Java and .NET both bring something to the party
by Paul Steinberg, Sharat Agarwal, and George Vorobiov. Intel Corp. ...
Overview of enterprise-class application servers
by Matt Gillespie, technical author. Intel Corp. The application ...
Data access performance in ADO.NET
by Ramesh Theivendran, architect, Borland Software Corp. First publish...
Intel® Math Kernel Library for Windows
The flagship for HPC software, Intel® MKL is a set of highly optim...
Download: Rational RequisitePro
Rational RequisitePro from IBM is an easy to use tool for managing req...

Related Jobs:

Software Development Engineer in Test #131747 - WA - Redmond - Microsoft Corporation
Do you want to help develop the next generation technology for photos ...
Software Development Engineer #135389 - WA - Redmond - Microsoft Corporation
Are you interested in tackling the most challenging security problems ...
Test Manager #134126 - WA - Redmond - Microsoft Corporation
The Accessible Technology Group needs a driven, experienced leader to ...
Software Development Engineer in Test #135393 - WA - Redmond - Microsoft Corporation
Do you want to join a cool project that is increasing the security of ...
Software Development Engineer in Test #135374 - WA - Redmond - Microsoft Corporation
Do you want to join a cool project that is increasing the security of ...
Software Development Engineer in Test #144198 - WA - Redmond - Microsoft Corporation
Are you passionate about distributed systems and are energized by the ...
Lead Software Development Engineer in Test #132300 - WA - Redmond - Microsoft Corporation
Come join the team that is developing the user experience around Netwo...
Program Manager #143893 - WA - Redmond - Microsoft Corporation
Are you looking for a v1 opportunity in one of Microsoft’s fastest gro...
Software Development Engineer in Test #137019 - WA - Redmond - Microsoft Corporation
Do you want to help develop the next generation technology for photos ...
Program Manager #144064 - WA - Redmond - Microsoft Corporation
Do you want to help change how users interact with software, devices a...