This repository was archived by the owner on Jun 24, 2022. It is now read-only.
  
  
  - 
                Notifications
    
You must be signed in to change notification settings  - Fork 277
 
Home
        Daniel Wirtz edited this page Feb 18, 2018 
        ·
        4 revisions
      
    Welcome to the WebAssembly Studio!
The project's vision is outlined in "Learn, Teach, Work and Play in the WebAssembly Studio".
- Users can control, inspect and understand every part of the WebAssembly compilation pipeline.
- Source language, Wat text format, Wasm binary format, x86/ARM disassembly in the browser.
 
 - Users can inspect and modify compilation artifacts: .wasm, .wat, etc.
- For generated artifacts to be modified, we need to work out a good UI to not overwrite changes.
 
 - Users are given useful feedback to guide them along the way.
 - Users can inspect runtime state:
- Memory, Profiling, Debugging
 
 - Make build system explicit and familiar to JavaScript programmers.
- Gulp-like, virtualized file system.
 
 - Don’t hide details (or add magic build steps), keep workflow straight forward.
 - Invite collaboration, sharing.
 
- Teaching others is the best way to learn!
- Users can create, modify, fork and share fiddles.
 
 - Reduce friction, no accounts, sign-ins or anything like that:
- Unless users want to participate in an online community of fiddles.
 - Encourage engagement by keeping track of fiddle likes, forks, shares, etc.
 
 - Users can conveniently document their fiddles:
- Markdown support.
 
 - Users can embed fiddles in Medium and other social blogging platforms.
- A light read-only version of the fiddle is embedded in a page, with a link to a fully editable environment.
 
 
- Users can use the Fiddle to get started with WebAssembly projects.
- Ability to download projects locally
 
 - The Fiddle can scale up to larger projects, not just toy examples:
- Demonstrate that the tools are of “production” quality, not just toys. Might be overkill for a fiddle application, but it’s important in gaining user trust.
 
 - Users can use individual features in the Fiddle to do one-off tasks:
- E.g.,
- Type some .wat download .wasm
 - Type some C/C++/Rust function, download .wasm with glue JavaScript code to embed in an application.
 
 - Allow users to upload files.
 - Don’t force users into a particular project structure.
 - The Fiddle is a tool, not a framework.
 
 - E.g.,
 - Influence JavaScript developers through well-thought out examples, best practices and templates.
 - Add support for many languages: C/C++/Rust/etc.
 
- Create environments (wizards) where users can play and have fun with:
- WebGL, Physics, Games, Audio Synthesizers
 
 - Compete on highest quality: smallest / fastest implementation of X