Giter Club home page Giter Club logo

wasix-docs's Introduction

WASIX Docs

Local Development

First, run pnpm i to install the dependencies.

Then, run pnpm dev to start the development server and visit http://localhost:3000/.

wasix-docs's People

Contributors

ajanibilby avatar arshia001 avatar blaspharc avatar dynamite-bud avatar harikrishnanbalagopal avatar hha0x617 avatar johnfrrr avatar ptitseb avatar salalo avatar sina-salahshour avatar syrusakbary avatar t-256 avatar theduke avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

wasix-docs's Issues

Clarify Wasmer support of `http_request`

The WASIX witx describes the http_request function, but Wasmer (version 4.0.0-beta.3) doesn't seem to recognize it; neither with the default "wasix_32v1" nor with the "wasix_http_client_v1" module name that is referenced in the Wasmer codebase various times. The function also doesn't exist in the WASIX documentation, so is it implemented yet in Wasmer? If not, please prioritize it; making HTTP requests is literally *the* one WASI feature that I would love to see most and it's also precisely the one that doesn't seem to work.

Home Page for Wasix

Homepage requires us to showcase wasix

Requirements:

  • Logo - maybe cool animation ?
  • Installation setup for Rust/C with one command like wasmer-setup
  • Showcase Examples and Applications ?
  • Tell about major features
    • LongJmp
    • Threading
    • Networking
    • Async Operations
  • Show where's wasix used (Companies) ?
  • Remotion/motioncanvas video of wasix compilation of basic program
  • Explore other wasmer products

Decide on font with @syrusakbary ? use the Wasmer's current font ?

Feedback for “Proc Spawn”

It's not clear how a spawned process is assigned its environment using this API. Is it automatically inherited as a copy from the parent? What if some pruning or isolation is wanted?

Are there provisions for adjusting the pre-opened directories and mapped directories based on the namespace of the parent process? What if one wants to map certain directories from the parent's namespace into a certain location in the child?

Also, what do the values for the handling of stdin/stdout/stderr mean? How does one use them?

Wasix Docs basic page setup

Make pages outline for wasix docs.

Pages would have:

  • Understanding Wasix
    • What is wasix?
    • Difference from wasi ?
    • what’s the architecture ? (need help: Christoph/John)
    • why wasix was made ?
    • what it offers / (features) ?
    • Is WASIX production ready ?
    • // we will show the current running apps/packages on the front page
  • #8
    • Installation
      • Rust (cargo cargo-wasix)
      • C (libc: WASIX_SDK) (need help: Christoph/John/Sebastien)
    • Examples (language specific examples too) -> We need a repo with all the examples working and compiling
      • Rust (boilerplates and examples)
        • Axum
        • Leptos
        • Hyper
      • C
        • Threaded examples
        • HTTP OK
  • #6
  • #7
    • Rust
    • C
  • Contributing Guide (rules and norms that you need to follow)

Rust installation command doesn't install toolchain or targets

According to https://wasix.org/docs/language-guide/rust/installation, I only have to run cargo install cargo-wasix. However, that does not install the rustup toolchain or targets, as the documentation suggests. In fact, running rustup toolchain list afterwards does not show anything wasix-related.

My versions:

> cargo wasix --version
cargo-wasix 0.1.23

> cargo --version          
cargo 1.74.0 (ecb9851af 2023-10-18)

> rustc --version 
rustc 1.74.0 (79e9716c9 2023-11-13)

> rustup --version          
rustup 1.26.0 (5af9b9484 2023-04-05)

Confusion about browser support

Hi.

I have some confusion about what WASIX is for and if it can be useful to me.

On the WASIX homepage you write

WASIX comes into play to bridge these gaps. It extends WASI with most of the missing POSIX features and is designed to run both in the server and the browser. WASIX provides full support for efficient multithreading, sockets (socket, bind, connect), [...]

But then, later on, under Rust Wasix usage you state

Currenly, Wasix is only supported by the Wasmer runtime. So, you need to install the Wasmer (opens in a new tab) runtime.

Could you clarify how I would be compiling Rust code so that I can run it in a browser (modern Firefox, Chrome, Edge) and have full support for threads using std::thread::spawn and synchronization primitives from std::sync? All examples I found show how to compile and locally run Rust code on my machine via WASIX.

Thanks!

Improve API refernce for wasix and wasi

Currently the functions are outdated in API References.

Example fd_write
In the documentation:

(@interface func (export "fd_write")
    (param $fd $fd)
    ;;; List of scatter/gather vectors from which to retrieve data.
    (param $iovs $ciovec_array)
    (result $error (expected $size (error $errno)))
  )

It should take 4 arguments and documentation should be updated:

Error while importing "wasix_32v1"."fd_write": incompatible import type. Expected Function(FunctionType { params: [I32, I32], results: [I32] }) but received Function(FunctionType { params: [I32, I32, I32, I32], results: [I32] })

Therefore, check all the functions and update all of the functions as there are new PRs like #3830 which would change some functions as well.

Home Page for Wasix

Homepage requires us to showcase wasix

Requirements:

  • Logo - maybe cool animation ?
  • Installation setup for Rust/C with one command like wasmer-setup
  • Showcase Examples and Applications ?
  • Tell about major features
    • LongJmp
    • Threading
    • Networking
    • Async Operations
  • Show where's wasix used (Companies) ?
  • Remotion/motioncanvas video of wasix compilation of basic program
  • Explore other wasmer products

Decide on font with @syrusakbary ? use the Wasmer's current font ?

A new multi-threaded `hello-world` example for `cargo-wasix`

Motivation

The current hello-world program is too simple, and just shows the basic compilation of a rust based program. If users are already well versed to enter this ecosystem. Then we should have another entry hello-world program.

Example

Hello world with a multithreaded API with JSON responses. This was suggested by a user from hn.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.