Skip to content

Editing the editor (tutorial platform) #24

@amlwwalker

Description

@amlwwalker

Hey,
This is super cool.
I have wanted for quite some time to build tutorials for the Go language using wasm (in browser) - you have probably jump started my work here by a mile.
The first step is to make a super interactive platform and a 'framework' for the tutorials so its fast and easy to add new ones.

Thoughts:

  • left hand side panel where the instructions for this step/tutorial are
  • pre written tests that can check the results are correct - I don't want to use regex parsing stdout or something, I want real Go tests to run against functions (students add their function call to the test harness so they can call functions whatever they want - part of learning is the tests.
  • tutorials can use libraries that already exist (your platform offers this)
  • I can use mockers (smocker) to mock out external services in tutorials
  • I can run other Go apps/binaries that expose ports or something to interact with (e.g an API running locally)

Questions

left hand side panel where the instructions for this step/tutorial are

I looked through the code and see you are designing/rendering the UI in Go which was amazing/surprising. Two questions really - one is do you have a link to tutorial in how you are doing this, and secondly, could this be swapped out for HTML/CSS/JS or React or something easily? My guess is WASM means better to do all in Go, so question one is more the focus - i.e can you point me to anything to learn how to adjust the UI?

pre written tests that can check the results are correct - I don't want to use regex parsing stdout or something, I want real Go tests to run against functions (students add their function call to the test harness so they can call functions whatever they want - part of learning is the tests.

This sounds possible based on your "OS" - Would be cool if tests can run against code?

I can use mockers (smocker) to mock out external services in tutorials
I can run other Go apps/binaries that expose ports or something to interact with (e.g an API running locally)

I suspect these last two are closely related and its either "thats easy" or "thats hard" as the OS isn't really "real".....

Anyway would love just to hear your thoughts on this usecase for this platform.
Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions