native web-api graphics (live, not image)

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/Deno

Our great sponsors
  • talent.io - Download talent.io’s Tech Salary Report
  • SonarLint - Clean code begins in your IDE with SonarLint
  • Scout APM - Truly a developer’s best friend
  • winit

    Window handling library in pure Rust

    pane is a wrapper around rust winit. It used to be a way to open a window you can write to (so could be used with canvas) but stopped working because it relies on the deprecated native-plugin API, and hasn't been ported to FFI.

  • pane

    🖼️ A deno module providing bindings for cross-platform windowing

    pane is a wrapper around rust winit. It used to be a way to open a window you can write to (so could be used with canvas) but stopped working because it relies on the deprecated native-plugin API, and hasn't been ported to FFI.

  • talent.io

    Download talent.io’s Tech Salary Report. Median salaries, most in-demand technologies, state of the remote work... all you need to know your worth on the market by tech recruitment platform talent.io

  • deno_sdl2

    SDL2 module for Deno

    sdl2 gets around the first problem by downloading a CLI service & starting it, that speaks JSON over a TCP socket. It's a limited surface of the API, and missing some pretty basic stuff, but I could see it working ok. It's not canvas, so I'd have to translate those sort of calls to it. I discussed that a bit here and it sounds like I could blit images of the canvas to sdl2 surface, but since it doesn't support in-memory images, I'd have to implement that in sdl2, or save a "frame" image to a file, for every blit. Either way, I have the overhead of redrawing every frame as a complete image. This seems incredibly jenky, and I assume will not perform very well, but I haven't tested.

  • deno-canvas

    Canvas API for Deno, ported from canvaskit-wasm (Skia).

    sdl2 gets around the first problem by downloading a CLI service & starting it, that speaks JSON over a TCP socket. It's a limited surface of the API, and missing some pretty basic stuff, but I could see it working ok. It's not canvas, so I'd have to translate those sort of calls to it. I discussed that a bit here and it sounds like I could blit images of the canvas to sdl2 surface, but since it doesn't support in-memory images, I'd have to implement that in sdl2, or save a "frame" image to a file, for every blit. Either way, I have the overhead of redrawing every frame as a complete image. This seems incredibly jenky, and I assume will not perform very well, but I haven't tested.

  • minifb

    MiniFB is a small cross platform library to create a frame buffer that you can draw pixels in

    I also saw minifb, which seems like a really to-the-point way to get a buffer I can draw to., so I guess I will go in that direction (rust lib, make FFI bindings for deno, etc.)

  • deno-minifb

    Deno wrapper around minifb, for making a framebuffer you can draw pixels to

    I ended up helping to make deno-minifb. It works pretty decently with deno-canvas, and we're working on improving it.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts