Tech

The JavaScript ecosystem is ‘hopelessly fragmented’… so here is another runtime: Deno is now a company

Deno, the JavaScript runtime from the creator of Node.js, is now a company with nearly $5m to fund development – though its developers say it will remain “permissively free.”

Deno 1.0 was released in May 2020 by Ryan Dahl, Bert Belder, and Bartek Iwańczuk. Dahl, the original developer of Node.js, had reflected on what he considered to be his design mistakes, some of which he saw as unfixable, and therefore created Deno.

The new runtime ticks boxes for modern development trends, including being part-coded in Rust and having first-class support for TypeScript. Like Node.js, the project depends on the Chromium V8 JavaScript runtime.

The TypeScript element caused some debate when, in June 2020, the Deno team decided to “use JavaScript instead of TypeScript for internal Deno code,” citing performance and cleaner code as reasons. This was seen as a dilution of the original intent, to use TypeScript everywhere, but the developers said it was “only applicable to a very particular, very technical situation in the internals of Deno.”

Dahl and Belder have now “raised $4.9m of seed capital” from investors including Mozilla and Guillermo Rauch, the CEO of JAMstack company Vercel.

The investment will enable “a staff of full-time expert engineers,” though Deno is to remain MIT-licensed. “We do not want to find ourselves in the unfortunate position where we have to decide if certain features are for paid customers only,” they said.

Dahl and Belder claimed the server-side JavaScript ecosystem (which is dominated by Node.js) is “hopelessly fragmented, deeply tied to bad infrastructure, and irrevocably ruled by committees without the incentive to innovate.” Server-side JavaScript has not kept pace with the browser platform, they said.

They also believe that for many of today’s developers, the browser is in effect the client operating system. “Many are more familiar with the Chrome DevTools console than they are with a Unix command-line prompt. More familiar with WebSockets than BSD sockets, MDN than man pages,” they said.

In this context, “JavaScript and TypeScript scripts calling into WebAssembly code” is the equivalent of scripts calling platform APIs from an operating system shell.

Deno can be used in many contexts, including serverless functions, desktop applications using Electron or similar, scripting for databases, and more.

Michael Dawson, Node.js lead for Red Hat and IBM and a member of the Technical Steering Committee, told us in October: “All projects are going to end up with some legacy, it’s the price of success that you can’t go back and just change all those things.” As you would expect, though, Dawson takes the line that Node should be improved rather than replaced.

How will Deno Company make money? Dahl and Belder spoke vaguely about “commercial applications of this infrastructure,” which will build on the open-source project. One example already available is Deno Deploy, which allows you to run Deno code on a hosted server with automatic deployment from GitHub.

The irony is that in attempting to fix the “hopelessly fragmented” JavaScript ecosystem, Dahl and Belder are fragmenting it further. ®


Source link

Related Articles

Back to top button