Deno has been around since mid-2018 and has got quite a lot of momentum since then. It's the latest JS runtime, an alternative to Node. Both created by Ryan Dahl.
I remember there was a lot of buzz on social media when v1.0.0. came out in May 2020. Now it seems the hype has decreased and it leaves me wondering: Have you built any projects with Deno?
Top comments (10)
I wrote some small scripts in it, I want to love it but in practice it's been quite painful, especially if the project has some browser/Node stuff in it too. My editor (vs code) does not want to understand both at the same time.
I tried to use Deno to execute tests for a ServiceWorker project (on Cloudflare Workers), it makes a lot of sense because Deno is a lot closer to a WebWorker than Node is (in terms of global API), but you run into all sorts of problems.
One glaring one is the Typescript compiler not accepting imports that end in
.ts
, which is a total killer for Deno. I need to use the typescript compiler to compile for non-Deno environment. And then there's importing from URL: it's useful in a Deno-only project but in a 'hybrid' project you have to duct-tape it together.All in all: A Deno only project: go for it. A Javascript with multiple targets: it's not ready for that (yet).
Do you believe it could become the main JS runtime in the upcoming years? 👀
No, I don't think it will, but it will get a sizable following. Node.js is a behemoth that will be hard to kick off. The upsides of Deno just aren't that large! No ambiguity in imports and nicer APIs are great, but won't convince a large company to rewrite much of their existing codebase.
Its got some interesting features, but its not enough for me to really make the jump. I'm hoping the features will be implemented into nodejs instead.
As far as I know, Ryan wrote it from the ground-up in Rust, and the architecture is pretty different at its core 😉 Deno was born as a fully separate product based on the flaws Ryan learned from Node over the past decade, so I highly doubt it. 😉
The only thing which interests me when it comes to deno is how you can specify what sort of access each module has. This would help prevent future security issues similar to what happened with the whole flatmap-stream fiasco.
Some things being built into the platform (like test framework) don't really appeal to me as the nodejs ecosystem has already settled on a lot of de facto libraries. For things that are still up in the air I already know what I'd want to use. Its not really solving any issues for me when it comes to that.
Built-in typescript support is nice, but it isn't going to take that long to setup in nodejs. Is it really worth the overhead of using a new platform? Are we going to save time in the end? I'm quite sceptical.
Well, as you point out, there are some improvements so it's really not that much of a different platform overall.
I've written some small stuff with it so far. I am now reaching for it instead of Python, which I would normally use for little "glue" scripts and things like that.
The biggest reason for switching is because of the URL import feature, which I love, especially when paired with a site like nest.land which allows you to pull code from an immutable, versioned URL from a blockchain. Or, store a web-facing file on S3 or something like that. No more leftpad scandals!
I am just beginning to practice my node and vanilla js, I doubt I will spare anytime for deno soon, I wonder what the pros are doing with it...
Hello world!