reactiveui/ReactiveUI

Good Examples

WonderPanda opened this issue ยท 70 comments

I'm sure that I'm not the only who has mentioned this but there is a definite lack of solid examples/documentation when trying to look at building an application using RxUI, especially with the release of version 6. The only content I've been able to find that's applicable are on @paulcbetts personal blog and some half-finished (perhaps out of date with the new version) readmes in the docs branch.

The framework could desperately use some complete working examples of applications built on the different platforms it supports. I've found that the team at Adaptive have done some amazing work with Rx in WPF, HTML5, iOS and Windows Phone environments with an open source and well documented simulated trading application:
https://github.com/AdaptiveConsulting/ReactiveTrader

They seem to be rolling with their own implementation of MVVM leveraging Rx. Perhaps there would be opportunity to alter their codebase to leverage all the fantastic tools in ReactiveUI?

Either way it would be great to see some work on this front. I can personally volunteer my own time to work on a WPF sample application that could be open sourced but the lack of anything to follow is a big deterrent. Even knowing how to set up a MainViewModel properly is stumping me right now. Is there anyone from this community who I could collaborate with or even ask questions periodically about proper convention to build such a sample application to help other newcomers?

dsaf commented

Also https://github.com/reactiveui/ReactiveUI.Samples seem to be desperately outdated.

Agreed. Official samples must be updated to work with the newest version.

But for now, take a look at Building Apps the GitHub Way
https://github.com/paulcbetts/XamarinEvolve2014
where Paul Betts demonstrates how to use the current (6.x) version of ReactiveUI and other very cool stuff he is working on.

I'd like to add a vote for documentation and samples as well. It's great to see that the framework is evolving and getting more and more capable, but the lack of up-to-date documentation, guides and samples really kind of renders all of this great work inaccessible to all but the most determined developers. I think it would be really valuable to take a temporary step back from further development of the framework and put some major focus on documentation. I know that I would find it useful and I'm sure you could increase the user base significantly by doing so.

If you guys want them updated, maybe a good project is for one of you to just update them?

Unfortunately I'm not enough of an expert in the intricacies of the library to take this on. My comment was inspired by the fact that documentation by an expert (such as yourself) would be very helpful in more effectively utilising ReactiveUI.

@axefrog You would be an expert once you're done

And yet documentation would alleviate the need to become one ;)

Look, I understand we're all busy people and it's certainly not my place to tell people what their priorities are, I was simply making the point that ReactiveUI is a great framework from what I understand about it so far, and it's a shame that documentation is not prioritised more than it is, as it means it's less approachable for newcomers (such as myself) than it could be, particularly in terms of unknown unknowns, and this means that you're limiting the scope of the audience for all your great work. Anyway, thanks for building a great framework, I guess I'll figure out the intricacies when I need to...

@axefrog there's a set of docs relevant to RxUI 6 here: https://github.com/reactiveui/ReactiveUI/tree/master/docs

I appreciate the questions raised here, and I'd love to clarify the questions/issues you are grappling with about RxUI, so those gaps can be addressed...

Hey I'm working on a RXui application for an upcoming presentation. Have no issues polishing the crap out/gold plating the application to act as a learning reference in exchange for some abusive mentoring in slack - if/when needed. ๐Ÿ‘

Solid WPF + Caliburn example by @flagbug -> https://github.com/flagbug/Espera

I also feel there's a lack of good examples. Something not too complex, but something like Sacha Barber did with his Cinch (a simple application that features a little of every piece of the library, can be found here http://www.codeproject.com/Articles/99010/CinchV-Version-of-my-Cinch-MVVM-framework-part).

I offer myself to make some showcase in WPF.

Android example by @flagbug using Rx6 + Xamarin Forms -> https://github.com/flagbug/UnofficialGitterApp

Oh, it seems that the one by @grokys is at the very early stage of development. It doesn't even have the login implemented ๐Ÿ˜„

Also, I've seen the Espera application by @flagbug and it's too complex to handle for newcomers. I hope someone can offer some update documentation or project. I really looking forward to learning how to use RxUI!

Yes, apologies - I intended to work more on it, but real life got in the way :( Maybe in the next month or so I will have some time...

Don't worry, I understand you! Real life job got my balls, too. Too bad! I think I should become unemployed to get some good fun, ๐Ÿ˜†

Just on the note of ReactiveUI examples, here's a WPF and Android app that I created for the DDD East Anglia and DDD North conferences in the UK: https://github.com/sh1989/ReactiveFlickr

There's two branches: master uses WPF bindings, auto-data-template uses ReactiveUi's IViewFor functionality to magic up views for view models

๐Ÿ’– ๐Ÿ’– ๐Ÿ’– ๐Ÿ’– So many great apps! ๐Ÿ’– ๐Ÿ’– ๐Ÿ’– ๐Ÿ’–

This is my little offer: https://github.com/SuperJMN/ReactiveUI-BingSearch

It's a working example that uses some cool features. It's very basic, but I might be useful for anyone ๐Ÿ˜„

Good Rx5.4 routing example by @jen20 at https://github.com/jen20/reactive-routing

Android + RxUI 5.99 by @mhorn69 at https://github.com/mhorn69/ReactiveUI.Xamarin.Samples - note related to pull request #542

RxUI 6.3 example by @RolandPheasant at https://github.com/RolandPheasant/TradingDemo who also just published https://github.com/RolandPheasant/DynamicData which is a comprehensive library for reactive extensions, which are used to manage in-memory collections. As the source collection changes the operators receive a changeset which enables them to self-maintain.

@ghuntley The best way to illustrate anything is by example which is why I put together the trading demo as a show case for dynamic data. I saw ReactiveTrader by adaptive which personally I think is a tool for selling their skills as a company rather than as an education illustration. This is why I have made each screen in the trading demo very simple so the code is easy to follow.

I have several more screens in mind which when I get a chance I will implement. Although I set it up as living documentation for Dynamic Data, the more I look at ReactiveUI to more inclined I am to embrace it. I think ReactiveUI and Dynamic Data complement each other very well which is why I wrote the adaptor see https://github.com/RolandPheasant/DynamicData.ReactiveUI

So perhaps going forward I will get rid of my crap mvvm implementation, use ReactiveUI and make it a living document for both.

ReactiveTrader is a good example for how to use Rx in an API, but when they get to the actual UI layers, they fall back to imperative coding city. It's still worth looking at of course, just know that you can do far better :)

Well put Paul

Visual Studio Project Templates will be highly appreciated

@ade2la preferred way of doing VS templates would be via http://sidewaffle.com/

Which parts of documentation and samples need the most help at the moment, @paulcbetts ? I hear that the best way to learn is to teach, so rolling my sleeves up to help with anything I can.

Welcome @DarekDan - have asked @paulcbetts to send over a invite to facilitate discussion in slack. Keep an eye out for the invite. For now have a read of the following #771 (comment) and as soon as your in slack send send a message to @rdavisau and @ghuntley

Hi, I made a Post about using ReactiveUI and a GitHub repository. Simple Binding and routing for new projects.

@jen20 gave a three hours talk on Progressive .NET 2014 about ReactiveUI, here is the repo https://github.com/jen20/ProgNET2014, here is the video https://skillsmatter.com/skillscasts/5217-building-reactive-user-interfaces (free, need to log in)

That talk covered Reactive UI 5 rather than 6 (6 wasn't released at that
point) - it's quite likely deficient in other ways too :-)

James

On 22 February 2015 at 11:33, Alexey Zimarev notifications@github.com
wrote:

@jen20 https://github.com/jen20 gave a three hours talk on Progressive
.NET 2014 about ReactiveUI, here is the repo
https://github.com/jen20/ProgNET2014, here is the video
https://skillsmatter.com/skillscasts/5217-building-reactive-user-interfaces
(free, need to log in)

โ€”
Reply to this email directly or view it on GitHub
#687 (comment)
.

Well, about a year ago I asked about RxUI docs and got an advice to watch the original Pau's video from, don't know, five or six years ago? When I said something like "it's too old" the answer was - concepts are still valid! I believe, most of the concepts that you touched in the talk are still valid as well :)

@shiftkey presentation on ReactiveUI v6 + WPF vs MvvmLight + WPF at NDC 2014

code: https://github.com/shiftkey/octohipster
presentation: https://vimeo.com/97329155

This is a work in progress. Xamarin app using ReactiveUI 6.0.x.x and Xamarin Forms.

https://github.com/pdoh00/Time2Brew

The demonstration applications for Telephony uses RXUI6 on all mobile platforms:

https://github.com/ghuntley/telephony

How many hours of work would it take to put together documentation or a video series on v.6 ? I propose we estimate the budget and open a kickstarter project and try to reach potential supporters by posting the link here to see if the sufficient funds are raised, to justify the time the author will dedicate to this....

Hey i stumbled accross http://reactiveui.readthedocs.org/ - its not complete and as i understand its build upon the github resources but at least the content is more convinient to browse.

@omares Yep that's issue #771 - I can grant you or anyone else direct access to edit the pull request branch that RTD is being built off. Always looking for people to contribute knowledge. ps are you in slack? Email @paulcbetts for an invitation and say hello once your in.

@pdoh00 has contributed some visual studio snippets for usage w/RXUI6 https://gist.github.com/pdoh00/7435255

Any sample available on Xamarin.iOS with ReactiveUI and SQLite?. I'm a beginner in Xamarin as well as reactiveui. I want to build few enterprise apps which were developed on SilverLight with WCFRIA. So need to do apps with offline capability using SQLite and needs to share code between platforms.

gluck commented

@abrahamja maybe https://github.com/paulcbetts/starter-mobile ?

Alternatively searching github for reactiveui+sqlite+ios can hint you at such projects.

Workout Wotch is a Xamarin Forms (iOS + Android) app I wrote that uses ReactiveUI.

Animation

@ghuntley A link to LiveTemplates would be appreciated.

@kentcb Great looking example!

@derekdan I think these are the live templates @kondaskondas was referring to.

https://gist.github.com/pmbanka/b4f51b5d3b055a2cdc97

Personally I use and recommend https://github.com/kswoll/ReactiveUI.Fody

@ghuntley I think it's v6.1; it's a direct port of the ReactiveUI.Samples.Basics project, and the samples currently all use ReactiveUI 6.1.

https://github.com/flagbug/Espera.Mobile by @flagbug uses Rx6.5 and Xamarin Android. This is the mobile counterpart of https://github.com/flagbug/Espera which is Rx6.5, Caliburn and WPF.

https://github.com/moswald/RxUI-UWP-Sample by @moswald for UWP .Net Native and RxUI v7 (ie. building from source)

Is there any references on how to use ReactiveUI in winfom based application?

A very basic sample of how to use Routed navigation with Xamarin.Forms 2.3.2 and RxUI 7: https://github.com/GiusepeCasagrande/RoutingSimpleSample/

Do you guys have any sample that works for Winform + DataGridView.

Hi all, I aswel started using Reactive Extensions in combination with ReactiveUI. Do any of you know a basic example on how to use ReactiveUI for iOS and Android in native Xamarin applcation? Thus, without Xamarin.Forms.

Seeing as how there are many posts in this thread, I'm wondering if it would make sense for the ReactiveUI team to provide a simple bootstrapped solution which consists of basic projects for each platform (WinForms, WPF, iOS-Xamarin-UWP with Xamarin Forms). This way, when someone wants to dive into REactiveUi, they can simply start off from this basic "Skeleton" solution and not have to worry about bootstrapping.

any examples on how to handle universal applications in Xamarin for both tablet and non-tablet (phone and tablet) on both IOS and Android?

Simple Music Player using now ReactiveUI 7.2 (MahApps.Metro, WPF 4.5+)

image

Where's a good "hello world"? An unsorted Issues thread is a little overwhelming when I've just started looking at the framework.

@voltagex Try this one. It's based on a Xamarin tutorial. https://github.com/aalmada/reactive-dev-days-lab

@JonDouglas Hi, thank you for your sample. I was curious, where I should initialize my all startup stuff, like IoC container registrations, etc. on Android, in my main activity? Thanks in advance.

@yehorhromadskyi You should do it in a Custom Application class. You should be able to take any existing Xamarin IoC example as a baseline. However Splat seems to do a good enough job with it's service locator.

https://github.com/RobGibbens/Xamarin.IoC

@JonDouglas Thank you, that was helpful!

@axefrog there's a set of docs relevant to RxUI 6 here: https://github.com/reactiveui/ReactiveUI/tree/master/docs

I appreciate the questions raised here, and I'd love to clarify the questions/issues you are grappling with about RxUI, so those gaps can be addressed...

404 not found :(

GitHub
GitHub is where people build software. More than 40 million people use GitHub to discover, fork, and contribute to over 100 million projects.

We been getting a decent set of samples here now https://github.com/reactiveui/reactiveui.samples

GitHub
This repository contains ReactiveUI samples. Contribute to reactiveui/ReactiveUI.Samples development by creating an account on GitHub.