3 ms·
It's tough to be certain about anything, but I could see a future where URL-syntax imports are absorbed by node. Whether or not Deno becomes a true successor to
by JMTQp8lwXL 6y ago
It's tough to be certain about anything, but I could see a future where URL-syntax imports are absorbed by node. Whether or not Deno becomes a true successor to Node will be predicated on businesses seeing a painful problem (security) being solved by Deno.
In a world with Docker, encapsulating a node process to a limited file system seems like an acceptable enough of a solution today (note: I am not a DevOps person, there likely is more nuance here)-- it's challenging to assess if the benefits of Deno outweigh the pain of migration.
Regardless of the outcome, all efforts to improve the server-side JavaScript space are appreciated.
- js4ever 6y agoUrl import is already there https://www.npmjs.com/package/require-from-url https://www.npmjs.com/package/require-from-url
- JMTQp8lwXL 6y agoThanks for sharing --that is awesome the functionality exists-- but I meant native support by the require command.
- thu2111 6y agoBear in mind Deno isn't the only competitor. GraalJS can run all NPM modules on top of the JVM, in fact it supports both "pure" running JS on top of the JVM and also provides a mode in which it replaces V8 in the original Node binary, for extra compatibility with e.g. native extensions. This gives you at least three major tech wins: 1. Interop with the entire Java ecosystem and also as other Graal languages improve, with them too (e.g. Graal's Ruby support is pretty great, Python is maturing) 2. Extremely efficient and scalable pauseless garbage collectors. 3. Ability to do shared-memory multi-threading by sharing Java objects between workers. And soon via Project Loom there'll be very light weight fibers too i.e. you can write your code in a fully blocking style, no promises or async/await, but it'll be just as efficient as Node. It can load sources from URLs too (see https://github.com/graalvm/graaljs/blob/master/docs/user/JavaScriptCompatibility.md https://github.com/graalvm/graaljs/blob/master/docs/user/Jav...) It feels like Deno has focused on adding JS-specific features, and sandboxing is an admirable goal. Obviously GraalVM can do that too as long as you're in pure JVM mode, and aren't installing native/C++ Node extensions. So it may well be that Deno is more attractive to pure-JS hackers. But for people who need or want to bridge ecosystems, or scale a single JS program up to much larger heaps and higher performance programs, GraalJS is a serious competitor. Probably Node people don't take it too seriously because it's sort of outside their social circles.