One of the first things you will probably ask yourself when you start embarking on SharePoint 2010 development is where do you set up your development environment.  As I started investigating this, I realized there are a number of various options each with their own implications.  Below is listing of each option I found and some of my personal thoughts on each of them:

Option Pros Cons

Install SharePoint 2010 directly on our
Windows 7 / Vista workstation/laptop

  • It's nice to have SharePoint available to you at any time.
  • I don't like the "clutter" it adds to my laptop as I like to keep it fairly
    clean in terms of what's installed.
  • Pretty manual install
Create a bootable Hyper-V image
  • Keeps your development environment clean and partitioned from
    your business applications
  • If I have to boot to that image, I don't have access to my other application
    such as Office unless I decide to install all of that on the image which
    I don't think is very practical.

Create a Hyper-V image on a centrally
located Hyper-V Server

  • Similar to bootable option except you can usually take advantage of better hardware
    which usually mean better image performance
  • If you are offline and can't connect to the image there's not much
    you can do.
Run VMWare Workstation
  • It supports 64-bit OS's which means you can run it on your Windows 7
    or Vista environments without having to install SharePoint 2010 directly on your box.
  • Allows you to keep your image portable
  • Not a great solution if you want to standardize on Hyper-V which can result
    in a little pain when you want to share an image.
Run Windows Server 2008 as your workstation/
laptop OS with Hyper-V
  • Works great if you have the right hardware.
  • Performance can be horrible if you don't have the right hardware. (Details on
    this here)

 

You may have noticed in the list above that there isn't a Microsoft Virtual PC option.  That's because it doesn't support 64-bit OS's which is a requirement for SharePoint 2010.  I have tried to find out if there is a plan for Microsoft to update Virtual PC to support 64-bit OS's however I have yet to hear anything that indicates this.

For my purposes, I decided to run a VMWare image because I just felt it worked well for me given the hardware I have, the desire to keep my laptop clean, and the fact that I want to remain portable with respect to the image.  One other thing to note, if you want to take advantage of the new SharePoint 2010 developer tools in Visual Studio 2010 you'll need to have SharePoint 2010 installed on the same environment as Visual Studio 2010 which, in my opinion, makes the choice of the environment you choose all the more important.

I'd be really interested to hear other's thoughts on this topic.