Hello,
I want to learn JavaScript, but there are many JavaScript Runtime Environments (Bun, Deno, Node.js, Blueboat, Napa.js, ChakraCore, WasmEdge, Ts-node, JerryScript, Window.js and…), but which ones are good for developing a website?
I feel that JavaScript is also becoming something similar to Linux distributions (There are many of them).
There are at least four things that often get mixed up. Vanilla (pure) Javascript, Superscripts, Libraries and Frameworks.
First there is the pure language Javascript. Often called Vanilla Javascript.
Then there are several Superscripts that is built upon Javascript. Which means that they are converted to Javascript before they can work. Typescript is maybe the most common.
Then there are Libraries. Small scripts that you build things with. React is an example.
And finally there are Frameworks. Basically more or less ways to do things in a certain way with some magic added. Node.js is one of the most common.
On top of all these, there is WASM that I am investigating. I do not know exact how to describe this beast, but I find it a as a Javascript desktop application within a browser - sort of.
As I am forced to use Javascript, I decided to use the Vanilla Javascript. The common ground of all these “distributions”.
My understanding so far is that you can run an application in the browser. It is neither a web app nor native app, but a WASM app.
Javascript may be needed in some cases, but the main engine can be Rust, Go or any compilable language. AFAIK a interpreted language as Javascript, Python, PHP may be impossible or harder to use in a WASM app.
The most common execution environment for JavaScript is HTML. You can start by learning use of JavaScript in HTML (with CSS) alone.
People speculate and their erroneous speculation spreads.
Saying executable files implies erroneously that applications built for desktop execution can be executed in the browser. See WebAssembly. It says WebAssembly (abbreviated Wasm ) is a binary instruction format for a stack-based virtual machine. And it says WebAssembly describes a memory-safe, sandboxed execution environment.
Also see WebAssembly | MDN. It has many instances of code being compiled to WebAssembly. Use of WebAssembly requires use of a compiler that generates it, unless a programmer writes WebAssembly directly.