Skip to content

Orchestra is a composable shell and WPF framework built on top of Catel

License

Notifications You must be signed in to change notification settings

WildGums/Orchestra

Repository files navigation

Orchestra

Name Badge
Chat Join the chat at https://gitter.im/WildGums/Orchestra
Downloads NuGet downloads
Stable version Version
Unstable version Pre-release version
Open Collective Backers on Open Collective Sponsors on Open Collective

Orchestra is a mature, composable WPF shell and framework built on top of Catel.

It has been in active development for over 5 years (initial commit 2012/06/18) and is used in numerous Line of Business (LoB) applications on a daily basis.

Orchestra consists of a main shell including an SDK with services that allow developers to communicate with the shell.

Goals

Provide a robust yet flexible LOB shell, designed with best practices in mind, to jump start the development of desktop applications.

In other words, we wanted to create a shell that dramatically speeds up the time it takes to release a LOB application to market by enabling developers to concentrate more on the business logic and less on scaffolding.

Available Shells

Orchestra provides support for two different shells:

  • Fluent ribbon
  • MahApps
Fluent ribbon shell MahApps shell
Fluent Ribbon 01 MahApps 01
Fluent Ribbon 02

Project Templates

Want to get up and running fast? Grab the project templates from the Visual Studio Marketplace:

You can pick either the Fluent.Ribbon or MahApps shell and have a fully running project within seconds:

Sample Applications

Here are some examples of applications built with Orchestra and other Orc.* libraries:

LogViewer Rantt CsvTextEditor FlexGrid
Log viewer Gantt chart application Csv file text editor Data visualizer
Log Viewer Gantt Chart CsvTextEditor FlexGrid

LogViewer and CsvTextEditor are open source projects hosted on Github.

Other examples of commercial applications built with Orchestra can be found on our official website WildGums.com.

NuGet packages

Prerequisites

A good working knowledge of Inversion of Control (IoC).

Orchestra features

  • Application wide logging with an in app log viewer (CTRL + L)
  • Command manager
  • Shortcut key manager
  • Fluent validation
  • Themeable 'about box' window
  • Themeable splash screen
  • Consistent styling across the whole application

Orchestra + module features

We purposely designed Orchestra to be a lightweight shell. However you can 'super charge' it with the following open source libraries: (We use all these libraries with Orchestra. In fact they were designed to work seamlessly with Orchestra. Hint: the libraries all start with Orc.*)

You can find the full list here.

Other similar open source projects

For documentation, please visit the documentation portal

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]