I've built a few APIs, primarily using either Node.js with the Express framework or Rails in the API configuration.<p>They've both worked, but Node.js often feel "unwieldy" very quickly, while Rails often seems like way to much magic and rigidness.<p>I'm about to start working on a new project and wondering if it's worth trying something else. I have a lot of experience with Kotlin, so thought about ktor. I also keep hearing good things about Go.<p>So, what is your opinion? What would you use?
If you've done Node.js with TypeScript (or even JS), you may want to consider C# and .NET Web APIs. C# and TS are syntactically similar.<p>.NET minimal web APIs are very similar to Express in setup (at least initially; you layer in middleware as needed).<p>You can get an API up and running in Google Cloud pretty quickly.<p>Short video here: <a href="https://www.youtube.com/watch?v=GlnEm7JyvyY">https://www.youtube.com/watch?v=GlnEm7JyvyY</a> (< 7 minutes to get a minimal web API into Google Cloud Run with no special tooling involved).<p>Entity Framework (ORM) is pretty good and supports a variety of databases (SQL Server, Postgres, MySQL, others). Working with JSON is low-friction.
There is no "best" technology. I'd suggest going with the framework or language that you are most comfortable with. That could be node.js. It wouldn't be my first choice, but it could be the right one for you.<p>One word of advice, as I noticed you use the word "magic" when referring to rails. I did the same earlier in my career, turns out it was just that I didn't understand it well enough yet. That takes time, unfortunately! It's only after you spend hours or days tracking down a tricky bug that you begin to get into the internals of these systems and begin to understand the "magic".