About a month ago, David Pallman, the leader of the Custom Application Development Practice Council at Neudesic, issued a call to action for more Neudesic consultants to give back to the community through open source CodePlex projects. So I answered his call, and I seem to be the only one at the moment. Nevertheless, I started the Composite WPF Shell project. Check it out.
The purpose of the Composite WPF Shell project is to capture a lot of the ideas, knowledge, and experiences that I’ve gained using the Microsoft Composite Application Guidance for WPF, or Prism, project. All of this knowledge is being incorporated into a starter shell project that can be used by others to build their composite applications. By starting off with my shell, developers will gain a lot of “out-of-the-box” features that they can reuse while focusing on delivering their application value and not spending a lot of time working on a shell. Hopefully I’ll also be able to convince clients to let me reuse it on their projects.
The Composite WPF Shell project has or will have a lot of features that others can learn from and build upon:
- Acceptance tests using FitNesse and FitNesse.NET. As more WPF functionality will be built, application automation will be added using the White framework on CodePlex.
- Full unit tests using xUnit.NET, including testing of user interface components in isolated application domains.
- Workflow is fully integrated into the shell application. All user interface functionality will be driven through workflows that run on the client.
- Integrated designer functionality will allow end-users to customize application workflows.
- An add-in and extensibility architecture that will provide support for third-parties to extend applications based on the shell.
Over the next few weeks, I’ll be writing a lot more about the development of this project and explaining how to build new applications using the common shell as the basis for your applications.