Caliburn.Micro VS async_ui

Compare Caliburn.Micro vs async_ui and see what are their differences.

Caliburn.Micro

A small, yet powerful framework, designed for building applications across all XAML platforms. Its strong support for MV* patterns will enable you to build your solution quickly, without the need to sacrifice code quality or testability. (by Caliburn-Micro)

async_ui

Lifetime-Friendly, Component-Based, Retained-Mode UI Powered by Async Rust (by wishawa)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Caliburn.Micro async_ui
6 7
2,770 548
0.8% -
4.0 8.4
8 days ago about 2 months ago
C# Rust
MIT License Mozilla Public License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Caliburn.Micro

Posts with mentions or reviews of Caliburn.Micro. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-04.
  • caliburn.Micro: Difference between ActivateItemAsync and ActivateItem ?
    1 project | /r/learnprogramming | 3 Nov 2022
    It works with ActivateItemAsync but I don´t know if there is a difference that I should be aware of ? They seem to be a bit slow with updating the documentation so I´m a bit nervous about what else might not be updated yet.
  • Show HN: Async UI: A Rust UI Library Where Everything Is a Future
    7 projects | news.ycombinator.com | 4 Oct 2022
    The programming model reminds me of Rob Eisenberg's older attempts at building UI toolkits ([0]). I don't recall if that was fully async or 'just' using a coroutine/generator-style approach, but it feels similar.

    I'm not sure the complexity of doing everything using async constructs is worth it, though. Large-scale UI's built in Qt or Javascript are mostly single threaded anyway, but it's still worthwhile to explore so kudos for that. Looking forward to seeing how far you get.

    [0] https://github.com/Caliburn-Micro/Caliburn.Micro

  • Learning WPF
    1 project | /r/dotnet | 26 Jul 2022
    Vanilla WPF has a lot of boilerplate and verbose binding expressions. I'd check out an MVVM library like https://caliburnmicro.com/ which has tons of convention-based features and helps maintain the "screens" in your app.
  • Getting head around {get;set} for C# Models
    2 projects | /r/csharp | 22 Jun 2022
    Your UI needs to bind to something that can programmatically notify it about changes, we call these things View-Models. Usually View-Models implement INotifyPropertyChanged interface (another key interface is INotifyCollectionChanged that is responsible for notifying collection views that number of items is changed and they need to update the UI accordingly). You can do that (the implementation of the interface) manually or use some library to do that for you just to cut some boilerplate code (e.g. ReactiveUI + Fody or Microsoft.Toolkit.MVVM or maybe even this or this).
  • Microsoft.Extensions.DependencyInjection to inject ViewModels into Views in AvaloniaUI app?
    3 projects | /r/dotnet | 14 Feb 2022
  • 3rd party frameworks to add ease of use to XAML/WPF?
    1 project | /r/csharp | 8 Jul 2021
    I haven't done WPF/XAML stuff in years but I really liked Caliburn Micro, largely because of the convention-based auto-binding.

async_ui

Posts with mentions or reviews of async_ui. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-03.
  • A Proposal for an asynchronous Rust GUI framework
    9 projects | news.ycombinator.com | 3 Sep 2023
    I'm very interested in seeing if using the commonly implemented forms of compiler support for async programming can also be well used for GUI programming. One wishawa[0] is also perusing this approach in Rust but I first came upon this idea from the crank-js[1] authors. It wasn't clear to me why that one never went anywhere. Was it failure with the approach or was React just a good solution in the space? I can say this though, there's something strikingly elegant about those initial samples of using JavaScript generators for components.

    [0]: https://github.com/wishawa/async_ui

    [1]: https://github.com/bikeshaving/crank

    6 projects | /r/rust | 2 Jun 2023
    Not OP, but... I'd argue that async style event handling is even more readable then the traditional way of using callbacks. Take a look at this counter example in Async UI (a project I've been working on that's very similar to what OP purposes); my event handlers are all in the same place, and my state (the value variable) is a regular variable; no reactivity primitive needed.
  • What is the "idiomatic" approach to events/callbacks?
    1 project | /r/rust | 4 Nov 2022
    If you are doing ui events, then you can have a look at wishawa/async_ui.
  • Show HN: Async UI: A Rust UI Library Where Everything Is a Future
    7 projects | news.ycombinator.com | 4 Oct 2022
    Only in small examples. This doesn't look that much like SwiftUI to me: https://github.com/wishawa/async_ui/blob/main/examples/web-t...
  • Async UI: a Rust UI Library where Everything is a Future
    1 project | /r/rust | 4 Oct 2022

What are some alternatives?

When comparing Caliburn.Micro and async_ui you can also consider the following projects:

Prism - Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Xamarin Forms, and Uno / Win UI Applications..

molecule - Build a StateFlow stream using Jetpack Compose

ReactiveUI - An advanced, composable, functional reactive model-view-viewmodel framework for all .NET platforms that is inspired by functional reactive programming. ReactiveUI allows you to abstract mutable state away from your user interfaces, express the idea around a feature in one readable place and improve the testability of your application.

crank - The Just JavaScript Framework

MVVMCross - The .NET MVVM framework for cross-platform solutions, including Android, iOS, MacCatalyst, macOS, tvOS, WPF, WinUI

MoonZoon - Rust Fullstack Framework

MVVM Light Toolkit - The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in Xamarin.Android, Xamarin.iOS, Xamarin.Forms, Windows 10 UWP, Windows Presentation Foundation (WPF), Silverlight, Windows Phone.

composePPT - An experimental UI toolkit for generating PowerPoint presentation files using Compose

Stylet - A very lightweight but powerful ViewModel-First MVVM framework for WPF for .NET Framework and .NET Core, inspired by Caliburn.Micro.

sqlx - 🧰 The Rust SQL Toolkit. An async, pure Rust SQL crate featuring compile-time checked queries without a DSL. Supports PostgreSQL, MySQL, and SQLite.

LiveCharts2 - Simple, flexible, interactive & powerful charts, maps, and gauges for .Net, LiveCharts2 can now practically run everywhere WPF, WinForms, Xamarin, Avalonia, WinUI, UWP.

rui - Declarative Rust UI library