just starting WM development trying to use VS 2008 Pro 90 day trial
-
I'm just starting WM development and I'm trying to use VS 2008 Pro 90 day trial, since it is closest to the C I've programed embedded applications (for specialized devices like digital satellite receivers, flight data recorders, transmission controllers, and a few other things). I'm looking for some samples or documentation on getting started. I've looked at the samples with the WM5 SDK, PocketPC->CPP->ATL PocketPC->CPP->Mfc PocketPC->CPP->Win32 I'm confused what the difference is in these example categories (I built and ran these, or the ones that would build). I also tried to find samples here, and was looking in the Mobile Development (http://www.codeproject.com/KB/mobile/[^]) but I'm not sure which would be for C++ development for a WM5 or WM6.x device. Can anyone point me in the right direction, or is there an article I've missed that explains these differences?
-
I'm just starting WM development and I'm trying to use VS 2008 Pro 90 day trial, since it is closest to the C I've programed embedded applications (for specialized devices like digital satellite receivers, flight data recorders, transmission controllers, and a few other things). I'm looking for some samples or documentation on getting started. I've looked at the samples with the WM5 SDK, PocketPC->CPP->ATL PocketPC->CPP->Mfc PocketPC->CPP->Win32 I'm confused what the difference is in these example categories (I built and ran these, or the ones that would build). I also tried to find samples here, and was looking in the Mobile Development (http://www.codeproject.com/KB/mobile/[^]) but I'm not sure which would be for C++ development for a WM5 or WM6.x device. Can anyone point me in the right direction, or is there an article I've missed that explains these differences?
Development Technologies
Win32
The Win32 code examples are based off of the Windows API and nothing more. Projects of this type of the potential to be the smallest of the different project types with the lowest level access at a cost; you'll have to make more function calls to perform certain tasks (such as creating a window) than you would in the other project types.
MFC
MFC is a step up from Win32. You still have access to all of the low level Win32 APIs but you don't have to make the low level calls for some rather routine tasks such as creating a window or a button. Instead the MFC framework offers a set of classes that encapsulates this functionality. You mentioned having a C background. MFC is based off of C++ and is object oriented. If you have not worked with Object Oriented Programming before then your 90 days may be better spent in targeting Win32 projects.
ATL
Like MFC, ATL is a framework library that abstracts away several low level tasks. I've never used it myself so I can't speak on it beyond that.
.Net and C#
If you have familiarity with object oriented concepts then your 90 days will be better spent targeting .Net as your project type. Like MFC the .Net framework abstracts away a lot of routine task. It adds a layer of separation between you and the lower level APIs but you'll find that it meets most of your needs. You didn't ask about this technology but I am encouraging you to look into it. Microsoft is releasing a series of webcast called "24 hours of Windows Mobile" that covers different aspects of mobile development using .Net. I've indexed some of the web cast that they have done in this series at th following URL. At the very least look at the introduction webcast.
Compatibility
For the most part anything you see that targets Windows Mobile 5 will work on Windows Mobile 6. In many (but not all) cases code that is said to target Windows Mobile 6 will work on Windows Mobile 5. The main factor that bifurcates the platform is whether a device is running Windows Mobile Standard or Windows Mobile Professional. A phone running Windows Mobile standard does not have a touch screen. A phone running Windows Mobile Professional has a touch screen (there are other differences but those are the primary differences). Some one had once asked about Windows Mobile development in the MSDN fo