diff --git a/README.md b/README.md index 0529c48..2a9952c 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,136 @@ -# NextJS Web Workers and WASM + + + -Example repo with web workers, browser run web assembly and server run web assembly in NextJS. + + +[![Contributors][contributors-shield]][contributors-url] +[![Forks][forks-shield]][forks-url] +[![Stargazers][stars-shield]][stars-url] +[![Issues][issues-shield]][issues-url] +[![MIT License][license-shield]][license-url] +[![LinkedIn][linkedin-shield]][linkedin-url] -## Tooling -- [moon](https://moonrepo.dev/docs) for monorepo management -- Rust for compiling web assembly -- NextJS for client build + +
+
+ -## Development +

NextJS WASM and Web Workers

+ +

+

An example project comparing computation speed with Web Workers and WASM
+
+ +
+ View Demo + · + Report Bug + · + Request Feature +

+
+ + + + +
+ Table of Contents +
    +
  1. + About The Project + +
  2. +
  3. + Getting Started + +
  4. +
  5. Usage
  6. +
  7. Roadmap
  8. +
  9. Contributing
  10. +
  11. License
  12. +
  13. Contact
  14. +
  15. Acknowledgments
  16. +
+
+ + + + +## About The Project + +[![Product Name Screen Shot][product-screenshot]](https://example.com) + +## 🚀 **NextJS WASM and Workers** - Compare efficiency of offloading tasks on the web! + +This repository contains a NextJS application that is able to run web workers and WASM on the server and client. For quick comparison, functions calculate fibonacci numbers. + +**Key Features:** +- ⚡️ Monorepo using [Moonrepo][moon-url] +- 💻 NextJS bundling web workers and wasm +- 💡 Web worker using web assembly + + + +**Contribution:** +- 🎉 Contributions are welcome! + + +**Let's build something amazing together! ✨** + + + +### Built With + +This section should list any major frameworks/libraries used to bootstrap your project. Leave any add-ons/plugins for the acknowledgements section. Here are a few examples. + +[![Next][Next.js]][Next-url] +[![React][React.js]][React-url] +[![Rust][Rust]][Rust-url] +[![Moon][Moon]][Moon-url] +[![Wasm][Wasm]][Wasm-url] + +

(back to top)

+ + + + +## Getting Started + + +To get a local copy up and running follow these simple example steps. + +### Prerequisites Install moon - [instructions](https://moonrepo.dev/docs/install) -```sh + + +### Installation + +_Below is an example of how you can instruct your audience on installing and setting up your app. This template doesn't rely on any external dependencies or services._ + + +1. Clone the repo + ```sh + git clone https://github.com/alexwine36/NextJS-WASM-and-WebWorkers.git + ``` +2. Initialize Moon + ```sh + moon setup + ``` +3. Run development server + ```sh + moon :dev + ``` + +

(back to top)

+ + + + + + + + + +## Roadmap + + + +See the [open issues](https://github.com/alexwine36/NextJS-WASM-and-WebWorkers/issues) for a full list of proposed features (and known issues). + +

(back to top)

+ + + + +## Contributing + +Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. + +If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". +Don't forget to give the project a star! Thanks again! + +1. Fork the Project +2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) +3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) +4. Push to the Branch (`git push origin feature/AmazingFeature`) +5. Open a Pull Request + +

(back to top)

+ + + + +## License + +Distributed under the MIT License. See `LICENSE` for more information. + +

(back to top)

+ + + + +## Contact + + +[Alex Wine](https://github.com/alexwine36) + +Project Link: [https://github.com/alexwine36/NextJS-WASM-and-WebWorkers](https://github.com/alexwine36/NextJS-WASM-and-WebWorkers) + +

(back to top)

+ + + + +## Acknowledgments + +Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off! + +* [wasm-pack](https://github.com/rustwasm/wasm-pack) +* [Comlink](https://github.com/GoogleChromeLabs/comlink) +* [Img Shields](https://shields.io) + + + +

(back to top)

+ + + + + +[contributors-shield]: https://img.shields.io/github/contributors/alexwine36/NextJS-WASM-and-WebWorkers.svg?style=for-the-badge +[contributors-url]: https://github.com/alexwine36/NextJS-WASM-and-WebWorkers/graphs/contributors +[forks-shield]: https://img.shields.io/github/forks/alexwine36/NextJS-WASM-and-WebWorkers.svg?style=for-the-badge +[forks-url]: https://github.com/alexwine36/NextJS-WASM-and-WebWorkers/network/members +[stars-shield]: https://img.shields.io/github/stars/alexwine36/NextJS-WASM-and-WebWorkers.svg?style=for-the-badge +[stars-url]: https://github.com/alexwine36/NextJS-WASM-and-WebWorkers/stargazers +[issues-shield]: https://img.shields.io/github/issues/alexwine36/NextJS-WASM-and-WebWorkers.svg?style=for-the-badge +[issues-url]: https://github.com/alexwine36/NextJS-WASM-and-WebWorkers/issues +[license-shield]: https://img.shields.io/github/license/alexwine36/NextJS-WASM-and-WebWorkers.svg?style=for-the-badge +[license-url]: https://github.com/alexwine36/NextJS-WASM-and-WebWorkers/blob/master/LICENSE.txt +[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555 +[linkedin-url]: https://linkedin.com/in/alexwine +[product-screenshot]: docs/assets/screenshot.jpg +[Next.js]: https://img.shields.io/badge/next.js-000000?style=for-the-badge&logo=nextdotjs&logoColor=white +[Next-url]: https://nextjs.org/ +[React.js]: https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB +[React-url]: https://reactjs.org/ +[Rust]: https://img.shields.io/badge/Rust-CE412B?style=for-the-badge&logo=rust&logoColor=white +[Rust-url]: https://www.rust-lang.org/ +[Moon]: https://img.shields.io/badge/Moonrepo-6e58d1?style=for-the-badge&logo=moonrepo&logoColor=white +[Moon-url]: https://moonrepo.dev/ + +[Wasm]: https://img.shields.io/badge/webassembly-6550F0?style=for-the-badge&logo=webassembly&logoColor=white +[Wasm-url]: https://webassembly.org/ + diff --git a/docs/assets/screenshot.jpg b/docs/assets/screenshot.jpg new file mode 100644 index 0000000..f7e1cbf Binary files /dev/null and b/docs/assets/screenshot.jpg differ