#MVU

Kerrick Long (code)kerrick@ruby.social
2026-01-09

Developer experience has been my consistent focus when #Ratatui #Ruby and its #MVU runtime #Tea (The #Elm Architecture).

For example, look at this great #Router #DSL! For most cases, this will save you a ton of code and headaches. But when you need full control, you've got it.

Try it now: git.sr.ht/~kerrick/ratatui_rub

Learn more: sr.ht/~kerrick/ratatui_ruby/

#DeveloperExperience #DX #TUI #TerminalUserInterface #Software #Functional #Programming #SoftwareEngineering

A screenshot of two similar Ruby files, the one on the left is over 80 lines of code and the one on the right is about 40 lines of code. the one on the left is pretty dense and hard to read at first, the one on the right is pretty clear.
2025-12-31

Today there's no game news but more general F# content from my side
Some time ago I wrote an MVU package for Avalonia, it was not finished but I decided to give it a try again
This time the project leans more on Avalonia itself rather than go full MVU, this offers an MVU API but, with more Avalonia native mechanisms like observable bindings
Controls are created once and then just binds are updated which is quite performant!
github.com/AngelMunoz/Mvuish.A

#dotnet #fsharp #avalonia #mvu

2025-09-17

what if we could implement the MVU (Model-View-Update) pattern in GTK 4 in such a declarative way?

last night I had this idea and quickly put together a sketch of how it might look in code. I should clarify that I haven't written a single line; it's 100% a thought experiment for now

the thing would be to use JS/Rust/Vala for all state logic (Model/Update) and let Blueprint/XML define the UI (View) in a super clean way, connecting everything with data binding and messages

here are the two snippets I came up with for this concept, which I called Styx (provisional name™)

what do you think? do you see potential in an approach like this?

#GTK #GNOME #MVU

Vala code snippet that implements Model-Update logic for a counter app using a library called Styx. It defines the "CounterModel" to store the state ("count"), the "CounterIncrementPressed" and "CounterDecrementPressed" messages for user actions, and the "CounterUpdater", which contains the "update" function to modify the model state according to the message received.GTK Blueprint code snippet that defines the interface of a counter app. It shows integration with a library called Styx using "Styx.Builder". The interface contains a label whose text is bound to the "count" value of the data model, and two buttons, "+" and "-", which dispatch the "increment" and "decrement" messages to update the state.
2025-01-08

In his online book, Iced (the GUI library) explains that the Model-View-Update design pattern fits well with Rust because it is suited to purely functional languages. And libcosmic (based on Iced) in its own book goes even further: MVU adheres to Rust's “aliasing XOR mutability” rule².

BTW I realize that MVU is not limited to simple apps if associated with an async mechanism.

¹ book.iced.rs/architecture.html (see "The Elm Architecture")
² pop-os.github.io/libcosmic-boo

#RustLang #Iced #ibcosmic #MVU

Wiesław Šoltéssoltes
2024-05-03
Gerald Versluisjfversluis@mas.to
2023-03-13

With MauiReactor we have another great option to do MVU and coded user-interfaces for .NET MAUI. With this framework you can build component-based UIs built on top of .NET MAUI to realize amazing cross-platforms apps.

Thank you for this Adolfo! Everyone: let's not forget to star this repo and support Ado!

youtube.com/watch?v=egklcAC9ar

#dotnet #dotnetmaui #mvu #mauireactor

@nosherwan @tunaxor Oh I'm just trying to join #Qwik + #Remix router + #MVU / #ElmLang in my head. Trying to think of a way to get it to work in #FSharp + #Fable

Jason Imisonjasonimison
2019-03-25

"Coming at this from an almost exclusively C#/XAML MVVM standpoint it was actually kind of a rude awakening"
---
RT @JasonPandiras@twitter.com
Working with Fabulous for Xamarin.Forms areslazarus.com/archive/workin -forms
twitter.com/JasonPandiras/stat

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst