Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR. Learn more →
Top 23 WASM Open-Source Projects
-
Project mention: Kotlin vs. Java: A Grand Finale and Farewell (But Not Goodbye!) | dev.to | 2024-11-20
Kotlin Official Website: Your one-stop shop for all things Kotlin, with comprehensive documentation, tutorials, and resources: https://kotlinlang.org/
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
> You still need to access the DOM, which can't be done directly from WASM. Maybe someday it will happen?
You can access the DOM through JavaScript glue. These Rust WASM frameworks do that:
- Leptos: https://www.leptos.dev/
- Sycamore: https://sycamore.dev/
- Yew: https://yew.rs/
- Dioxus: https://dioxuslabs.com/
> Okay, so use canvas instead and do all UI inside WASM?
You can do that too. That's what this VB6 clone written in C# and compiled to WebAssembly does:
- https://bandysc.github.io/AvaloniaVisualBasic6/
- https://github.com/BAndysc/AvaloniaVisualBasic6
> vague "JavaScript limitations"
It's not vague. Despite 28 years of effort optimizing JavaScript, WebAssembly outperforms JavaScript:
- https://nuenki.app/blog/bloom_filters_optimisation
- https://jordaneldredge.com/blog/speeding-up-winamps-music-vi...
- https://www.amazon.science/blog/how-prime-video-updates-its-...
-
Avalonia
Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The most popular .NET UI client technology
Project mention: Uno Platform Studio: GUI Designer for Cross-Platform .NET Applications | news.ycombinator.com | 2024-11-16 -
-
For this most recent assignment we were tasked with contributing a larger feature to an open source project. During my time with the previous assignment I worked on a game engine called Litecanvas, inspired engine by libraries like raylib and p5.js/Processing.
-
Project mention: Egui 0.29.0 – Multipass, `UiBuilder`, & visual improvements | news.ycombinator.com | 2024-09-26
-
In, my opinion it's good for ambitious projects to have a stable financial foundation. What negative things one project does because of venture capital does not mean another will.
There's no CLA. Dioxus is MIT/Apache-2 licensed.
> How many of the contributors are directly payed for their contributions?
I unfortunately feel like you're asking this in bad faith. Our team is very small, we're very lean, and we have funding sources that aren't just venture. We also have a very active community and people are building new libraries and becoming dioxus contributors every day.
https://github.com/DioxusLabs/dioxus/releases/tag/v0.6.0 (scroll to contributors)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Warp
Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.
Note: it does seem at least some development happens in the open https://github.com/warpdotdev/Warp
> We are planning to first open-source our Rust UI framework, and then parts and potentially all of our client codebase. The server portion of Warp will remain closed-source for now.
https://github.com/warpdotdev/Warp/discussions/400
None of the server bits will be open, ever, but some of the UI code will be? Better than nothing.
-
-
RustPython
-
Wasmer (https://wasmer.io/) | Frontend Software Engineers | Hybrid (EU Timezones + Madrid Office) | Full Time
At Wasmer we are working on the software that will power the next generation of Cloud Computing platforms using WebAssembly. Similarly to Node.js, we are moving WebAssembly to the server-side but completely emancipated from JavaScript.
We are seeking a skilled frontend developer with industrial-strength software engineering skills to help us build our the Wasmer website. Stack: JS/TS. React/Next.js + Tailwind + GraphQL (Relay)
Reach out to syrus [at] wasmer.io or apply via Work at a Startup [1]
[1] https://www.workatastartup.com/jobs/45795
-
Project mention: Tbsp – treesitter-based source processing language | news.ycombinator.com | 2024-09-01
For those that want to explore the grammars listed at https://github.com/tree-sitter/tree-sitter/wiki/List-of-pars... in a more friendly railroad diagram format I made https://mingodad.github.io/plgh/json2ebnf.html that reads the "src/grammar.json" and try it's best to generate an EBNF understood by (IPV6) https://www.bottlecaps.de/rr/ui or (IPV4) https://rr.red-dove.com/ui where we get a nice navigable railroad diagram (see https://github.com/GuntherRademacher/rr for offline usage).
-
Project mention: Show HN: I built the most over-engineered Deal With It emoji generator | news.ycombinator.com | 2024-10-15
[3] https://github.com/tensorflow/tfjs/issues/7905
-
pyscript
PyScript is an open source platform for Python in the browser. Try PyScript: https://pyscript.com Examples: https://tinyurl.com/pyscript-examples Community: https://discord.gg/HxvBtukrg2
Project mention: Comparing the Top 12 Best Python Web Frameworks for Developers | dev.to | 2024-09-23PyScript is an open-source framework that allows you run your Python code in the browser. With PyScript, developers can write Python scripts that directly interacts with the browser, just like JavaScript does.
-
filament
Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2
Filament - A modern, efficient graphics engine suitable for real-time rendering, link: http://google.github.io/filament.
-
slint
Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.
Project mention: Electrobun: Cross-platform desktop applications written in TypeScript | news.ycombinator.com | 2024-11-20If you want to use Rust, Slint[0] may be something to consider, seeing as the existing bindings for Qt and QML are not very pleasing to use (mostly talking about qmetaobject-rs and cxx-qt). If I'm not mistaken, Slint is developed by ex-QML people.
[0]: https://slint.dev
-
-
compose-multiplatform
Compose Multiplatform, a modern UI framework for Kotlin that makes building performant and beautiful user interfaces easy and enjoyable.
So, to add file associations, we need to be able to pass both the .properties file and the --file-associations option. At the time of writing this article, the org.jetbrains.compose plugin doesn't provide such a mechanism. There is an open issue on GitHub that describes a possible workaround, which, unfortunately seems to not work on macOS.
-
TinyGo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
-
Standards help in a completely different way, too: since all of the HTTP support is now built using wasi-http, applications built with the new SDK that don’t make use of the Spin-specific APIs we also support can run in any environment that supports wasi-http, such as Wasmtime and Node.js (via JCO).
-
Project mention: Show HN: I Added a Feature to WhatsApp-Web, Animated GIFs Uploads (Chrome Ext.) | news.ycombinator.com | 2024-08-23
Hi HN! I'm Ivan, the creator of this extension and with it you can now right-click any gif on Google Chrome (desktop) to share it with any of your contacts on WhatsApp Web, you can also use it to upload animated GIFs from your computer, you can even drag-and-drop MP4 files to it and they will be treated as gifs (e.g. they will loop, muted of course). Another nice feature its that it lets you share non-gif images with the same context menu option (e.g. AKA right-click menu)
To create it I had to do a bit of reverse-engineering of the existing JavaScript found at https://web.whatsapp.com/, which is actually a minified React app, I found out that it uses WebSockets to communicate with the backend but thankfully to create this extension I was able to avoid fiddling with those messages. Under the hood it uses the amazing library ffmpeg.wasm (the JS port of ffmpeg): https://github.com/ffmpegwasm/ffmpeg.wasm I also made use of TypeScript, React and Vite to create this extension, using this boilerplate as starting point: https://github.com/Jonghakseo/chrome-extension-boilerplate-r...
Feel free to ask any questions or any feedback you may have about it.
-
-
I once tried to use sql.js [1] on a static site for full text search. It worked, but the resulting database size for that site was too large for the web, even with things like detail=none and content='' applied, and requiring the user to download a database each time was just no go. (I guess things should work better for sites with less content or those not requiring a trigram tokenizer.)
I switched to Pagefind [2] afterwards before finding out a sql.js-httpvfs [3] fork of sql.js that removes exactly the need to fully download a database (with HTTP range requests). I haven't got the chance to test sql.js-httpvfs out though, but it looks pretty sound and could be much more flexible than Pagefind. (Previously discussed at https://news.ycombinator.com/item?id=27016630 .)
[1] https://github.com/sql-js/sql.js/
[2] https://pagefind.app/
[3] https://github.com/phiresky/sql.js-httpvfs
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
WASM discussion
WASM related posts
-
Show HN: Rain hashes – well designed, simple and fast variable sized hashes
-
Dioxus 0.6 – Crossplatform apps with Rust
-
OpenRCT2 – RollerCoaster Tycoon 2 in browser using emscripten
-
If Not React, Then What?
-
Show HN: Wazero compiler ported to 4 new OSes
-
refilelabs - image VS squoosh - a user suggested alternative
2 projects | 29 Nov 2024 -
The Thrax Programming Language
-
A note from our sponsor - CodeRabbit
coderabbit.ai | 14 Dec 2024
Index
What are some of the best open-source WASM projects? This list will help you:
Project | Stars | |
---|---|---|
1 | kotlin | 49,552 |
2 | yew | 30,957 |
3 | Avalonia | 26,276 |
4 | emscripten | 25,942 |
5 | raylib | 23,145 |
6 | egui | 22,735 |
7 | dioxus | 21,911 |
8 | Warp | 21,638 |
9 | v86 | 19,974 |
10 | RustPython | 19,278 |
11 | wasmer | 19,124 |
12 | tree-sitter | 18,944 |
13 | tfjs | 18,522 |
14 | pyscript | 18,058 |
15 | filament | 17,888 |
16 | slint | 17,799 |
17 | assemblyscript | 16,980 |
18 | compose-multiplatform | 16,421 |
19 | TinyGo | 15,574 |
20 | wasmtime | 15,538 |
21 | ffmpeg.wasm | 14,654 |
22 | Pion WebRTC | 13,970 |
23 | sql.js | 12,867 |