Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ReactiveUI and Caliburn Micro together?

I've been doing some prototype work on a new Silverlight application using Caliburn Micro as our MVVM Framework. The team has generally been happy with it. In order to address some issues with throttling requests to services, it was suggested that I look into ReactiveUI's ReactiveCollections and their implementation of INotifyPropertyChanged.

Does anyone have any experience around using the two together? Since they are both primarily MVVM Frameworks, there's a good bit of overlap, so I wonder if it might be more trouble than it's worth to try and make them work together.

Some of the things we really like about Caliburn Micro are:

  • The Convention based binding, etc...Very nicely done in our opinion.
  • Bootstrapping. We like the way this is handled, it's easy to extend when you need to, but the out of the box stuff works well for many of our use cases.
  • Composition/Screen Management. We really like Rob's notion of conductors, screens, etc. It flows very nicely for us.

The ReactiveUI stuff that has drawn us to it (at least initially).

  • The Reactive Collections and INotifyPropertyChanged stuff. Particularly the ability to throttle the reactions.
  • Reactive's asynchronous stuff seems a bit cleaner to deal with than Rob's Co-routine implementation.

I've barely had a chance to play with ReactiveUI yet, but as I was looking at it and seeing the overlap between the two, I wondered who might have tried to work both into a project. I haven't been able to find anything via Google (which could well be my fault).

I'd love to know if you tried this; what issues did you have? Which parts of each framework did you use and why? Are there any good examples or blog posts out there on using them together?

Cheers,

Steve

like image 280
Steve Brouillard Avatar asked Jul 21 '11 15:07

Steve Brouillard


1 Answers

Use both! This blog post should get you most of the way there - it's actually very easy to take existing ViewModels that use other frameworks and "RxUI'ify them". This way you can try out ReactiveUI on a single ViewModel without having to pick either Caliburn Micro or RxUI.

like image 148
Ana Betts Avatar answered Sep 20 '22 10:09

Ana Betts