Orchestra is a composable shell built on top of Catel.
Orchestra consists of a main shell including an SDK with services that allows developers to communicate with the shell. Developers can write their own modules which implement the actual functionality of their application.
These modules can communicate with the shell, but also with each other through the services that are offered out of the box.
We are currently working on the next version of Orchestra in the feature/v2 branch.
Some of the features which will come out of the box:
- MahApps integration
- Module management
- License management
- Command management
- Shortcut manager (which will allow end users to remap shortcut keys)
- Splash screen customization
- About box window
- Automatic updates
Features already included in Catel:
- Application wide logging
- FluentValidation
- Memento (undo/redo)
Open source (MS-PL license), so you are free to use it in commercial applications
- Framework developed with best practices in mind which will allow you to deploy robust applications
- Allows you to focus on the business logic so your application will be completed a lot sooner
- Built on Catel and all that goes with it giving you a head start on your project
- Nuget packages released regularly:
- Visual Studio templates to get started quickly
Orchestra uses a plugin architecture with some already well know open source libraries already implemented:
- AvalonDock (docking library)
- Catel (MVVM framework plut a lot more)
- Fluent Ribbon
- Prism
- Nancy (Lightweight Web Framework for .NET)
- OxyPlot (Cross platform plotting library - Work in progress)
It is easy to add extra modules by following the examples.
- Automatic plugin update infrastructure
- Text editor module
- Csv editor module
You can ask for support on our mailing list: https://groups.google.com/forum/#!forum/orchestradev
Everyone is encouraged to contribute, either by:
- Submitting pull requests
- Documentation
- Blogs and tutorials