For a .net developer, what\'s the learning curve to get into mobile development?
How many different operating systems are there that run .net?
Is windows mobile
Learning Curve
I hate to say "it depends" but it really does, and on several factors. What is your ".NET development" experience? Keep in mind that the CF supports C# and VB.NET, so if you're a COBOL.NET guy, it's going to be steeper than if you're a C# guy. If you do primarily ASP.NET on the desktop, it's going to be steeper than if you do WinForms. If you know nothing about occasionally connected scenarios and nothing about embedded systems it's going to be steeper than if you do.
Moving from desktop to mobile is fairly straightforward , but the Compact Framework contains a subset of the full framework, but it's not a pure subset. It also contains several things that simply don't exist on the desktop. So there are some things to learn.
Bigger than that, however, is that you often need a different mindset. You don't have swap files. You have limited memory and storage. You have sleep/wake. You have smaller resolutions and dynamic resolution and aspect changes. Desktop developers rarely think of these things.
Operating Systems
This is more straightforward. Only Windows CE platforms (see the next answer for more clarification) support the Compact Framework. There's also the Micro Framework, but I'd call it more "embedded" than "mobile" so it's likely not something you're considering (correct me if I'm wrong there).
CE versus WinMo
This is a major confusion point for lots of beginners. Unlike XP (exclude XPe for the sake of this discussion) or Vista, Windows CE is a modular OS. That means the device OEM can choose to include or exclude just about any feature in the OS. That means there is no one "Windows CE". Think of Windows Mobile and a Windows CE customer. They take CE and select a specific subset of available features. They then add their own pieces to it (like the WinMo shell, several APIs, etc). This means that a vanilla CE device can (and often will) have stuff that a Windows Mobile device doesn't. It also means that all Windows Mobile devices contain pieces that no vanilla CE device can. To make it even more fun, the WinMo OEM can then add even their own stuff, so one WinMo device may have stuff that another doesn't.
This doesn't even get into the differences between the WinMo platforms themselves (Professional, Standard, Smartphone, Phone Edition, etc).
Other Relevant SO Questions
You might want to look at these: