See the entire conversation

Alright JS gang - anonymous, neutral poll: Which of the new serverside JS runtimes do you suspect you will be using MOST in 2025? (not counting Node.js)
120 replies and sub-replies as of Jul 16 2022

I'm doing this poll for the @useReactNYC meetup tonight, just an unscientific straw poll
🚨IRL Meetup Alert!🚨 🗓️Wed, July 13 🗺️@YextEng, NYC 🤝@useReactNYC 🎙️@swyx on new JS runtimes Bun (from @jarredsumner) & @deno_land 🎙️@iam_nawaz on modernizing a monolith w/ @nextjs, @Cloudflare workers & @GraphQL FREE ADMISSION! RSVP here 👇
Login to Meetup | Meetup
Find groups that host online or in person events and meet people in your local community who share your interests.
i am doing my first talk about Bun vs Deno in 30 mins - join us on livestream! @Benghamine and @donavon kicking off @useReactNYC now!
Going live with our meetup @YextEng in just a few minutes! Don't miss @swyx and @iam_nawaz on this livestream: Unfortunately @hdjirdeh isn't able to make this meetup but we hope to feature him again in the future!
Swyx, Houssein Djirdeh, Nawaz Khan @Yext
Live from the Real World React/useReactNYC meetup at Yext HQ in NYC. Talks start at 6:35pm ETSpeakers & topics: TALK 1Nawaz Khan: Revamping a monolithic fron...
i still haven’t fixed bug you reported yet but probably will happen within two weeks
boo, changing my vote
Curious if someone will take Hermes and bring it server-side sometime. Bun using JSC was kinda like ... "hm, okay, feels kinda 2015ish though"
what are the important technical diffs between hermes and JSC? i bet @jarredsumner already considered this one
Tons — Hermes has no JIT, so it is very slow at runtime. Hermes optimizes entirely for startup time JSC is more comparable to V8. JSC outperforms V8 at regexp, setting properties and some strings-related tasks whereas V8 tends to outperform at typed array access & promises
I briefly looked at using Hermes and using QuickJS for Bun. QuickJS would've been a lot easier to embed than JSC. But the runtime performance is very limiting
Thanks, helpful. I'm thinking Hermes might make sense for CLIs where startup time really matters. I do think JSC is better than V8 for what you're doing.
Being able to choose would be so cool! React Native has managed it, just a simple build toggle. Imagine shipping a CLI with bun and flipping a switch to bundle it with Hermes 🤯
Awesome presentation
CfW is the only one of those I've heard of, so that. :D
*soft chant* bun bun bun bun
I voted for Bun because I hope it gains more adoption and I would love to use it in a real project. However, Deno and especially Cloudflare Workers have a greater pull for production apps since they've been out longer.
Wow, the split!
its reaaaaly shifted in the past hour or so lol
Oh, wow lol that bun hype!
Ridiculous. You cannot even deploy to Bun anywhere. Hype and recency bias ftw.
this will be fixed
would love to see the differences between the 3 highlighted in a blog post!
someone would have to pay me to do that lol its way too much work
Heh... Not making a judgement on the quality of any of these tools, but people are way misjudging the length of time it takes to get a company to scale up. 2025 is not that far away
Cloudflare Workers, or rather the product development that led to them, began like 8-10 years ago at least. I remember CF was doing stuff on the Edge with Lua for companies like Riot Games back then
Cloudflare has had some pretty big missteps though. Cloudflare Pages is an incredibly disappointing product. They've not done a great job explaining their KV/Durable Objects storage. They need a way more serious logs product
I think Cloudflare Workers/Pages is one of the most slept on innovations in web dev right now. If the dev & testing environments/tooling around those products was 10x better, they could make a serious dent in web app hosting market share, imho. KV storage alone is mind blowing.
KV is an alright built-in solution, but its way too slow. Most people will still want Redis
Can just use the Cache API instead for that use case. This is a documentation/education problem IMO, serious lack of resources about the cloudflare platform
You can only put requests in that right?
Yep, but what isn't a request/response in cloudflare land?
I've been seeing 15 - 30ms on hot reads and ~ 250ms for a cold read but the service isn't live in production yet so remains to be seen how consistent that is across different regions. At least for our use case, it works well for an edge lookup.
The metrics I’ve seen place it much slower than that at a higher scale
Even 15-30ms is slower than it needs be to fully take advantage of "the edge". That's a significant percentage of the roundtrip time between most users and edge locations (usually <50ms). Compared to Redis on, which is consistently <5ms IME.
Fundamentally, if we're looking to squeeze every bit of latency out of a request, it's just really hard to beat a long lived server node that can amortize the cost of establishing the initial connection over its entire lifetime. This is why I'm more bullish on Fly than CF.
im sure the @CloudflareDev PMs and dev advocates would be happy to listen to specific ideas/requests!
(and engineers) yes, we would :) I am an engineer on the Pages team and love hearing ideas/feedback/issues. Everyone is welcome to email me walshy@
Durable objects is pretty single handedly the most exciting development that I’ve seen. I’m using them to manage game state and I’ve never had a better developer experience and totally disagree on KV as well it’s equally brilliant and a joy to use. Im going to open source my game
FWIW, I've also been pretty disappointed at R2, which despite all the marketing around being globally distributed, happens to be abysmally slow at writes. I remember seeing ~1s latency when I tried it, slower than writing to a S3 bucket on the other side of the planet.
I’d love to chat about how to make it better!
less reacting to random complaints, more showing your vision and leadership of the industry
less talking to customers, more building stuff you think they want?
When Cloudflare open sources their workers runtime and builds a good documentation and community behind it, I think that’ll be a big deal for me. Bun is still new and I’m undecided, but it looks very promising.
Any hint on when it’s likely to be available on GitHub? 🫣
Here's a hint... we believe birthdays aren't just about getting gifts, but giving them as well.
soo April 22 (my birthday) then, got it
Got it! I'm looking forward to it!
cloudflare workers should be compared with deno deploy (not deno)
Even after the runtime is open sourced? (Coming soon AFAIA) then it's much more comparable to deno, node, and bun
deno deploy is a worker runtime, deno is more like node, they are completely different runtimes from what I understood
The hype is strong with Bun 😂
Yeah I think everyone voting for Bun is underestimating what it takes to build an entire deployment platform around a runtime. For Bun to win it can't just be better than Deno and Workers, it needs to also have something better than Deno Deploy and the entire Workers platform.
Like in new projects or overall? Overall my bet goes to Node. New I dont' know yet
Bun without question
the one that doesn't exist yet
I cant imagine choosing bun here. So much unproven, so experimental. V8 has been proven for over a decade on the server, bun will move faster than node but I don't imagine it'll be ready for production in less than 3 years
I think deno is probably a better benchmark. That's only recently gotten production ready IMO in the "rapid" timeframe of 2 years since 1.0. bun is still a way off from a 1.0, let alone being stable enough for production usage
This is the time to use the hype, get funding, parallelize yourself, and prove him wrong. To be hercules isn’t sustainable, imho.
I'd love to be proven wrong! Also love to hear how you plan to reach 1.0 faster than deno!
Observing Deno, it seems like they could have built that on top of JavaScriptCore rather than V8, and it wouldn’t have made that big a difference. Most of the work is in the layers in top?
V8 was already embedded in node (and other places) at this time. That's a huge amount of prior art to draw from. Deno choosing v8 definitely helped them ship faster
It absolutely helped them ship faster, but is JavaScriptCore “not being proven on the server” really that big a factor in Bun’s trajectory? It could be, I’m just not convinced it’s that clear cut. It feels pretty close in Bun today.
People voting bun just because it’s the latest in the hype cycle. CF worker will win, no doubt.
the coldly logical answer is Cloudflare Workers people overestimate the value of a functions only platform with nothing else there's a reason that Lambda, which has the worst DX, is used 100x more than any of these CF workers is the closest to not being functions only
Agree that things like KV are a big plus, but the whole tooling around Workers (esp wrangler and Cloudflare's web UI) is a pain in the butt and not my idea of DX.
Have you tried Wrangler 2? We've been working to improve the DX. If there are specific things you would like to see improved, let us know.
10 things I love about Wrangler v2.0
We are proud to announce that Wrangler goes public today for general usage, and can’t wait to see what people build with it
Just the fact that you guys are active on Twitter and engaged in feedback is amazing to see!
Exactly. We’re long Cloudflare but judging from their (lack of) feature velocity Microsoft and Google still have a chance of getting their edge/serverless shit together before Cloudflare closes the general app dev gap.
People got habituated to the bad DX of the Lambda and its ecosystem. I believe it's no longer bad.
Can you remove all the knowledge you have in the ecosystem, look at it with fresh/newbie eyes, and say the same? I'm pretty curious. I find when we take a step back from *loads* of things we're very familiar with/find easy, we find that they aren't actually intuitive at all.
But yeah, to your point, I haven't revisited the AWS stack in years, due to the horrible DX (as experienced firsthand). Would love to see what, if anything they've improved. Even if they haven't, it just means they have loads of opportunities to catch up :)
Yep. There are lot of startups/companies that provides a wrapper service around lambdas with nicer git integration and great DX.
this is really the entire premise of our work at SST raw primitives in AWS are very complete, just needs a proper framework to use the good parts and avoid the bad parts
I'll have to check out what you guys are doing! I definitely agree that there's a ton of great tech in the AWS ecosystem, as it obviously powers much of the world. :)
Have any specific ones to share? I'd love to do a bit of a dive into them to see what I think! :)
Nope. I still remember how much time I have spent to get up and running with simple function that returns hello world(with api-gateway). Even today it's hard to do it manually through console(without IaC).
with R2, D1, and... probably eventually their mythical "D2" (whatever that is... postgres?) to wrap their "R2, D2" moniker are going to give Workers such a productivity boost
Bun is overrated.
bun is fast
Can I vote for wintercg and not needing to care?
Workers are already prod ready. I’ve been using them for years absolutely awesome. Vercel also just added support for workers in their edge functions.
Missing from poll: @billywhizz1970's Just_JS (v8 only for x86/Linux). Faster than some Java, Rust, C++, C#, Go stacks: Otherwise, Bun or a OSS version of CloudFlare Workers; I'm allergic non-OSS lock-ins.
On Javascript Performance - Techempower Ranking
A summary of techempower benchmark results for a new Javascript platform
surprising that bun leads considering it came out like two days ago and probably 75%+ haven't even tried it yet
jarred boosted it a bit early on haha but matt prince has just RT’ed it so game on. we are only 6 hours in
Have you met the JS community? Of course the thing that came out this week is winning the poll!
what 2 days? i seen it before 2-3 weeks. Actually know when it was 26th last month. 😁
I would say rather typical of the JS community. All aboard the hype train!
inb4 Microsoft Edge runs on The Edge “but that doesnt make sense!” nobody makes any sense it’s just provocative
And the javascript fatigue continues
Most people have high hopes for Bun but I'm still a bit skeptical about it
Cloudflare workers are fantastic. What they’re building feels like an AWS for the serverless age
Lol why aren’t we counting node? Because it’s going to be node.
Haven't tried it yet, but assuming eventually it becomes more stable/feature complete, I think bun's ability to both support existing node packages out of the box but also do its own thing will make for a smoother transition curve than deno's createRequire() shim
Of course, deno can change until 2025. node might also change (in fact it is already changing). I don't think a proprietary runtime will win. And I think JSC being used server side will contribute to the ecosystem health overall
Cloudflare Workers all the things
Bun is just so damn innovative and in a way that doesn't disrupt entire tech stacks, and for that it has to get my bote
I really hope it will be Denoworkers on Cloudflare or Deno Deploy. Or on any other edge.
Do you mean Deno Deploy? afaik you can run Deno in CF workers
Deno Deploy _and_ Cloudflare Workers Same codebase via e.g.
Just made a thing: 🚀 Run esbuild by smashing two urls together Served near you via Deno Deploy (@deno_deploy)
esbuild as an edge service
We run esbuild so you don't have to.
Apps Script!
No server by 2025.
I'm thinking `bun`! I'm still looking for a lightweight node.js compliant runtime - something like low.js... Is that still alive?
Okay what is this
Node or nothing 😝
it will be Deno's decade, for sure. i wrote about that exactly when found Bun on 26th last month. Bun is astonishing too.. but.
Workers definitely but happy for what the future holds with Deno