reactiveui / rfcs

RFCs for changes to ReactiveUI
https://reactiveui.net/rfcs
5 stars 5 forks source link

RFC: [Learning Team] Interactive Documentation #8

Open ghuntley opened 6 years ago

ghuntley commented 6 years ago

The ability to visualize things and experience reactive programming without having to download/configure their developer workstation will definitely mean the difference between failure and success in getting someone to grok how stuff fits together.

The JavaScript ecosystem has a bunch of fully interactive tutorials but the .NET ecosystem doesn't which a hump that shouldn't exist. One shouldn't need to download Visual Studio to learn - let's get rid of this requirement.

The Xamarin workbooks team has a solution - it's super early but I think we are in a position where we could PR them and make the future happen sooner.

Here are some screenshots of ReactiveUI running in the browser - no downloads required:

reactiveui in the browser thx to the workbooks team giggle.. interactive documentation in the browser... no downloads needed.

If you want to take it for a whirl the fastest route right now is to do as follows:

git clone git@github.com:reactiveui/try.reactiveui.net-binaries.git
cd try.reactiveui.net-binaries
dotnet workbooks-server.dll
start http://localhost:5000

If you want to hack on this:

havremunken commented 6 years ago

This is amazing. One thought; Would it be possible to store code snippets somehow, so that when a newbie appears on slack or SO or something and starts his sentence with "How do I" and we have an example for it, we send him/her the URL and they are immediately in Wonderland?

ghuntley commented 6 years ago

Most definitely

ghuntley commented 6 years ago

Some discussions w/Miguel over at https://reactivex.slack.com/archives/C02AJB872/p1526530008000080

Summary:

Thoughts:

Slack
ghuntley commented 6 years ago

Relevant conversation in Slack - https://reactivex.slack.com/archives/C0PQCKDV1/p1530520704000291

Slack
worldbeater commented 5 years ago

Looks promising! Just tried to make it work—which operating system and .NET Core SDK version does it require? It didn't work for me on Ubuntu 18.04 LTS with .NET Core 2.2 SDK installed, this is the output of dotnet workbooks-server.dll, the react app shows Loading forever in Chrome:

Xamarin Inspector
Copyright 2016-2018 Microsoft. All rights reserved.
Copyright 2014-2016 Xamarin Inc. All rights reserved.
├─ Version: 0.0.0-local
├─ Date: 1/1/01 12:00:00 AM
├─ Hash: @PACKAGE_HEAD_REV@
├─ Branch: @PACKAGE_HEAD_BRANCH@
└─ Lane: @PACKAGE_BUILD_HOST_LANE@

[Info][00:00:00.0330026] ClientApp (Initialize): AppSessionId: 09ea2f01-b52f-49a2-bcae-8e803b7a9a26 @ C:\Dropbox\OSS\reactiveui\try.reactiveui.net\Clients\Xamarin.Interactive.Client\ClientApp.cs:112
[Warning][00:00:00.0493610] MainThread (Ensure): MainThread.Ensure desired in GetValue but MainThread has no associated SynchronizationContext @ C:\Dropbox\OSS\reactiveui\try.reactiveui.net\Agents\Xamarin.Interactive\MainThread.cs:51
[Info][00:00:00.0497031] Telemetry (.ctor): Telemetry is disabled @ C:\Dropbox\OSS\reactiveui\try.reactiveui.net\Clients\Xamarin.Interactive.Client\Telemetry\Client.cs:66
[Warning][00:00:00.0552439] MainThread (Ensure): MainThread.Ensure desired in GetValue but MainThread has no associated SynchronizationContext @ C:\Dropbox\OSS\reactiveui\try.reactiveui.net\Agents\Xamarin.Interactive\MainThread.cs:51
Hosting environment: Production
Content root path: /home/artyom/Github/try.reactiveui.net-binaries
Now listening on: http://127.0.0.1:5000
Application started. Press Ctrl+C to shut down.

It seems try.reactiveui.net is heavily based on Microsoft/workbooks, so I'll try to recompile the app and write back later.