/Calcium

Calcium is a zero-dependency cross-platform application framework for creating UWP, WPF, and Xamarin applications. It provides much of what you need to rapidly create sophisticated yet maintainable applications.

Primary LanguageC#MIT LicenseMIT

Calcium

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.

Support

  • You can post bugs and feature requests in our Issues.
  • For general questions and support, post your questions on StackOverflow

NuGet Packages

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.

Packages

These are Calcium's .NET Standard packages, together with the platform specific support packages.

Platform Assembly Package Version
.NET Standard Calcium.dll Calcium 21
WPF Calcium.Platform.dll Calcium.Wpf 26
WPF .NET Core Calcium.Platform.dll Calcium.WpfCore 35
UWP Calcium.Platform.dll Calcium.Uwp 25
Xamarin.Android Calcium.Platform.dll Calcium.Android 23
Xamarin.iOS Calcium.Platform.dll Calcium.Ios 24
.NET Standard Calcium.Extras.dll Calcium.Extras 27
WPF Calcium.Extras.Platform.dll Calcium.Extras.Wpf 32
WPF .NET Core Calcium.Extras.Platform.dll Calcium.Extras.Wpf 36
UWP Calcium.Extras.Platform.dll Calcium.Extras.Uwp 25
Xamarin.Android Calcium.Extras.Platform.dll Calcium.Extras.Android 29
Xamarin.iOS Calcium.Extras.Platform.dll Calcium.Extras.Ios 30
.NET Standard Calcium.UI.Data.dll Calcium.UI.Data 33
.NET Standard Calcium.UndoModel.dll Calcium.UndoModel 34