napi-rs
wasmer-go
Our great sponsors
napi-rs | wasmer-go | |
---|---|---|
35 | 11 | |
5,477 | 2,730 | |
4.7% | 1.1% | |
9.6 | 0.0 | |
4 days ago | 5 months ago | |
Rust | Go | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
napi-rs
- Napi: Build compiled Node.js add-ons in Rust
- Napi.rs, framework for building pre-compiled Node.js addons in Rust
-
Electrons Are Fast, So Can Be Electron β How to Optimize Electron App Performance
Napi-rs
- π GoRules Zen Engine: Rules Engine for Node.js
-
What's the "modern" way of creating a native addon for Node.js?
Thanks! This seems pretty official. I do really like what I saw from https://napi.rs/ where you just throw a "#[napi]" macro on and it works. Do you know if there's a Node API equivalent C/C++ workflow or tool that does something similar? I think the https://github.com/nodejs/webidl-napi is kinda what I'm looking for but it's archived.
- π GoRules Zen Engine: Cross-platform rules engine written in Rust
-
Equivalent to wasm-pack for nodejs C FFI?
Does it need to be Neon? From what I've read, there's something about its design that allows napi-rs to achieve better performance in some situations.
-
Node & Rust: Friendship Forever. The NAPI-rs Way.
NAPI-RS is a framework for building pre-compiled Node.js addons in Rust.
-
Write SDK βbaseβ in Rust, wrap in other languages?
For example, they list PyO3 for Python (see also maturin for packaging), NAPI-RS for Node.js, and Rutie for Ruby.
- NAPI-RS 3.0 RFC is ready; come and join the discussion
wasmer-go
-
Running WebAssembly code in Go
The next step is to create a Go project and run our wasm file with some runtime. For this, I chose wasmer-go.
-
Running Go code inside a NodeJS app with WASM (Part 1/2, 2023)
However, there are other, more fleshed-out, libraries like wasmer-go that provides a runtime and help us navigate around these limitations. The wasmer-go documentation provides a good summary of these challenges:
-
How to develop a Web app in go
wasmer-go
-
Plugo - A plugin library for Go.
I did some research and found a WebAssembly runtime that can run Go code that has been compiled to WASM. It seems to me that one could implement a plugin system using this. I might try.
-
The Carcinization of Go Programs
Thank you Syrus, appreciate your work with Wasmer. Congrats on the 3.0 release and Windows support! I just fixed guregu/trealla on WAPM to work with the latest changes. I think WAPM is very cool and I hope more people start doing releases on it.
These are the two issues I'm referring to:
https://github.com/wasmerio/wasmer-go/pull/200
https://github.com/wasmerio/wasmer-go/pull/286
-
First steps with Golang and WebAssembly
Time to implement the other side of the story. I have found a WebAssembly runtime for Go. Wasmer-go is a complete and mature WebAssembly runtime for Go based on Wasmer.
-
Choosing scripting extension - need advice
If performance is your main concern, there's Wasmer-go, but if you'd rather avoid CGO dependencies, there's wazero.
-
WASM without Node.js?
See wasmer-go for server-side runtime.
-
Options for running WASM in Go?
I've been looking at wasmer-go, and it seems to be quite performant given that the runtime is written in Rust and invoked through CGo bindings. Is this what everyone is using?
-
Trying to write a cross-language library
Go: I don't know of anything higher-level than either exposing a C ABI from Rust and then calling it using cgo or using wasmer-go to embed a WebAssembly runtime in your Go program.
What are some alternatives?
canvas - High performance skia binding to Node.js. Zero system dependencies and pure npm packages without any postinstall scripts nor node-gyp.
wazero - wazero: the zero dependency WebAssembly runtime for Go developers
node-canvas - Node canvas is a Cairo backed Canvas implementation for NodeJS.
wasmtime-go - Go WebAssembly runtime powered by Wasmtime
benchmark - MikroORM vs TypeORM benchmark of CRUD operations on 10k entities
uniffi-rs - a multi-language bindings generator for rust
PyO3 - Rust bindings for the Python interpreter
typescript-runtime-type-benchmarks - π Benchmark Comparison of Packages with Runtime Validation and TypeScript Support
grule-rule-engine - Rule engine implementation in Golang
prisma-examples - π Ready-to-run Prisma example projects
SWIG - SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.