Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    R

    Rust and WebAssembly

    rustwasm.github.io · Company blog · on HN since 2018

    The Rust and WebAssembly working group site hosts the book, announcements, and docs for wasm-bindgen, web-sys, and Gloo.

    Visit blogHN submissions
    Languages & CompilersWeb DevelopmentProgramming
    What HN says

    HN links it for its guides, such as the code size reduction reference, though commenters worry the group is no longer maintained.

    Stats for nerds
    56HN people shared it
    13linked in comments
    471story points
    Nov 2025last shared
    2018people per year2025

    Top posts on HN

    1. 1
      Multithreading Rust and Wasm
      2 people · 237 points · first shared 2018 · 45 comments on HN
    2. 2
      Our Vision for Rust and WebAssembly
      1 person · 196 points · first shared 2018 · 40 comments on HN
    3. 3
      Announcing the web-sys crate
      2 people · 15 points · first shared 2018 · Discussion on HN
    4. 4
      Rust and WebAssembly
      9 people · 5 points · first shared 2018 · Discussion on HN
    5. 5
      Reflecting on Rust and WebAssembly in 2018
      1 person · 5 points · first shared 2018 · Discussion on HN
    6. 6
      Rust and WebAssembly
      1 person · 4 points · first shared 2019 · 1 comments on HN
    7. 7
      Rust and WebAssembly Book
      3 people · 2 points · first shared 2021 · Discussion on HN
    8. 8
      Let’s Build Gloo Together – Rust and WebAssembly
      2 people · 2 points · first shared 2019 · Discussion on HN
    9. 9
      Twiggy is a code size profiler for wasm binaries
      1 person · 2 points · first shared 2018 · Discussion on HN
    10. 10
      Vision for wasm-bindgen: Two-Way Bindings for Rust and JavaScript
      1 person · 2 points · first shared 2018 · Discussion on HN

    What HN people wrote when they linked it

    • TwirrimMar 2023

      Almost every language has a simple walk through that goes step by step and explains what parts are, or gets you to the point of having your first working application.

      Here you go "here's how to set up your build platform".. and good luck?

      The content under that github repo doesn't explain anything. It's just a dump of code. Why are the various parts there, how does this interact with TeaVM, how does this interact with the web page and why?

      The documents are written assuming knowledge, and the code does nothing to actually explain what is going on, how things should be laid out or anything. There's no readme, and no comments other than the license blurb.

      How does someone with no familiarity with TeaVM at all, know how to even get started?

      I appreciate writing documentation sucks, but if you want your project to take off, it's not enough for it to be good on a technical level. You need to be hand holding through the entire initial process. One of the things that is consistent right throughout technology is that the best solution isn't the one that gets chosen. It's the one that has the lowest barrier of entry, and the best user experience.

      One of the things that catapulted Ruby from being some obscure language to immense popularity was the first Ruby on Rails tutorials that had you making a functional blog site, taking you from first line of code to functional site pretty quickly. Ruby wasn't that special or unique as a language, but suddenly this framework came…

    • zmwOct 2018

      I only spent about an hour on the rust + wasm app for fun, so I treated wasm-bindgen and wasm-pack as black boxes and didn't really try to understand the inner workings. You're probably right about serialization, but I'm not sure it has to copy huge buffers around.

      Look, the supported types in wasm-bindgen are somewhat restricted. The full list is here [1]. Other than "atomic" types like numbers and pointers (I assume the opaque types are treated as pointers too), the interesting one are str/String (basically &[u8] under the hood) and number slices. It's apparently not great if you have to copy these around, but since these are well-aligned, why can't you just pass the starting address and length? Again, I don't know enough about wasm or its current state to say if this is doable. Maybe it doesn't like "someone else's memory" at the moment.

      (By the way, wasm-bindgen allows you to access pub fields of structs from JS, but they have to be Copy. That is to say, the opaque types are not completely opaque, but I'm not sure if the pub field access is achieved through implicit getter methods or serialized in the first place.)

      Anyway, the frictions might be a big problem if you're doing React-style DOM re-renders all the time, but in my app, I'm only running the computation heavy and memory sensitive tasks in wasm, and communications are few and far between, making it a non-issue.

      [1] https://rustwasm.github.io/wasm-bindgen/reference/types.html

    • jauntywundrkindNov 2023

      wasm-bindgen is writing it's own ABI, but still involves a ton of auto-generated JS stubs running for you in the background. it works great! you would never know it's there, but it has a serious performance hit versus actual host object bridging (what we're working towards) since it has to keep serializing things over MessageChannels. You can read some about the auto-generated shims here, https://rustwasm.github.io/docs/wasm-bindgen/contributing/design/importing-js.html . And you can see that wasm-bindgen doesn't actually send objects into Rust, but instead has shims here: https://rustwasm.github.io/docs/wasm-bindgen/contributing/design/js-objects-in-rust.html

      Component Model is designed to eliminate the need for having this autogenerated rpc system & many of these shims, and let wasm itself actually hold references & invoke/use objects in a genuinely shared fashion.

    • lucasyvasNov 2022

      The top Reddit example is tremendous. I'm passed being a Rust beginner, but I have a note to the Rust community:

      Your official examples are overcomplicated and bad and you should also feel a little bad.

      Stick to things like apple, orange, pear and you'll see much easier adoption than if you go with something like LendingIterator! Through the GAT process all I have seen is the same hyper-specific example used that confuses the hell out of people that just need the "Hello World" version.

      If you want, I will volunteer to be the test subject "dumb" Rust programmer to vet the quality of future examples.

      Tangentially related - here's a WASM example that goes from "Hello World" to Conway's Game of Life (I shit you not, that's actually how the tutorial progresses):

      https://rustwasm.github.io/docs/book/

    • karpierzJul 2022

      I've been learning Rust for the past few weeks and have been enjoying it a lot.

      - The community is very helpful on Discord (https://discord.com/invite/rust-lang-community).

      - The package ecosystem (crates.io) makes it very easy to find and import things, and they're consistently documented.

      - There's a path to compiling on web via WebAssembly (https://rustwasm.github.io/wasm-pack/)

      In a few weeks of learning the language, I managed to put together this visualization: https://twitter.com/admiralakk/status/1542560489091350529

      But realistically, either Go or Rust will be fine. You should pick the one you're more likely to stick with and learn, even when it gets tough. I've found the community aspect to be very helpful, because then at least I know I'm not the only idiot out there.

    • grantjpowellJan 2023

      Love the article.

      In my mind I see the problem of dynamic linking in rust to have a bunch of overlap with the "I want this rust library to be exposed in my higher level GC'd language with minimal safety issues/tedious handmaintained bindings" problem.

      My hunch is that the lack of expressiveness of the C ABI is holding back both. the thing I'd love to see some sort of "higher level than the C ABI" come out. And something like `wasm-bindgen`[0] to exist for more languages.

      Here's a link to the rust "interopable_api" proposal! I don't understand all the implications, but it seems to be in the right direction https://github.com/rust-lang/rust/pull/105586

      [0]https://rustwasm.github.io/docs/wasm-bindgen/

    Related

    Rust Blogblog.rust-lang.org533 people

    Announcing Rust 1.0

    Rust Blog
    Company · last shared 2026
    V8 Blogv8.dev272 people

    The cost of parsing JSON

    V8 Blog
    Company · last shared 2026
    SpiderMonkey Blogspidermonkey.dev31 people

    Who needs Graphviz when you can build it yourself?

    SpiderMonkey Blog
    Company · last shared 2026
    Deis Labsdeislabs.io15 people

    Krustlet, the WebAssembly Kubelet

    Deis Labs
    Company · last shared 2025
    Fermyon Blogfermyon.com43 people

    Spin – WebAssembly Framework

    Fermyon Blog
    Company · last shared 2025
    Surmasurma.dev67 people

    Ditherpunk: The article I wish I had about monochrome image dithering

    Surma
    Personal · last shared 2025
    Steve Klabnikwords.steveklabnik.com284 people

    A Sad Day for Rust

    Steve Klabnik
    Personal · last shared 2026
    Troubles.mdtroubles.md32 people

    How Rust 1.26 more than tripled the speed of my code

    Troubles.md
    Personal · last shared 2026