The developer-specific features of a new operating systems tends to receive relatively little attention in the grand scheme of things, but like it or not, the release of an OS can have a significant impact on your development process.
For example, you might have to review your existing applications for compatibility with the latest version of the OS, then decide whether you are willing to make the changes required to make your app compatible with it. Similarly, your company or your customers might expect you to revisit your user interface and update it so it reflects the latest UI conventions.
In this article, I'll walk you through some of the common issues you might face in the wake of a new version of Windows, pointing you to official Microsoft sites for tackling these issues in Windows 7.
If you aren't familiar with the changes Microsoft introduces from a developer perspective, you can find an overview of getting started with Windows 7
. From there, you can link to the "Windows 7 Developer Guide," which covers basic issues for developing applications on Windows 7, including how to improve rich application experiences and how to leverage the best of Windows and the Web.
Download developer toolkits
Microsoft has released a pair of new toolkits to help developers create applications for Windows 7: the Windows API Code Pack for Microsoft .NET Framework and the Windows 7 Training Kit for Developers.
The first toolkit includes (among other features): various UI controls (with source code); an Explorer browser control; common file dialogs for Windows 7 and Vista; and sensor platform, power management, and application restart and recover APIs. You can download this API code pack
The second toolkit, the Windows 7 Training Kit for Developers
, includes several practical presentations, demos, and hands-on labs for getting up to speed with Windows 7.
Implement Windows 7 UI look and feel
Like earlier iterations of Windows, version 7 introduces a new look-and-feel for Windows applications that will become the de facto standard for current applications. You can find some of these UI controls—such as the Windows 7 Taskbar Jump Lists, Icon Overlay, Progress Bar, Tabbed Thumbnails, and Thumbnail Toolbars—in the aforementioned Windows API Code Pack for Microsoft .NET Framework.
Note that you can also jumpstart duplicating this look-and-feel with the aid of third-party components. Several companies that produce UI widgets and tools also create components that will let you duplicate the look-and-feel of Windows 7, not just in applications that run on Windows 7, but also in applications that run on Vista or XP.
Is your app Windows 7 compatible?
Whenever a new OS is released, developers often find themselves scrambling to determine whether their existing applications will run on it. It is likely that your application will run on Windows 7 if it works on Windows Vista, but there are exceptions. If you (or any of your clients) do want to run or port an existing application to Windows 7, you can visit what Microsoft calls the "Windows 7 and Windows Server 2008 R2 Application Quality Cookbook."
The purpose of this guide is "to verify the compatibility of [your] applications with the new operating system and provides an overview of the few known application compatibility issues in Windows 7 and Windows Server 2008 R2." In addition to addressing compatibility issues with Windows Server 2008, the cookbook also covers steps you can take to increase the performance, reliability, and usability of your applications that run on Windows 7.
You can learn more about the Windows Application Quality Cookbook
If you were one of those developers who never took the Windows Vista plunge, and intend to port your applications from Windows XP directly to Windows 7, then you should also check out Microsoft's page
that covers transitioning earlier versions of Windows to Windows Vista.
It's one thing to ensure your application can run on Windows 7, but it's quite another to ensure that it is capable of being logo-certified. To receive this logo, you must submit your application to Microsoft, which will subject your app to a series of tests that measure compatibility and reliability when running on Windows 7. You can find more information on this process, including information on where to download a logo compatibility toolkit.
There is, of course, no requirement from Microsoft to have logo certification. If you're an enterprise developer working on custom applications, it probably doesn't matter. However, a growing number of enterprises are looking for that logo certification on their packaged applications as a way to reduce testing and compatibility costs.
The links and sites discussed in this article should help you get up to speed on developer issues pertaining to Windows 7. You might also find it useful to bookmark the default developer site for Windows. This site includes links to developer resources (many of which are included in this article), but also links to various Windows team blogs, training videos, white papers, and a contest for creating apps that show off Windows 7-specific features. Finally, you can find a developer-centric blog on Windows.