4 ms·
It might catch on, it might not. Not everyone has to like it. I personally do like it a lot. I think of it as Node.JS with a better organized core (with the be
by hackerbrother 5y ago
It might catch on, it might not. Not everyone has to like it.
I personally do like it a lot. I think of it as Node.JS with a better organized core (with the benefit of hindsight), use of browser APIs whenever possible, and built in Typescript. I think it might catch on once we have some mature MySQL, Express.js, etc libraries.
I know seeing popular tools be rewritten from scratch is tiresome, but I don't think it's unreasonable in this case given that Node.JS and Deno mostly get their JS implementation from a separate program: V8. In that sense, Deno isn't throwing all of Node.JS away. It's just a different attempt to make V8 a command line tool.
And of course, competition is good. Maybe Typescript will become more convenient in Node because of Deno.
Additionally: as someone who uses Linux in their day to day job, I think it's a phenomenal scripting tool and replacement / supplement for Perl / Python. I mentioned this in a comment here the other day, but with this short wrapper, you can execute a bunch of SSH commands simultaneously using the Promise.all JS function (familiar to web devs). Just an example of a cool thing you can do with Deno scripting. https://github.com/gpasq/deno-exec https://github.com/gpasq/deno-exec
- noseratio 5y agoTotally this, and not just for basic shell tasks but also as as scripting tool for CI/CD pipelines.
- runarberg 5y ago> use of browser APIs whenever possible Correct me if I’m wrong, but isn’t Node.js aligning more and more with the browser APIs. For example if you `import { URL } from 'url'` you get the WHATWG standard URL object (it is also available as a global object). Node.js now has EventTarget and event listeners aligned with the DOM Event API. `crypto` is now a global object with the same API as the Web Crypto API. You have ArrayBuffer and Blob in Node.js just like in the browser. What is it that Deno is doing differently then node here?
- styfle 5y agofetch() is a notable web feature missing from Node.js core
- andrew_ 5y agoadd WebSockets to that list.
- runarberg 5y agoLike I said, is aligning more and more: * https://github.com/nodejs/node/issues/19393 https://github.com/nodejs/node/issues/19393 * https://github.com/nodejs/node/issues/19308 https://github.com/nodejs/node/issues/19308 Web APIs is not something that Deno is doing and Node isn’t. It is more something that Deno has done a few of which Node hasn’t yet.
- paulddraper 5y agoIt also looks like Node.js is going to get import maps.
- dstroot 5y ago> I think it might catch on once we have some mature MySQL, Express.js, etc libraries. This resonates a lot with me. I first wrote nodejs apps not because of nodejs but rather because of Express. I could build a simple app very quickly, wire it up to a database, use Passport to secure it and call it a day. It was the libraries that drew me in.
- paxys 5y agoI don't get the "built in Typescript" argument. Everything is running on V8 at the end of the day. With Node you run a one-line compilation step, Deno does the same thing just under the covers.
- paulddraper 5y agoMaintainability I suppose.
- paulddraper 5y ago> you can execute a bunch of SSH commands simultaneously using the Promise.all JS function It's just as easy in Python 3.5. Plus async semaphore for resource limiting And cancel remaining operations when others fail. Python continues to be the ideal language for scripts.
- manigandham 5y agoYou can use ZX to have Node in your shell: https://github.com/google/zx https://github.com/google/zx