|
Microsoft Plugs 'Managed Code' as WinFX Goes to Beta
by Alex Woodie
The era of managed Windows code came one step closer to reality this week when Microsoft announced the beta 1 release candidates of "Avalon," a new presentation subsystem, and "Indigo," a Web services transactional layer, which together make up the WinFX application programming interface (API) that Microsoft hopes will become the standard programming model for all current and future releases of Windows when it ships next year. Microsoft is also introducing new identity management technology called "InfoCards," which will be part of the WinFX beta RC.
Since Microsoft debuted the Win32 programming model with Windows NT, the majority of Windows programmers have written applications in more or less the same way. When WinFX controls become generally available--which Microsoft still says should be in 2006--that programming model will start shifting in a significant way.
WinFX represents a movement away from the Win32 API that developers have relied upon for so long, and implements a new programming model that's based on the .NET Framework. WinFX is a superset of .NET technologies, and will enable developers to write applications for Windows using .NET concepts and languages. As the .NET API for Windows, WinFX will enable programmers to take advantage of next-generation technologies, such as development of three-dimensional user interfaces (Avalon) and ensuring the secure exchange of data between applications using Web services technologies (Indigo).
Microsoft says WinFX is significant because it ushers in the era of managed code. Unlike the unmanaged code of the C-era, the managed code written using C# and other Visual Studio .NET languages that conform to the common language runtime (CLR) will result in tighter, cleaner, and more secure code. David Treadwell, Microsoft's corporate VP of the .NET developer platform, explains the benefits of the CLR and managed code in an in-house interview conducted by Microsoft and posted to Microsoft's PressPass Web site.
"The CLR is responsible for handling things like basic security checks on software, as well as handling all memory management, which means it's easier for developers to write quality code without doing any extra work," Treadwell says. "Potentially dangerous things such as memory leaks and buffer overruns happen in substantially fewer circumstances because the programming practices that can create such situations, such as pointers, just aren't used by developers if they write managed code….It's hugely easier to write high-quality code and to build tools to check code quality on managed code than it is in unmanaged code."
In addition to cleaner more secure code, developers will have substantially less code to write when WinFX becomes part of the Windows operating system, Treadwell says. The managed code framework "provides a high-level set of classes and controls that simplify common coding tasks by enabling developers to call a class library rather than writing a bunch of code themselves," he says.
The big question is: How will Windows developers react to this shift and will they embrace the concepts of managed code and refrain from writing unmanaged code? According to Treadwell, a Forrester Research study shows the .NET Framework (a prerequisite for WinFX and writing managed code) is in use at 56 percent of enterprises. The flip side of that equation is that about half of the big shops aren't even using the .NET framework, and .NET is less likely to be used the smaller shops.
When WinFX becomes available, users won't be restricted from writing to the Win32 API, and Longhorn will even run old DOS applications. It is doubtful Microsoft will want to expose any new programming techniques in anything but the WinFX API, however, if adoption lags, Microsoft may be inclined to support its vast installed base of legacy code, and legacy coders, with wrappers for Win32.
WinFX was originally slated to be one of the key new features in the next version of Windows, codenamed "Longhorn." But Microsoft removed WinFX as a Longhorn-only technology last summer when it decided it would make WinFX available for Windows XP and Windows Server 2003, and simultaneously cut the next-generation WinFS file system from Longhorn in order to meet its revised goal of shipping Longhorn by 2006. The plan to make WinFX available for current-generation Windows operating systems looks smart, from a total-installed-base point -of view. But it has some people wondering what whiz-bang new technologies will debut with Longhorn. (For Longhorn server customers, the latest stuff could come in the form of a hypervisor layer that supports dynamic hardware partitioning, as we learned at WinHEC 2005 last month.)
In addition to the beta 1 release candidates of Avalon and Indigo, Microsoft unveiled its new InfoCard functionality, which looks to be a type of single sign-on (SSO) technology for storing user IDs and passwords, and for streamlining the authentication process for users as they access Web applications and services. Treadwell described InfoCard as an "end-user experience Microsoft is creating in support of the vision of an Identity metasystem, and to make the end-user experience around using digital identity simpler and safer."
The beta 1 release candidates of Indigo and Avalon require the beta 2 release of Visual Studio 2005. The public can download the beta 1 release candidates of Indigo and Avalon from MSDN; click here to go to the download page.
|