One of the continual issues in developing mobile enterprise applications has been the ability to create high quality reusable code as quickly as possible. In theory the same code should be modular enough to be used across a variety of mobile projects without having to constantly repeat the same steps. Ideally it should also exemplify best practice.
The try and address the issue Microsoft's "patterns and practice" (PAG) group has created the Windows Mobile Client Software Factory (MCSF). This contains both documentation guidance, design patterns and actual C# anand Visual Basic .Net source code. The factory is downloadable at:
http://go.microsoft.com/fwlink/?linkid=69145&clcid=0x409
Make sue you go for the revised installers and documentation...
So what is a "software factory"?
It can be loosely defined as a collection of well written code test tools and help files, which allow the creation of specific types of applications predictably and efficiently.
Application Blocks
One of the key elements of the Windows Mobile Client Software Factory is its Application Blocks. These are designed to provide pre-built common functionality, decrease development time and improve code quality. The currently defined application blocks are as follows:
- Windows Configuration Block
- Mobile Connection Monitor Block
- Mobile Data Access Block
- Mobile Data Subscription Block
- Disconnected Service Service Agent Block
- Mobile Endpoint Catalog Block
- Mobile Logging Block
- Mobile Orientation Aware Control Block
- Mobile PIN based Authentication Block
I have started to play with some of its modules recently and as I delve into its behaviour I'll post some more...