Finished working on @tiborbodecs book about Server-Side Swift. It was a pleasant read. I haven’t really touched Vapor before and here’s my take.

What I liked about Vapor?
1. Simplicity. You could really fit a small webserver into one file if you need too. Great thing for beginners.
2. Nice low level APIs. Working with nio stuff was a breeze.
3. Libraries. Most goodies are there. I especially liked a library for working with APNS, I even want to drop Firebase now.
4. Compile time. Fraction of a second on my 2015 machine. You could iterate really fast.
5. Official Swift docker image. This, paired with Github actions, makes a deployment and ci/cd story in general a no-brainer.
What I didn’t like so far?

1. Slow start for fresh projects. Dependency checking and compiling could take up to several minutes.
2. Autocomplete feels a bit clunky, especially for requests. Explicit type annotations are often needed.
3. High level APIs naming feels inconsistent sometimes.
4. View layer. I would really prefer something bottom up, like SwiftUI or react, not top down.
5. There’s no simple way to develop in Playgrounds right now.
Overall it’s a great system and I’m really suprised how mature it is. I will definitely will keep an eye on it. The future is bright for Server-side Swift.
You can follow @rtsopin.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: