views:

447

answers:

7

Are there any special features or advantages that make it worthwhile switching from Windows XP to Windows 7 for .NET Web/Windows/Office development?

I'm currently using Visual Studio 2008 on XP box. Should I upgrade to Windows 7?

+2  A: 

There are lots of new features available to Windows 7 developers. Check out Windows 7 API Code Pack for .NET.

Judah Himango
But that is OS specific, no longer used in XP compatible/web application development.
Brij
I'm sorry, before you question was edited, you appeared to be asking what Win7 features are available to developers. I think you need to clarify your question, because now it doesn't even look like a programming question.
Judah Himango
+1  A: 

According to Microsoft, there are advantages to running Windows 7 when working with Server 2008 for production:

  • Simplified remote connectivity for corporate computers by using the DirectAccess feature
  • Secured remote connectivity for private and public computers
  • Improved performance for branch offices
  • Improved virtualized desktop integration
  • Higher fault tolerance for connectivity between sites

I submitted a similar list to my manager to seal the deal on upgrading to Windows 7. I really enjoy using it!

Michael Valenty
A: 

There are lots of new features available to Windows 7 developers.Check out[link text][1]

http://windowsteamblog.com/blogs/developers/archive/2009/03/30/windows-7-net-interop-sample-libraries.aspx

bala3569
+1  A: 

This article covers some of the new Windows 7 features available to .NET developers.

Enhancing your applications for Windows 7

New Windows 7 features available include:

  • Windows 7 Taskbar
    • Jump Lists, Icon Overlay, Progress Bar, Tabbed Thumbnails, and Thumbnail Toolbars
  • Windows Shell
    • Windows 7 Libraries
    • Windows Shell Search API support
    • Explorer Browser Control
    • A hierarchy of Shell Namespace entities
    • Windows Shell property system
    • Drag and Drop for Shell Objects
    • Windows Vista and Windows 7 Common File Dialogs, including custom controls
    • Known Folders and non-file system containers
  • DirectX
    • Direct3D 11.0, Direct3D 10.1/10.0, DXGI 1.0/1.1, Direct2D 1.0, DirectWrite, Windows Imaging Component (WIC) APIs
  • Windows Vista and Windows 7 Task Dialogs
  • Sensor Platform APIs
  • Extended Linguistic Services APIs
  • Power Management APIs
  • Application Restart and Recovery APIs
  • Network List Manager APIs
  • Command Link control and System defined Shell icons
cxfx
+2  A: 

Sorry for stating the obvious here but XP is "old", very "old". Even the jump from XP to vista brought many new features which could be accessed by .NET developers.

The development experience in VS2008 won't change much switching from XP to Vista/Win7. (Although the overal user experience might improve, depending on what you like. For example I love Windows 7 so it just makes me feel better not having to work with ugly XP)

I think the real question is... can the application that you create benefit from running on top of Windows Vista and Windows 7. (And how can your customers benefit from this).

Are you willing to break compatibility with Windows XP or will you write enough code so that it uses the features of Windows version X if available and downgrades itself when running on older versions.

On a side note:

Personally I'd prefer it if none of our customers were still running on Windows XP. While .NET apps that don't hook into Windows version X specific features run perfectly on XP, Vista and Win7 alike... they sometimes look hidious on XP. (And the lack of WPF GPU acceleration is a problem for us)

Conclusion:

  • Improved development experience -> only slightly if you're not a Vista/Win7 hater
  • Can you improve the experience for the end user? -> yes if they use Windows 7
TimothyP
I would like to add: You clearly asked if it improved the development experience... all the features suggested in the other answers are related to the operating system itself and features for the end users
TimothyP
I agree with you
Brij
A: 

The most important benefit is that you develop it on Windows 7, your application can work fine against the incompatibilities introduced in Vista and Windows 7. UAC is such a roadblocker.

Generally speaking, your application runs fine on Windows 7, then it should run fine on Windows XP and Vista (unless you use Windows 7 specific elements).

Lex Li
If you run into UAC then you need to ask yourself if your application really needs to do that specific task which causes UAC to fire.We try to avoid the requirement for administrator intervention and extended security access in all our applications.
TimothyP
Haha, but sometimes you have no choice. :)
Lex Li
A: 

For me, there are two reasons to develop on Windows 7 - meaning to install VS on a Win7 box and work there, not necessarily developing an application which explicitly uses Win7 features. First, regardless of the platform you're targeting or what your users are using, I like using Win7. I find it makes me more productive - my laptop runs snappier than it did on Vista, and I love the jumplists etc. There's nothing wrong with choosing your personal OS for your personal reasons.

But even if you don't prefer Win7 to XP yourself, the second reason for developing on it (at least when you're building a windows app) is that every time you press F5, you're testing against the platform your users are (possibly? probably?) using. If you test only on XP and you hard code a path to C:\Documents and Settings... and it works, you won't know there's anything wrong with that until someone else tests on Win7. If you write your settings to "the same folder where my exe is" and it works, then someone installs it under Program Files on Win7 and it fails, you'll have to scramble to find out why. Build it on Win7 and you'll find those problems sooner rather than later.

Kate

Kate Gregory