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

Documentation: "Concepts" entries providing high-level overviews #321

Open
krisbitney opened this issue Oct 19, 2023 · 0 comments
Open

Documentation: "Concepts" entries providing high-level overviews #321

krisbitney opened this issue Oct 19, 2023 · 0 comments

Comments

@krisbitney
Copy link
Contributor

In a recent paid user study, the user felt like Polywrap was a black box. He was an experienced Wasm user but didn't understand what Polywrap was doing under the hood. Software engineers like to have a mental model of what's happening so they can reason about it. For example, a React developer may want to understand how and when components are rendered.

Our documentation should include a high-level overview, with visual diagrams, that explains topics like:

What happens during a wrap invocation

  1. User calls invoke
  2. Arguments are serialized in the host language and sent to the wrap
  3. Arguments are deserialized into static types within the wrap (e.g. in Rust)
  4. method is invoked
  5. return value is serialized within wrap
  6. return value is deserialized in the client and returned to the user
  7. etc.

What happens during a wrap subinvocation--how does it work?

What happens in the build process? Why do we prefer building with docker?

  • explain asyncify, dead code removal, etc.

How do wrap interfaces work and why are the useful?

What happens during URI resolution? How is this similar/different to package managers like NPM?

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

No branches or pull requests

1 participant