JVM can only run apps written for it: Docker & WASM don't have that limitation.
> it can run non-WASM and non-JVM apps like PostgreSQL, etc...
but WASM can run Postgres
JVM can only run apps written for it: Docker & WASM don't have that limitation.
> it can run non-WASM and non-JVM apps like PostgreSQL, etc...
but WASM can run Postgres
Of course they do. You can only run apps on WASM that have been compiled to WASM bytecode. You can only run apps on Docker that have been compiled to whatever bytecode is supported by the container runtime (which can be x86, ARM, x64, etc.).
> but WASM can run Postgres
WASM can run WASM-compiled Postgres. It has to be specifically compiled for WASM, which also means it generally needs to be ported to WASM first (as WASM runtimes have a lot of limitations that arbitrary C programs probably don't conform to).
Someone put in the effort to get Postgres to compile for WASM. That's great :) Maybe someday every application will compile to WASM as the preferred choice over the linux interface.
Compiling apps for different targets is VERY MUCH not a simple, low effort task though. Something like a database that must have an incredible number of optimizations in the way it makes syscalls, will have to a full stream of work to keep each target running well.
It can be done. But if "one of these thigns is not like the other" with your three things- Docker is the odd duck out.
Of course it does; WASM is just a format, still need to create the right functions that the runtime will call to do the useful stiff
- Article: https://supabase.com/blog/postgres-wasm
- Repository: https://github.com/snaplet/postgres-wasm
- HN Thread: https://news.ycombinator.com/item?id=33067962