Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: [Learning Team] Interactive Documentation #8

Open
ghuntley opened this issue May 16, 2018 · 5 comments
Open

RFC: [Learning Team] Interactive Documentation #8

ghuntley opened this issue May 16, 2018 · 5 comments

Comments

@ghuntley
Copy link
Member

ghuntley commented May 16, 2018

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 [email protected]: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
Copy link
Contributor

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
Copy link
Member Author

Most definitely

@ghuntley
Copy link
Member Author

ghuntley commented May 17, 2018

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

Summary:

  • Geoff doesn't want us to maintain a fork of workbooks
  • We have forked to get some form of CI/CD story going
  • We could PR the upstream project instead of our fork
  • Miguel would like to promote our workbook files, and hopefully people can run it with the stock workbooks removing the need to run a fork

Thoughts:

  • We should hack away and come up with roadmap/plan of what's needed to get try.reactiveui.net launched based off the binaries that have been published.
  • If need be we can do commits in our fork for a little bit, as POC and do super hacky work whilst we learn then focus upstream?

@ghuntley
Copy link
Member Author

ghuntley commented Jul 5, 2018

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

@worldbeater
Copy link
Contributor

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants