At the same time I think the rapid development left a mark on Node.js. The ecosystem has gone through so many iterations in a relatively short span of time that there have been few long lasting good practises. This in turn has left the NPM repository bloated with code of all sorts. I also dislike is the massive dependency graphs that makes it vulnerable to things like the left-pad incident almost half a decade ago.
Downloading ten thousand packages for “a pristine codebase” is a fallacy and the continuous reinvention of methods to create HTML forms reminds me of a hyperactive weasel more than anything else. Both of these have been the driving force of the JS ecosystem, but in the last couple of years we’ve settled on declarative UI libraries like React and Vue, but on the server side we’ve taken Node as a given.
Client side libraries have shed their skin repeatedly, but for the server side its more difficult. There was some turbulence on governance and technical direction circa 2014 with Node forks like io.js. These issues got resolved and unified efforts continued on Node.js. And don’t get me wrong: Even if Deno takes off and carves a significant niche like serverless — Node.js will be around for a v-e-r-y long time.
Technical merits alone will not be enough for Deno to break into the mainstream. Gaining critical mass requires adoption and vice versa. A chicken and egg problem, but since Deno shares the same language and core philosophy, I don’t see major blockers. Projects like Servest and Nessie already cater for the core web development requirements. It remains to be seen how the ecosystem game pans out for Deno.
To learn more, I recommend watching 10 Things I Regret About Node.js and reading the launch post. I try not to push technologies for the sake of them, and I’ve certainly not taken to the forums in 2010 to buzz the Node.js vuvuzela. It’s hard for me to say this: I’m excited about Deno and hope it takes off!
- Jani Tarvainen, 2020/05/14
Originally published at https://malloc.fi.