If you follow the world of Web Development, you might have been recently hearing a lot about Deno - a new JavaScript runtime that might as well...
For further actions, you may consider blocking this person and/or reporting abuse
The is the most unbiased and well written review of the hype around Deno. Kudos
Thanks! I really think that all the hype is a bit exaggerated. Sure, Deno is really interesting, but to call it Node.js replacement right now is a gross overstatement.
reminds me of wasm and vue hype
Somewhat true. Vue is, after all, just another UI framework (BTW, check mine if you're interested 😅), but WASM, IMHO, is something more. Sure, it's not a JavaScript replacement as some might thought it to be, but it allows developers to bring some really immersive experiences to the Web platform. The hype was, again overexaggerated, but only because WASM serves a very specific and small (even smaller back then) niche of resource-heavy web apps like games or heavy productivity apps, which are rather in the minority on the Web.
I fully agree on that. Tho, what I meant was, when it first came out (around '17 or '18), the hype level was like: it's an absolute necessity to use it for a calculator app, just to show all the 'cool kids' on the block you are familiar with it too, hahah :)
Nice article @areknawo !
I'm wondering why having the downloaded modules stored out-of-sight, somewhere on your machine is better than having the node_modules folder? To me seems like one is visible and the other an invisible black-hole-like :)
The link to Tokio is not working.
Your article sparked my curiosity. My next POC will be built in Deno! I find very funny the why of the name of this new runtime.
Thanks!
Thanks!
I've already fixed the link to Tokio.
As for external modules, Deno has a single directory on your disk to serve as a cache for all the URL-referenced dependencies. In this way, you only download them once per the specified version. This results in a single dependency of the given version being accessible right from the cache across multiple Deno projects. Also, more optimizations can be applied to the cache's structure, while keeping it away from the user.
So, to summarize the advantages of this approach:
node_modules
black hole ever again ;)Yarn already caches download packages globally. But because of how node works these are duplicated in all of the projects that use them.
True, but this duplication is where the real difference is.
I tried to solve that problem in my projects using docker with a shared mount volume. It worked, but only when the dependencies of the projects where the same, and usually they aren't, then I needed to reinstall all the dependencies when switching from one project to another. No the best developer experience :)
When using Yarn after have downloaded the packages the first time the reinstallation was really fast because of the global cache that Yarn creates as @simonhaisz mentioned.
This world of dependencies management is really big :)
Thanks for the response!
Very nice review, thanks :)
I wonder if it's mandatory to use TypeScript
No. It's highly recommended but not necessary.
One suggestion: the link to the standard library is not correct because it contains third party modules.
This one is the official homepage of the deno standard library: deno.land/std
Fixed! I need to be more cautious with all these links next time. ;)
Can't wait deno available at react native lol.