Modal Title
Frontend Development / Software Development

With Additional Funding, Deno Sets out to Challenge Node.js

Deno has been struggling to compete with the Node.js powerhouse. Additional funding and using-facing initiatives such as Deno Deploy should help this JavaScript runtime find its audience now.
Aug 19th, 2022 6:00am by
Featued image for: With Additional Funding, Deno Sets out to Challenge Node.js

If Deno is the answer to Node.js’s problems, then why hasn’t it caught fire yet?

Ryan Dahl wrote Deno as the solution to the problems he saw in his previous creation Node.js. The problems as Dahl saw it were a poorly designed module system, security issues, and the package manager could be replaced with a standard URL-based linking system.

Deno, launched in 2020, is a new runtime for JavaScript, TypeScript, and WebAssembly. It is built on the Rust programming language run by the V8 engine. Deno attempts to provide a standalone tool for quickly scripting complex functionality.

Deno has a similar purpose to Node.js, which is the standard web service workflow of providing services to client-side applications (serving files, furnishing APIs, acting as a data aggregator, etc..). Perhaps, as a result, Deno is slow to gain traction.

“If I have to choose between these two technologies which one would I choose?” said Mayank Choubey, a developer who has written a lot about Deno on Medium, in an interview with The New Stack. Even with Node.js’s imperfections, “My company has a lot of projects that we use Node.js for. We use Deno for internal projects but it’s definitely Node.js for anything critical because it’s a proven technology with no risk.”

In June, the company behind Deno, Deno Land Inc., announced that it obtained $21 million dollars in a Series A  investment round led by Sequoia Capital, which could go a long way in covering the remaining gaps in the new technology.

Not only does Deno have the funding to compete with Node.js for market share, but it also further invests in a business model that will separate itself from its competitor.

What Needs to Be Addressed

One struggle Deno has to overcome is that it isn’t known for being a user-friendly, bug-free technology. Deno is a baby, it’s only in version 1.24.2 so while there were tech geniuses working on it, bugs are part of this process but they do deter smaller developers and the larger developers aren’t interested in adopting the tech.

Jennifer Fu, a UI tech lead at Domino Data Lab who frequently blogs about Deno, suggested in a TNS interview that what is needed are “predictable releases to make it work.” Choubey also suggested upgrading the docs as they aren’t, “the kind of documentation that I would be looking for if I am starting on this technology,” in that they aren’t detailed enough.

The first two problems create the perfect environment for the third problem, which is the lack of third-party packages. It’s a chicken-and-egg problem.

 “If people aren’t interested then they will not build packages for Deno and if there are no packages for Deno then people will not be interested,” Choubey explained.

Third-party packages are a rich part of any technology’s ecosystem. They come from the need for innovation, but there isn’t much innovation happening on a technology that isn’t widely used and there definitely isn’t a lot of work happening on a technology that isn’t extensively maintained or clearly documented.

When it comes to building with a technology that doesn’t have many third-party packages, sometimes it’s helpful to know that if a problem arises, there’s likely a thin abstraction layer for that.

Deno has approximately 5,000 third-party packages, a sliver of Node.js’s approximate 12 million packages.

“It’s likely that you won’t find a package that will solve all your problems,” Choubey said, admitting that Deno does nonetheless have many useful packages.

Note none of these changes state that Deno is a bad technology because it isn’t. Deno is just new to an already existing marketplace. Fu stands behind the tech: “it has potential; it’s time for a new technology.” Because this is where Deno is and where it was. And Deno is absolutely on the move.

Additional Funding

With the additional funding in place, Dahl and his team could address the above-mentioned issues, as well as bring some organization to the endeavor.

Fu believes that the biggest problems facing Deno are that it was, “too decentralized and [needed] a company to adopt it,” and there should be some progress now.

Deno Deploy, Deno’s hosting division, is the answer to that. Deno released Deno Deploy last year and is still iterating on this “cloud service for hosting JavaScript servers.” The company’s own documentation notes that “by repurposing web browser technology for server software, we aim to accelerate a new generation of extreme low-latency edge applications.” Even Deno.com redirects right to Deno Deploy.

Fu, who recently published a project with Deno Deploy attests that, “its convenient and dynamic. Every time I change code I just push to GitHub and it automatically posts server-side.” Deno Deploy is a distributed system that runs JavaScript, TyopeScript, and WebAssembly at the edge, worldwide.

In addition to Deno Deploy, Deno released its own frontend framework, Fresh in late June of this year to compete with the numerous frameworks that work with Node.js out of the box. Fresh is based on the Preact Virtual Document Object Model (DOM), and supports Typescript out of the box.

Fu and Choubey have worked with Fresh and echo the same sentiment that it has great potential though Fu confirmed that there are still, “bugs [between Fresh] and Deno Deploy.”

It’s going to be very interesting following this technology over the next few months as this one should be making some big moves as time goes on.

Group Created with Sketch.
THE NEW STACK UPDATE A newsletter digest of the week’s most important stories & analyses.
TNS owner Insight Partners is an investor in: Deno.