Challenging Windows Mobile 6.0, Page 2
SDKs and Frameworks
This area was not actually significantly changed, but it became more standardized and robust. Now, you may develop one application to run under all platforms and care less if some APIs are supported on one of them.
The fact that .NET CF 2.0 and SQL Server Mobile are included in the default ROM is great news for developers. Apart from multiple improvements and fixes made in CF.NET 2.0, you can rely on the OS and not care about additional deployment modules. Microsoft works hard to increase the efficiency and productivity of managed development on mobile devices, so changes in the framework are expected and welcomed. I won't list all of them here, but just note a few:
- Docking and anchoring of GUI controls
- Enhanced keyboard support
- New, improved, or reworked controls (for example, Notification control)
- ... Here you can add a dozen other things
Interactions between managed and native code were also revised and improved. For instance, CF.NET defines the Handle property for all Windows Forms controls; this represents a regular Windows handle in native code and may be passed to Win32 API functions (or other C++ components) when required. Another great feature is the State and Notifications Broker. It informs your application about more than 100 different state changes and events occurring in the OS, such as Camera availability, BT device connections, WiFi state, and so on and so forth.
The Native APIs were also lined up with desktop versions. A good example is the Sound API that now allows you to play various sound formats such as MID, WMA, MP3, and WAV. If you have tried to play MIDI files on previous versions, you will warmly appreciate the fact that it is free now. There are also new controls like InkCtrl, so you may incorporate it to your applications.
Let me say a few words about Smartphone development. Before VS205, developers could not use the MFC library on that platform; this definitely made things more complicated. The latest versions of the OS and IDE allow you to utilize MFC's rich class libraries also for Smartphones (the only requirement is to link it as a static library). I have put a screenshot of a simple Dialog-based application running on the Smartphone emulator:
And, one final general thing about the SDK: samples and best practices guide. The WM 6.0 SDK has more that 100 samples that cover a lot of topics, so have a look there.
Rephrasing one of reviews for the Razr phone, Windows Mobile 6.0 is as powerful as it gets. Learning from previous versions' experience, the Microsoft team did really a great job! With CF.NET and native API getting closer and closer to their desktop versions, developers may concentrate on the contents rather than solving device restriction issues. Enjoy it!
About the Author
Alex Gusev started to play with mainframes at the end of the 1980s, using Pascal and REXX, but soon switched to C/C++ and Java on different platforms. When mobile PDAs seriously rose their heads in the IT market, Alex did it too. After working almost a decade for an international retail software company as a team leader of the Windows Mobile R department, he has decided to dive into Symbian OS ™ Core development.