A .NET library for declaratively persisting and applying application state like window sizes, user preferences, and form data.
Jot is a .NET library for persisting and applying application state in desktop applications. It solves the problem of manually managing settings like window sizes, locations, and user preferences by providing a declarative API to track object properties and automatically save/restore them.
.NET developers building Windows Forms, WPF, or Avalonia UI desktop applications who need to manage persistent application state without writing repetitive boilerplate code.
Developers choose Jot because it dramatically reduces the amount of code needed for state persistence, offers a clean, declarative configuration model, and seamlessly integrates with IoC containers for automatic tracking.
Jot is a library for persisting and applying .NET application state.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses a fluent API to define tracked properties, reducing repetitive boilerplate as shown in the comparison with .settings files for window persistence.
Supports automatic persistence on events like window closing and manual API calls, allowing fine-grained control over when data is saved.
Comes with a default JSON file store but allows custom IStore implementations for databases or cloud storage, as demonstrated in the documentation.
Tracking configurations inherit for derived types, and objects can implement ITrackingAware for dynamic property tracking, simplifying complex scenarios.
The library lacks asynchronous methods for storage operations, noted in the TODO list, which could hinder performance in IO-bound applications.
Requires platform-specific handling for WinForms, WPF, and Avalonia to avoid tracking incorrect states, adding setup complexity and potential errors.
Advanced topics like async support and ASP.NET Core integration are marked as TODO, leaving gaps for developers needing those features.