I have heard comments like "I am new to Windows Mobile development. Where should I start? What books do you recommend?"
So if you are a complete beginner, let me tell you what you need to get started:
1. You will need to install Microsoft Visual Studio 2005, Standard Edition or above (Express Editions are not supported). SP1 recommended. If you are using Microsoft Visual Studio 2008, you need Professional Edition or above.
2. You will need to install the Windows Mobile 6 SDK Refresh if you wish to develop to Windows Mobile 6 devices.
3. You don’t need an actual device to start developing, as the SDK has a device emulator that can run on your desktop, but of course there is nothing like running your applications on an actual device.
You can program a Windows Mobile device using Win32 APIs (C/C++) or using the .Net Compact Framework (C#/VB.Net).
If you are familiar with C/C++ but are not familiar with Win32, I recommend taking a look at the book "Programming Windows" by Charles Petzold. It was written for desktop, but in my opinion it is the best Win32 book out there. If you are familiar with Win32, but want to know Window CE (The OS under Windows Mobile) specific items, take a looks at the book "Programming Windows CE" by Doug Boling.
If you would rather program in C# or VB.Net (If you are a Java developer you will feel more comfortable with them), then any C#/VB.Net book should do it for you. There is however, a very nice C# programmers reference on msdn that includes some tutorials.
Some resources you should be aware of are:
1. These windows mobile and windows CE tutorials on msdn.
2. The windows mobile development page on msdn.It has many webcasts and pointers to the different windows mobile forums.
3. The windows mobile developer wiki in channel 9.
Feel free to add any additional resources you are aware of in your comments.
-Luis E. Cabrera