Git Product home page Git Product logo

made-with-webassembly's Introduction

Made with WebAssembly

Travis Status License: MIT

Made with WebAssembly is a website A showcase of awesome production applications, side projects, and use cases made with WebAssembly ( Wasm ). πŸ‘·

Wasm By Example Website Header

Table of Contents

Motivation

After several Twitter threads (1, 2, ...) on highlighting use cases, projects, and companies in production using WebAssembly. Myself and a few other Wasm community members thought it'd be a great idea to have a dedicated place to find projects using WebAssembly, and highlight what WebAssembly can be used for! We were hoping it could be easy to comb through, and provide additional context on why/how individual project are using Wasm. πŸ‘πŸΎ

Contributing

Thank you for wanting to contribute! PRs are definitely welcome and appreciated! Below is a guide for contributing different parts of the project, and getting started with your first PR:

General Contribution Areas

These are general areas of the project you may want to contribute to considering the architecture of the project:

Showcase Projects

The showcase projects are located under the showcase/ directory in the project. Each showcase project is a markdown file, that adds metadata (E.g 1, 2) to help describe the project. All showcase projects are added to the showcase.json, and output as an HTML file, by the showcase-build.js build script.

Contributing new projects is definitely welcome and super appreciated!

To add a new project to the showcase, create a markdown file with the following metadata (See other example if you get confused, or open an issue):

  • name - The name of the project

  • description - A Short description of the project. Will be used for fuzzy searching.

  • keywoards - Space seperated list of words. This will be used for fuzzy searching.

  • logo_url (OPTIONAL) - A Url to the logo for the project

  • website (OPTIONAL) - A URL to the website for the project

  • source_url (OPTIONAL) - A URL to the Source code for the project

Once you have your markdown file, you can test it in the project using npm run dev. And then, feel free to open a PR when the rendered showcase project markdown looks correct.

If you are a project owner and want the project edited or removed, please feel free to open a PR as well, or open an issue. ☺️

App Shell

The App Shell is a PWA built with Preact and Preact CLI. The applications shell can be found under the src/ directory.

For larger ideas or new sections of the site, it is recommended to open an issue first for discussion.

Getting Started with Your First PR

One-time Setup

  1. Create a GitHub account if you don't already have one.
  2. Install and set up Git.
  3. Install the latest LTS version of Node.js (which includes npm). An easy way to do so is with nvm. (Mac and Linux: here, Windows: here)
nvm install --lts
  1. Create your own fork of the made-with-webassembly repository by clicking "Fork" in the Web UI. During local development, this will be referred to by git as origin.

  2. Download your fork to a local repository.

git clone [email protected]:<your username>/made-with-webassembly.git
  1. Add an alias called upstream to refer to the main torch2424/made-with-webassembly repository. Go to the root directory of the newly created local repository directory and run:
git remote add upstream [email protected]:torch2424/wasm-by-example.git
  1. Fetch data from the upstream remote:
git fetch upstream master
  1. Set up your local master branch to track upstream/master instead of origin/master (which will rapidly become outdated).
git branch -u upstream/master master

Branch (do this each time you want a new branch)

Create and go to the branch:

git checkout -b <branch name> master

Building & Running the project

  1. Make sure you have the latest packages (after you pull): npm install 2. To build the project, run: npm run build 3. To serve, and build on changes for the project, run: npm run dev

Privacy

Google Analytics is used on Made with WebAssembly, and is only used to record Basic visit data, as the script is only loaded.

License

This work is copyright Aaron Turner and licensed under a MIT License.

made-with-webassembly's People

Contributors

boyanio avatar jameslmilner avatar maxdesiatov avatar robertaboukhalil avatar sasakrsmanovic avatar sepiropht avatar torch2424 avatar

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.