Calcium is a zero-dependency cross-platform framework for creating UWP, WPF, and Xamarin based applications. It provides much of what you need to rapidly create sophisticated yet maintainable applications.
Most of Calcium's code-base is located in .NET Standard libraries, allowing them to referenced from just about anywhere. Where features require platform specific implementation, platform specific libraries complement the .NET Standard libraries.
Calcium includes two main libraries: a minimal core library and an extras library. Calcium's core includes an easy to use ICommand implementation, frictionless INPC, a cross-platform settings service, IoC and DI, and a weak referencing pub/sub messenger.
Calcium Extras includes a user options system, form input validation, an undo/redo task system, application state preservation, and various cross-platform launchers for sharing links, sending emails and so forth.
The Essentials and Extras libraries are developed on independent timelines, with the Essentials experiencing fewer API changes.
In addition to the Calcium.Extras library, Calcium includes a data-binding library, Calcium.UI.Data, for use with non-XAML based technologies such as Xamarin.Android and Xamarin.iOS; and an Undo-Redo system located in the Calcium.UndoModel assembly. Calcium.UndoModel is downloadable as an independent package.
Read the Getting Started Guide.
- You can post bugs and feature requests in our Issues.
- For general questions and support, post your questions on StackOverflow
Calcium packages may be installed invidually, or you may choose to reference a dependency package. The two dependency packages are Calcium.Essentials, which references the .NET Standard core package along with its platform specific support libraries; and Calcium.Extras which references the .NET Standard Extras package along with its platform specific support libraries.
If you're just getting started and are unsure about what package to install, choose Calcium.Essentials.
These are Calcium's .NET Standard packages, together with the platform specific support packages.
Platform | Assembly | Package | Version |
---|---|---|---|
.NET Standard | Calcium.dll | Calcium | |
WPF | Calcium.Platform.dll | Calcium.Wpf | |
WPF .NET Core | Calcium.Platform.dll | Calcium.WpfCore | |
UWP | Calcium.Platform.dll | Calcium.Uwp | |
Xamarin.Android | Calcium.Platform.dll | Calcium.Android | |
Xamarin.iOS | Calcium.Platform.dll | Calcium.Ios | |
.NET Standard | Calcium.Extras.dll | Calcium.Extras | |
WPF | Calcium.Extras.Platform.dll | Calcium.Extras.Wpf | |
WPF .NET Core | Calcium.Extras.Platform.dll | Calcium.Extras.Wpf | |
UWP | Calcium.Extras.Platform.dll | Calcium.Extras.Uwp | |
Xamarin.Android | Calcium.Extras.Platform.dll | Calcium.Extras.Android | |
Xamarin.iOS | Calcium.Extras.Platform.dll | Calcium.Extras.Ios | |
.NET Standard | Calcium.UI.Data.dll | Calcium.UI.Data | |
.NET Standard | Calcium.UndoModel.dll | Calcium.UndoModel |