Getting Started (or Trying To)
Fi.doorst, I dove into Soto. I had heard some good things, and it seemed like a solid, AWS-backed option. I started by pulling down the example project, you know, the one they recommend to get your feet wet. So far, so good.
I got the project, I opened it up in Xcode...and then, bam! Errors everywhere. Turns out, the dependencies were a bit of a mess. Something about the versions not quite lining up. After a few frustrating hours of fiddling with the `*` file, and trying to decipher cryptic error messages. Eventually, I got it to compile, Finally!
Soto: First Impressions
Once I got past the initial setup hurdles, Soto actually felt pretty good. It's very structured, and I could see how it would scale well for a big project. It's got a lot of built-in stuff for working with AWS services, which is cool if you're already in that ecosystem. The way you define routes and handlers is very, how do you say, Swift-y, and its use of async/await is pretty slick.

But, it did feel a bit...heavy. I'm a simple person and I like simple things. There's a lot going on under the hood, and I found myself wondering if I really needed all that power for my relatively simple API.
Switching Gears: Enter Wheeler
That's when I decided to give Wheeler a try. I had seen it mentioned in a few places, and the "lightweight" description definitely caught my eye. Setting up Wheeler was ridiculously easy. Seriously, it took, like, five minutes. There's minimal boilerplate, and you can get a basic "Hello, world!" server running almost instantly. It's almost the opposite of Soto!
Wheeler is super focused. It doesn't try to do everything. It handles routing and requests, and that's pretty much it. Which, honestly, is often all I need. It uses a simpler, closure-based approach for handling requests, which felt more familiar to me, coming from other web development stuff I've done.
The Verdict (for Now)
So, where did I land? Well, it depends.I love that it's made by a single person who just made it to be fun and help other developers.
If I was building a small, focused API:-
I'd probably reach for Wheeler. It's just so easy to get going, and it doesn't get in your way.
It's like comparing a sports car to a big, powerful truck. Both have their uses, but you wouldn't take the truck to a race track, and you wouldn't use the sports car to haul a ton of cargo.
This is just my experience, of course. Your mileage may vary. But I hope this little adventure of mine helps someone out there make a more informed decision. Happy coding!