Design Meeting 2021-09-16 #12108
Replies: 7 comments
-
This sounds great! I'm especially hyped for import assertions. Don't know if anyone cares but here are some thoughts and suggestions about migration (tooling) and the reasons why it took me longer than it should to switch to Deno: I, as a former Node.js fan and user, felt most comfortable adopting velociraptor to satisfy my obsession for defining "npm-like" scripts and I think vr should definitely be at least suggested, if not recommended to migrate from package.json scripts in an eventual migration guide/tool. click here for thoughts about esm.sh (which feel obsolete after reading https://deno.land/[email protected]/npm_nodejs/cdns)Also, https://esm.sh/ is a must-have for me coding Deno projects these days. Generally I'd look for more modern alternatives to npm modules providing a usable ESM source or just, you know, an alternative written specifically for Deno, but sometimes there just isn't one, and esm.sh really has been a gift and time-saver in those moments, because mostly I can just append the npm module name to About the perceived challenge
My speculation is that for a lot of users it's not just about adopting Deno, but also about adopting Typescript. This is why I personally, at least, didn't try Deno for quite some time, because for me it felt like it's all about Typescript and plain JavaScript/Ecmascript support is just an afterthought. I know this doesn't reflect reality and sounds strange considering Typescript supports using just plain old JavaScript syntax as well, but the tooling and philosophy around it is certainly a different one, which can feel a bit overwhelming. For me at least, maybe I'm alone with that feeling. But currently, the best thing for me about using Deno is that I know, for the most part, I'm writing frontend code that will work in browsers out of the box and does not depend on Deno itself, and backend code that will work on any PC (with Deno installed) out of the box, without building or compiling anything, with both sides using the same ecosystem, syntax, and so on. And that feeling (for me at least) after so many years using JavaScript in a node.js- and babel-dominated world, is really great. Sure, there are a million other ways to use this language and I won't deny the value bundlers and transpilers provide, but I really think the website/readme/manual/docs should emphasize this huge factor about Deno, and the fact that it follows standards that are independent of Deno. I feel like the ESM support in Deno and the whole "import modules using urls only" thing can come across to users as opinionated design choices and weird gimmicky experimental features, but they are literally the standard and how JS works in all browsers today. It's easy, it's open, and you don't need to download, install and understand 17 different bundle plugins to get it to work. This ease of use should be the real argument/selling point for Deno. It sounds cliché but Deno, with its current philosophy, really is the last (big) tool you'll ever install as a JS dev. Sorry for the wall of text but I hope you guys will take some of it into consideration to help grow Deno even more. As always, just my perspective and opinion on things, which may be weird sometimes. 🙈 |
Beta Was this translation helpful? Give feedback.
-
Regarding improving Deno adoption, IMHO fixing the following Deno windows specific bugs could help winning some windows users. (at least some of my colleagues 😄 )
Before building something significant in Deno, I thought to start creating some custom cli programs, with interactivity. Unfortunately the Deno windows experience is not as smooth as on linux for interactive cli. I'm not sure if my use case is widespread or it is just me. thanks for building deno! |
Beta Was this translation helpful? Give feedback.
-
https://github.com/fromdeno/deno.ns
https://github.com/wojpawlik/deno2node or #3385
How about implementing https://nodejs.org/api/esm.html#esm_node_imports instead? |
Beta Was this translation helpful? Give feedback.
-
I wouldn't go as far as producing CJS modules, but it would be helpful to have an option for tsc compatible output when generating ESM modules with |
Beta Was this translation helpful? Give feedback.
-
To get more users you need a high quality official YouTube channel that shows people how to do the things they want to do. It needs to have a great (paid) presenter and to have a new video at least once a week. In 2021 blog posts are not enough. People like Mosh https://www.youtube.com/user/programmingwithmosh could be approached and paid to create courses that are given away on the channel. A full scale Deno propaganda drive is needed to drive up adoption, it will pay for itself in the end with new Deno Deploy users I am sure. |
Beta Was this translation helpful? Give feedback.
-
Node makes mandatory the use of extensions in its ESM land.
Yes, it is in my personal experience. And this is the main reason why I did not switched yet to Deno as dev platform. The most hard thing is to generate TypeScript declaration files from a Deno project. The use of In my personal experience, Deno is an appealing ecosystem for developing libraries and applications: the integrated code formatter, linter, test framework, and bundler are great! However the test framework and the bundler are still young. For instance, the test coverage cli fails when import-maps are used. Furthermore, the bundler is really minimalist: I cannot bundle my library without bundling its external dependencies, I cannot generate TypeScript Declaration files. |
Beta Was this translation helpful? Give feedback.
-
Exponential growth looks like constant growth in the beginning. In other words, the typical S-curve of adoption will become apparent only later. It would be a monumental mistake to now compromise on the things you have set out to fix just because you feel like that adoption is too slow. E.g. "Support bare specifiers for Node.js built-in modules.", etc. You would throw away your entire value proposition. Should Tesla have compromised on their goals and changed to hybrid in 2013 after struggling for 10 years (or even now if you still doubt their success)? They wouldn't be where they are today. I assume these ideas originate out of fear since with a commercial Deno Company things got more serious than a hobby project. Take a deep breath! Things will work out. Browser compatibility is your biggest asset which your competitor can’t match. Instead of evolving your product backwards, evolve it forwards. Yet another lesson from Tesla's playbook. Don't backtrack to implement all past mistakes of your competitors, instead evolve at maximum speed forwards such that your competitors can't match you even if they tried. I see a bright future ahead for Deno. |
Beta Was this translation helpful? Give feedback.
-
NotCapable
error to distinguish between permissions and capabilities (Introduce a "NotCapable" error #7394)Deno.read()
andDeno.write()
(Remove "standalone" resource method fromDeno
namespace #12107)package.json
to an import map and potentially other features to "convert" to a Deno-first project.deno emit
subcommand to emit a program as a set of ESM and/or CommonJS modules and a package.json for publishing to npm or other downstream consumption.std
node/*
modulesDeno
namespace to use withdeno emit
Beta Was this translation helpful? Give feedback.
All reactions