.NET and Windows 7: It's a Wrap!
Microsoft is pulling out all the stops to get developers -- both native and managed coders -- on board the Windows 7 roll out.
Last week, along with the availability of the Windows 7 RTM (in English) to MSDN and TechNet subscribers, Microsoft released RTM versions of the Windows 7 SDK, Windows API Code Pack for the .NET Framework and the Windows 7 Training Kit for Developers.
The Windows API Code Pack for .NET is essentially a library of managed code wrappers that enables .NET programmers to access some of Windows 7's features along with functionality in earlier versions of Windows. It is the successor to the Windows Vista Bridge project.
Version 1.0 includes the Windows 7 Taskbar (Jump lists, Progress Bar, Overlay), Windows 7 Libraries and Shell, Explorer Browser, Sensor Platform APIs, Direct 3D 11.0 and earlier, Windows 7 and Vista Common File and Task dialogs and much more.
As a reminder, the definition of a "library" is expanded to include an end user perspective in the new operating system. "A Windows 7 Library is a user-defined collection of content that represents the user's data independently from the folder hierarchy," explains Yochay Kiriaty, Microsoft technical evangelist, in a blog on the subject.
The Windows API Code Pack for .NET RTM update adds support for Shell Search API and Direct 3D and 2D interoperability, among other enhancements. It does not include the Windows Ribbon, which Microsoft says will not be in Version 1.0, or multi-touch support.
The Windows 7 Training Kit for Developers, which offers hands-on labs to both native and .NET programmers, has been updated and features a new user interface. It also adds labs on common app compatibility issues: Version Checking, Data Redirection, UIPI, Installer Detection, Session 0 Isolation, and High DPI.
The always entertaining Scott Hanselman offers 10 tips to Windows 7 developers in his ComputerZen.com blog. He says that developers can write the same app and have it run on Windows XP, Vista and Windows 7 and points to a sample app. There's more to come on that topic, he promises.
As Hanselman's blog attests, Microsoft is indeed calling on .NET programmers to optimize or build apps for the new operating system, but is .NET still a second class citizen in the Windows world? The .NET Framework was lauded as the third generation of Windows development when it debuted in 2002. Almost a decade later, the .NET framework that ships with the operating system still lags behind the latest version of the framework and we won't get started on the abyss that is native and managed interoperability.
Windows 7 ships with .NET 3.5 SP1, it does not support .NET 4, expected to RTM later this year or in early 2010. The Windows API Code Pack for .NET offers a workaround of sorts, but will these libraries be part of .NET 4? Not if .NET 4 Beta 1 is any indication. Developers are left with a quandary, build apps with the not-so-new framework for the latest operating system or deal with issues related to getting the latest version of .NET on Windows 7 users' desktops when many Windows 7 apps are ready for prime time in 2010 and beyond.
Microsoft is offering lots of resources for .NET Windows 7 programming but should the folks in Redmond do more? Express your thoughts below or drop me a line at firstname.lastname@example.org.
Posted by Kathleen Richards on 08/11/2009 at 1:15 PM