this post was submitted on 10 Sep 2023
215 points (94.2% liked)
Programmer Humor
19817 readers
687 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Deno is still around and is even actively used, you have to use it if you want to write a Supabase edge function, for example. But it's not used in mainstream development from what I can tell, it just never took off because it's a very large idea shift from Node that requires a decent sized learning curve to figure out. The benefits are also not enough that it's worth re-learning how to write server-side JavaScript. If you wanna write server-side JavaScript, Node is good enough that it's not worth re-learning.
Still though, Deno is fairly obscure from a mainstream development perspective, and that's what I wish on Bun.
Didn't deno endup having to incorporate many if the things Node has that they were initially against?
To add, edge functions (powered by deno) are one of the bigger pain points of supabase. At least that's my own practical experience and the experience of quite a few others on their github (discussions and issues).
In my current project, I started of optimistically ("Should be doable, they say you feel right at home coming from nodejs!"), tried rewriting some existing nodejs code and use edge functions just like your average nodejs powered serverless functions.
But in the end, things just didn't work out:
crypto
module just wasn't up to scratch yet re nodejs compatibility (for my rather humble needs)--no-npm
flag re its use of "deno deploy runtime", which meansnode:
specifiers for imports aren't supportedIn the end I changed my architecture yet again, moved most of the code to an expressjs backend and only use edge functions as a kind of "tender" proxy layer with minimal dependencies (mostly just deno and some
esm.sh
imports; e.g.supabase-js
).Don't get me wrong, supabase overall is a great thing and they do many things well! I'm still using them going forward. But edge functions just have the potential for being such a pain point in a project and many have already wished for also having the option for "classic" serverless functions.
Yeah, I really wish they’d gone a different way, it’s rough. I think they went the way they did because of the control they have over the run time environment, the ability to disable so much like writing to disk through flags makes it really easy for them to “trust” the edge functions, but man deno is rough.