Forum Xamarin.Forms
We are excited to announce that the Xamarin Forums are moving to the new Microsoft Q&A experience. Q&A is the home for technical questions and answers at across all products at Microsoft now including Xamarin!

We encourage you to head over to Microsoft Q&A for .NET for posting new questions and get involved today.

Fabulous F# Functional App Development

AresLazarusAresLazarus USMember ✭✭
edited February 2019 in Xamarin.Forms

Hello all!

I can't find a thread on Fabulous via search so I'm assuming the subject hasn't come up yet. It's a young framework developed in part by F#'s Don Syme that uses F# and elmish MVU to build Xamarin.Forms applications, the most noticeable advantage being that it does away with all the binding and XAML support code (think no more IValueConverters) in favor of an elm style application structure. It also supports live updating your program while debugging.and uses model immutability to make storing and restoring the app state a piece of cake (although so far I am having limited success with getting either going).

The cons are obviously that if you are approaching it from a pure C# perspective you are probably going to have quite a time adjusting to the functional paradigm, and elm architecture also takes some getting used to even if you are proficient with F#, and the overall newness of the project.

While I found it to be one of the better documented open source projects I've come across, and despite the sample projects available the main thing I think it's currently lacking is some sort of cookbook. For instance it was definitely ultimately possible to get a device permission between model updates but I would much rather the solution had turned up by me searching "F# Fabulous Permissions" rather than going through the (concise and well organized) documentation until I found the Cmd.ofAsyncMessage example.

So if anyone else is experimenting with Fabulous I hope this post gets the ball rolling for some shop talk, perhaps establish a useful pattern or two.

Project page:

Don Syme Fabulous presentation powerpoint:


Sign In or Register to comment.