Developers of the Deno JavaScript and TypeScript runtime are exploring the possibility of JavaScript containers—and the JavaScript sandbox itself—as a higher-level alternative to Linux containers.
In a blog post this week, Ryan Dahl, who spearheaded development of both the Deno and Node.js JavaScript runtimes, cited JavaScript as the “universal scripting language.”
JavaScript’s universality is prompting the emergence of a new container-like abstraction, he said. Linux containers are not going way, but thinking in terms of JavaScript containers could simplify many web services. Dahl also noted that Docker popularized the use of Linux containers, with operating system-level virtualization for distributing server software. Each container image is a dependency-free, ready-to-run software package. But browser JavaScript offers a similar hermetic environment at a higher level of abstraction, he said.
Dahl said he expects JavaScript container technology to unfold over the next couple of years. Deno is exploring the idea, notably in its Deno Deploy product, and currently hiring engineers to pursue it.
Scripting languages can help solve many server problems and allow business logic to be written cheaper and faster, said Dahl. Not only is JavaScript the most future-proof of scripting languages, but the JavaScript sandbox is emerging as a higher-level container for server software. Unlike Linux containers, the JavaScript sandbox could invoke the WebAssembly binary instruction format.