Incredibly biased although I am 😉, I think it's also important to consider testing when it comes to your making your choice.
⚠️
Sales pitch incoming ⚠️
Nothing else comes close to http4k in its attitude to throughly being able to shift as much testing left as possible, and writing portable tests that can be used against an on memory app, a locally running server or a remote one with a single line of code. It's even designed so you can throw away http4k away and keep your tests in place ! Testing http4k requires zero testing infrastructure - no "test harnesses", no complex component lifecycles, and definitely no magic maps of beans! 🙃. You can even fully unit test OAuth redirections flows and websockets entirely in memory with no server!
Composing applications out of functions is a hugely underappreciated technique in terms of the power it gives you with just a couple of simple patterns. There are more advanced topics to be sure (eg. lenses), but compared to the magic of annotations it's really
just function composition and you can see all the code and step through at every point if required.
Are you going to be able to copy-paste code from stack overflow? Definitely not as much - the direct style can be quite alien if you're just used to being spoonfed magic, but for people with experience in other languages, it's actually more natural.
Http4k contains ~65 modules covering everything you might need from Json/xml/JSON RPC to graphql to typesafe configuration to open API generation to OAuth security to websockets/SSE to opentelemetry to templating to advanced testing (matcher libraries/approval testing/webdriver/service virtualization - and the upcoming
diagram generation). And v5 will support about 20 backends including 6 serverless platforms.
And did I mention the
zero-reflection cloud client library which can be used instead of the heavyweight aws SDK and comes with fake servers that can be used to test AWS services in memory without the need for localstack? Or that we've just added an SDK to allow you to simply create and test fully authed
OpenAI plugins , along with a fake OpenAI server to plug them into or test against- which can also be used to "generate" chat responses or images without using up valuable tokens.
Yes we've been busy. 🤣
Now of course, noone ever got fired for "choosing the industry standard", but then I don't personally think people should aspire to be "industry standard" engineers. 😉
⚠️*end sales pitch* ⚠️
Regardless of which way you're leaning, I'd encourage you to scratch below the surface of your options to make a more informed decision to see what really makes them tick. Maybe write a couple of spikes to compare and contrast?