3 ms·
In the Node & JavaScript ecosystem, there is the web framework Express. The current major version 4.x.x branch is over 10 years old [1]. And yet it powers so ma
by __natty__ 3y ago
In the Node & JavaScript ecosystem, there is the web framework Express. The current major version 4.x.x branch is over 10 years old [1]. And yet it powers so many apps in the ecosystem (over 17M downloads every week [2]). It lacks some features and is not the most performant [3]. But me and coworkers I talked with, like it because it allows for quick, stable development and long-term planning without worrying about drastic API changes and lack of security patches for older versions. Even better stability is provided with Go where we can run over 10-year-old programs thanks to a mix of wide stdlib and the promise of compatibility. [4]
[1] https://www.npmjs.com/package/express?activeTab=versions https://www.npmjs.com/package/express?activeTab=versions
[2] https://www.npmjs.com/package/express https://www.npmjs.com/package/express
[3] https://fastify.dev/benchmarks/ https://fastify.dev/benchmarks/
[4] https://go.dev/doc/go1compat https://go.dev/doc/go1compat
- steve_adams_86 3y agoThis gave me a pleasant shock. I'd forgotten that Express has been around for 13 years now. It was considered a super shoddy, pretend-programmer piece of junk by many when it first arrived (largely by virtue of being written in JavaScript). Since then I've helped a lot of companies build cool stuff that made real money with it. It's probably serving a crazy number of requests these days. I write a lot of things with Go now instead, but I'm still totally content to build things with Express. It's good software, generally speaking.
- rareitem 3y agoExpress v5 is allegedly coming out in the near future (https://github.com/expressjs/express/issues/4920 https://github.com/expressjs/express/issues/4920)
- pcthrowaway 3y agoAnd that's been in production for over 8 years https://github.com/expressjs/express/issues/2755 https://github.com/expressjs/express/issues/2755
- erikpukinskis 3y agoI find the Express 5 situation hilariously wonderful. It’s basically done. Any other project would’ve slapped a major release on it and fixed any issues that came up in a patch. Everyone who is using it says it works great. But the maintainer won’t release it because they don’t feel it’s gotten enough testing. So they’re just waiting. And no one really cares because Express 4 is great and works fine. It’s a beautiful example of mature software development.
- PH95VuimJjqBqy 3y agocakePHP also does this, and this is one of the reasons why I dislike RoR. I don't actually dislike it but I would never choose it because of the ratwheel of constant version upgrades.